【计算机类职业资格】二级C语言模拟654及答案解析.doc
《【计算机类职业资格】二级C语言模拟654及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言模拟654及答案解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言模拟 654及答案解析(总分:145.00,做题时间:90 分钟)一、选择题(总题数:40,分数:57.00)1.以下选项中,与 k=n+完全等价的表达式是_。(分数:1.00)A.k=n, n=n+1B.n=n+1, k=nC.k=+nD.k+=n+12.关于 Do循环体 while(条件表达式); 以下叙述中正确的是_。(分数:2.00)A.条件表达式的执行次数总是比循环体的执行次数多一次B.循环体的执行次数总是比条件表达式的执行次数多一次C.条件表达式的执行次数与循环体的执行次数一样D.条件表达式的执行次数与循环体的执行次数无关3.VC 6.0中 int类型变量所占字节数是_
2、。(分数:1.00)A.1B.2C.3D.44.现有格式化输入语句,scanf(“x=%d,sumy=%d, linez=%dL“, x, y, z);,已知在输入数据后,x,y,z 的值分别是 23,56,78,则下列选项中正确地输入格式的是 注 “表示空格,Enter表示回车(分数:1.00)A.23, 56, 78EnterB.x=23, y=56, z=78EnterC.x=23C, sumy=56, z=78EnterD.x=23, sumy=56, linez=78Enter5.有以下程序: #includestdio.h main() char ch=“uvwxyz“,*pc;
3、pc=ch; printf(“%c/n“,*(pc+5); 程序运行后的输出结果是_。(分数:1.00)AzB.0C.元素 ch5的地址D.字符 y的地址6.有以下程序: #include stdio.h main() char a 44=“; int i,j; for(i=0;i4; i+) ai0=ai3=“#“; for(j=1; j3; j+) a0j=a 3j=“#“; if(i!=0) for(i=1;i3;i+) for(j=0; j4;j+) printf(“%2c“ ,aij); printf(“/n“); 程序的运行结果是_。(分数:1.00)A.#o o#o o#B.#
4、# # # o o #C.# o o # # # #D.# # # # # # #7.有以下程序段 #includestdio.h int j; float y; char name50; scanf(“%2d%f%s“, 当执行上述程序段,从键盘上输入 55566 7777123后,y 的值为_。(分数:1.00)A.566.0B.55566.0C.7777.0D.566777.08.下列选项中不是 C语句的是_。(分数:2.50)A. int i; i+; printf(“%d/n“, i); B.;C.a=5,c=10D.;9.构成计算机软件的是_。(分数:1.00)A.源代码B.程序和
5、数据C.程序和文档D.程序、数据及相关文档10.以下叙述中正确的是_。(分数:1.00)A.在 scanf函数中的格式控制字符串是为了输入数据用的,不会输出到屏幕上B.在使用 scanf函数输入整数或实数时,输入数据之间只能用空格来分隔C.在 printf函数中,各个输出项只能是变量D.使用 printf函数无法输出百分号%11.有以下程序: #include stdio.h main( ) int a=3; a+=a-=a*a; printf(“%d/n“,a); 程序的输出结果是_。(分数:1.00)A.0B.9C.3D.-1212.以下关于字符串处理的叙述正确的是_。(分数:1.00)A
6、.进行字符串复制时,目的串的存储空间必须足够大B.两个字符串进行比较时,短的一个必定比长的一个小C.计算一个字符串的长度时,应包含串尾的结束标志D.两个字符串连接时,对存储空间的大小没有要求13.以下说法正确的是_。(分数:1.00)A.C程序是从第一个定义的函数开始执行的B.在 C程序中,要调用的函数必须在 main()函数中定义C.C程序是从 main()函数开始执行D.C程序中的 main()函数必须放在程序的开始部分14.已知大写字母 A的 ASCII码是 65,小写字母 a的 ASCII码是 97。以下不能将变量 c中的大写字母转换为对应小写字母的语句是_。(分数:2.50)A.c=
7、(“A“+c)%26-“a“B.c=c+32C.c=c-“A“+“a“D.c=(c-“A“)%26+“a“15.有以下程序 #include stdio.h main() int i,s=0,t=1,2,3,4,5,6,7,8,9; for(i=0;i9;i+=2) s+=*(t+i); printf(“%d/n“,s); 程序执行后的输出结果是_。(分数:1.00)A.25B.20C.45D.3616.以下选项中关于程序模块化的叙述错误的是_。(分数:1.00)A.把程序分成若干相对独立的模块,可便于编码和调试B.把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块C.可采用自低向
8、上、逐步细化的设计方法把若干独立模块组装成所要求的程序D.可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序17.有以下程序: #includestdio.h main() unsigned char a=2, b=4, c=5, d; d=a | b;d printf(“%d/n“,d); 程序运行后的输出结果是_。(分数:1.00)A.3B.4C.5D.618.某二叉树共有 12个节点,其中叶子节点只有 1个,则该二叉树的深度为(根节点在第 l层)_。(分数:1.00)A.3B.6C.8D.1219.关系数据库规范化主要为克服数据库逻辑结构中的插入异常、删除异常以及_。(分
9、数:1.00)A.数据丢失的问题B.结构不合理的问题C.数据不一致的问题D.冗余度大的问题20.有以下程序: #includestdio.h #includestdlib.h int fun(int n) int *p; p=(int *)malloc(sizeof(int); *p=n; return *p; main() int a; a=fun(10); printf(“%d/n“, a+fun(10); 程序的运行结果是_。(分数:1.00)A.10B.20C.0D.出错21.以下叙述中错误的是_。(分数:2.00)A.gets函数用于从终端读入字符串B.getchar函数用于从磁盘文
10、件读入字符C.fputs函数用于把字符串输出到文件D.fwrite函数用于以二进制形式输出数据到文件22.已知函数的调用形式:fread(buffer,size,count,fp);,其中 buffer代表的是_。(分数:2.00)A.一个整型变量,代表要读入的数据项总数B.一个文件指针,指向要读的文件C.一个指针,是指向的输入数据放在内存中的起始位置D.一个存储区,存放要读的数据项23.有两个关系 R和 T如下: R A B C a 1 2 b 4 4 c 2 3 d 3 2 T A C a 2 b 4 c 3 d 2 则由关系 R得到关系 T的操作是_。(分数:1.00)A.选择B交C.投
11、影D并24.若有以下程序段,w 和 k都是整型变量: w=k; LB:if(w=0)go to LE; w-; printf(“*“) goto LB; LE; (分数:2.50)A.for(w=k; w!=0; w-)printf(“*“);B.for(w=k; w; -w)printf(“*“);C.w=k;while(w-!=0)printf(“*“);D.w=k;w+; dow-; printf(“*“); while(w!=0);25.以下定义数组的语句中错误的是_。(分数:2.00)A.int num=1, 2, 3, 4, 5, 6;B.int num3=1, 2, 3, 4,
12、5, 6;C.int num24=1, 2, 3, 4, 5, 6;D.int num4=1, 2, 3, 4, 5, 6;26.有以下程序 #includestdio.h int fun(int x, int y) if(x!=y)return(x+y)/2); else return(x); main() int a=4, b=5, c=6; printf(“%d/n“, fun(2*a, fun(b, c); 程序运行后的输出结果是_。(分数:2.00)A.6B.3C.8D.1227.下列语句组中,正确的是_。(分数:1.00)A.char*s;s=“Olympic“;B.char s7
13、;s=“Olympic“;C.char*s;s=“Olympic“;D.char s7;s=“Olympic“;28.以下所列对结构类型变量 tdl的声明中错误的是_。(分数:3.00)A.typedef struct aaint n;float m;AA;B.#define AA struct aaAAint n;float m;)tdl;AAtdl;C.structint n; float m;)aa;D.structint n;float m;tdl;struct aa tdl;29.以下程序运行后的输出结果是_。 #includestdjo.h void reverse(int a,i
14、nt n) int i,t; for(i=0;in/2;i+) t=ai;ai=an-1-i;an-1-i=t; mam() int b10=10,9,8,7,6,5,4,3,2,1);int i,s=0; reverse(b,10); for(i=0;i3;i+) s+=bi; printf(“%d/n“,s); (分数:2.50)A.27B.6C.25D.3030.下列选项中,由 C语言提供的合法关键字的是_。(分数:1.00)A.swicthB.cherC.defaultD.Case31.有以下程序段: int x; for(x=3; x6; x+) printf(x%2)?(“*%d“
15、): (“#%d/n“), x); 程序段的输出结果是(分数:2.00)A.*3#4*5B.#3*4#5C.#3*4#5.D.*3#4*532.以下 fun函数返回数组中最大值的下标: #includestdio.h int fun(int*s,int n) int i,k; for(i=0,k=i;in;i+) if(sisk)_; return(k); 在横线处应填入的内容是_。(分数:1.00)A.+kB.i=kC.k+D.k=i33.有以下程序: #includestdio.h struct tt int x;struct tt *y; s3=1,0,2,0,3,0; main() s
16、truct tt *p=s+1; p-y=s; printf(“%d,“,p-x); p=p-y; printf(“%d/n“,p-x); 程序运行后的输出结果是_。(分数:1.00)A.2,3B.2,1C.1,2D.3,134.若有定义语句: int b=2; 则表达式(b2)/(3 | b)的值是_。(分数:1.00)A.0B.2C.4D.835.有以下程序: #includestdio.h main() int i=3, j=5, *p= r= printf(“%d, %d, %d, %d, %d/n“, i, j, *p, *q, *r); 执行后的输出结果是_。(分数:1.00)A.
17、3,5,3,5,5B.5,3,5,3,5C.3,5,3,5,3D.3,5,3,3,536.数据库技术的根本目标是要解决数据的_。(分数:1.00)A.存储问题B.共享问题C.安全问题D.保护问题37.有以下程序: matin() char * s=“one“, “two“, “three“, *p; p=s1; printf(“% c, % s/n“, *(p+1),so); 执行后的输出结果是_。(分数:2.00)A.n, twoB.t, oneC.w, oneD.o, two38.下列关于 C语言数据文件的叙述中正确的是_。(分数:2.00)A.文件由 ASCII码字符序列组成,C 语言只
18、能读写文本文件B.文件由二进制数据序列组成,C 语言只能读写二进制文件C.文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件39.已知某程序中有声明“int a4,j;”及语句“for(j=0;jA.int p4;B.int*p4;C.int*p4;D.int(*p)4;40.有以下程序: #includestdio.h main() int a=1,b=2,c=3; char flag; flag=b=2 switch(a) case 1:switch(flag) case 0: printf(“*“);brea
19、k; case 1: printf(“%“);break; case 0: switch(c) case 1: printf(“$“);break; case 2: printf(“break; default: printf(“#“); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.*$B.%#C.% char c; n=0; for(i=0;si!=“/0“;i+) n+; if(n%2=0) k=n- 1; else k=n- 2; c=sk; for(i=k-2;i=1;i=i-2) si+2=si; s1= 3; void main() char s80
20、=“abcdefgh“; printf(“/nThe original string is:%s/n“,s); fun (s); printf(“/nThe result is:%s/n“,s); (分数:30.00)三、程序修改题(总题数:1,分数:18.00)42.下列给定程序中函数 fun的功能是:将 m(1m10)个字符串连接起来,组成一个新串,放入 pt所指存储区中。例如:把三个串“abe”、“CD”、“EF”连接起来,结果是“abcCDEF”。请改正程序中的错误,使它能得出正确的结果。 注意: 不要改动 main函数,不得增行或删行,也不得更改程序的结构! 试题源程序 #inclu
21、destdio.h #includestring.h void fun(char str10,int m,char*pt) /*found*/ Int k,q,i; for(k=0;km;k+) q=strlen(strk); for(i=0;iq;i+) /*found*/ pti=strk,i; pt+=q; pt0=0; main() int m,h; char s1010,p120; printf(“Please enter m:“); scanf(“%d“,gets(s0); printf(“Please enter%d string:“,m); for(h=0;hm;h+)gets
22、(sh); fun(s,m,p); printf(“The result is:%s“,p); (分数:18.00)_四、程序设计题(总题数:1,分数:40.00)43.假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:除了字符串前导的*号之外,将串中其它*号全部删除。在编写函数时,不得使用 C语言提供的字符串函数。函数 fun中给出的语句仅供参考。 例如,字符串中的内容为:*A*BC*DEF*G*,删除后字符串中的内容应当是:*ABCDEFG。 注意:部分源程序在文件 PROG1. C文件中。 请勿改动主函数 main和其它函数中的任何内容,仅在函数 fun的花括号中填入你
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 模拟 654 答案 解析 DOC
