【计算机类职业资格】二级C语言笔试-353及答案解析.doc
《【计算机类职业资格】二级C语言笔试-353及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-353及答案解析.doc(37页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-353 及答案解析(总分:115.00,做题时间:90 分钟)一、选择题(总题数:50,分数:70.00)1.有以下字符串,说明表达式 strlen(s)值的是( )。char s10=a,/n,a,b,/t,c;A) 10 B) 1 C) 6 D) 7(分数:2.00)A.B.C.D.2.以下选项中可作为 C语言合法常量的是( )。A) -80 B) -080 C) -8e1.0 D) -80.0e(分数:1.00)A.B.C.D.3.C语言中 ( )A) 不能使用 do-while语句构成的循环B) do-while语句构成的循环必须用 break语句才能退出C) do-
2、while语句构成的循环,当 while语句中的表达式值为非零时结束循环D) do-while语句构成的循环,当 while语句中的表达式值为零时结束循环(分数:1.00)A.B.C.D.4.有以下程序void change(int k)k0=k5;main()int x10=1,2,3,4,5,6,7,8,9,10,n=0;while(n=4)change( n;for(n=0;n5;n) printf(“%d“,xn);printf(“/n“);程序运行后输出的结果是_。A) 678910 B) 13579 C) 12345 D) 62345(分数:1.00)A.B.C.D.5.下列 4个
3、关于 C语言的结论中错误的是( )。A) 可以用 dowhile语句实现的循环一定可以用 while语句实现B) 可以用 for语句实现的循环一定可以用 while语句实现C) 可以用 while语句实现的循环一定可以用 for语句实现D) dowhile语句与 while语句的区别仅是关键字“while”出现的位置不同(分数:1.00)A.B.C.D.6.以下叙述正确的是_。A) 可以把 define和 if定义为用户标识符B) 可以把 define定义为用户标识符,但不能把 if定义为用户标识符C) 可以把 if定义为用户标识符,但不能把 define定义为用户标识符D) define和
4、if都不能定义为用户标识符(分数:2.00)A.B.C.D.7.有如下程序#includeint func(int a,int b)return(a+b);void main()int x=2,y=5,z=8,r;r=func(func(x,y),z);coutr;该程序的输出的结果是A) 12B) 13C) 14D) 15(分数:2.00)A.B.C.D.8.有以下程序int fun(int x,int n)static int sum=0,i;for(i=0;iN;i+)NBSP;NBSP;SUM+=XI;return sum;main()int a=1,2,3,4,5,b=6,7,8,9
5、,s=0;s=fun(a,5)+fun(b,4);printf(“%d/n“,s);程序执行后的输出结果是_。(A) 45(B) 50(C) 60(D) 55(分数:2.00)A.B.C.D.9.有如下程序:#include stdio.hmain() int n=9; while(n6) n-; printf(“%d“,n); 该程序的输出结果是( )。A) 987 B) 876 C) 8765 D) 9876(分数:1.00)A.B.C.D.10.若变量已正确说明为 float型,要通过语句 scanf(“%f%f%f“,k=N(M(a,b),c);printf(“%d/n“,k);A)3
6、 B)5 C)6 D)8(分数:2.00)A.B.C.D.15.有以下程序main()int c=35; printf(“%d/n“,cwhile (k0)switch (k)default : break;case 1 : n+=k;case 2 :case 3 : n+=k;k-;printf (“%d/n“,n);程序运行后的输出结果是A) 0 B) 4 C) 6 D) 7(分数:1.00)A.B.C.D.19.有以下程序段:main()int a=5, *b, *c;c= b=程序在执行了 c= b= 语句后,表达式*c 的值是_。A) 变量 a的地址 B) 变量 b中的值 C) 变量
7、 a中的值 D) 变量 b的地址(分数:2.00)A.B.C.D.20.有以下程序:main()int a=1,b=2,m=0,n=0,k;k=(n=ba)|(m=ab);printf(“%d,%d/n“,k,m);程序运行后的输出结果是( )。A) 0,0 B) 0,1 C) 1,0 D) 1,1(分数:1.00)A.B.C.D.21.在 C程序中,可将整型数以二进制形式存放到文件中的函数是_。Afprint 函数 Bfread 函数 Cfwrite 函数 Dfputc 函数(分数:2.00)A.B.C.D.22.完整的计算机存储器应包括_。A) 软盘、硬盘 B) 磁盘、磁带、光盘C) 内存
8、储器、外存储器 D) RAM、ROM(分数:2.00)A.B.C.D.23.下列不属于软件工程 3个要素的是( )。 A) 工具 B) 过程 C) 方法 D) 环境(分数:2.00)A.B.C.D.24.下列叙述中正确的是_。A) 有一个以上根结点的数据结构不一定是非线性结构B) 只有一个根结点的数据结构不一定是线性结构C) 循环链表是非线性结构D) 双向链表是非线性结构(分数:2.00)A.B.C.D.25.下列叙述中正确的是( )。A一个逻辑数据结构只能有一种存储结构B逻辑结构属于线性结构,存储结构属于非线性结构C一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D一个
9、逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率(分数:1.00)A.B.C.D.26.若已定义 x和 y为 double类型,则表达式 x=1,y=x+3/2的值是_。A) 1 B) 2 C) 2.0 D) 2.5(分数:1.00)A.B.C.D.27.有以下程序:main()int a=0,b=0,C=0,d=0;if(a=1)b=1;c=2;else d=3;printf(“%d,%d,%d,%d/n“,a,b,c,d);程序输出_。A) 0,1,2,0 B) 0,0,0,3 C) 1,1,2,0 D) 编译有错(分数:2.00)A.B.C.D.28.下列选项中,不能用做
10、标识符的是_。A) _1234_ B) _1_2 C) int_2_ D) 2_int_(分数:1.00)A.B.C.D.29.有以下程序段:int j;float y;char name50;scanf(“%2d%f%s“,当执行上述程序段,从键盘上输入 55566 7777abc后,y 的值为A) 55566.0 B) 566.O C) 7777.O D) 566777.0(分数:1.00)A.B.C.D.30.C语言中用于结构化程序设计的三种基本结构是A) 顺序结构、选择结构、循环结构 B) if,switch、breakC) for、while、do-while D) if,for、c
11、ontinue(分数:1.00)A.B.C.D.31.有如下函数调用语句:func(rec1, rec2+rec3, (rec4, rec5);该函数调用语句中,含有的实参个数是_。A) 3 B) 4 C) 5 D) 有语法错(分数:2.00)A.B.C.D.32.以下有 4组用户标识符,其中合法的一组是( )。A) for -sub case B) 4dDOSizeC) f2_G3IFabcD) WORDvoiddefine(分数:1.00)A.B.C.D.33.有以下程序:int add(int a,int b)return(a+b);main()int k,(*f)(),a=5,b=10
12、;f=add;则以下函数调用语句错误的是_。A) k=(*f)(a,b); B) k=add(a,b); C) k=*f(a,b); D) k=f(a,b);(分数:2.00)A.B.C.D.34.若已包括头文件string.h且已有定义 char s118,s2=“ABCDE“和 int i,现要将字符串 “ABCDE“赋给 s1,下列语句错误的是( )A) strcpy(s1,s2)B) strcpy(s1,“ABCDE“);C) s1=“ABCDE“;D) for(i=0;i6;i+)s1i=s2i;(分数:1.00)A.B.C.D.35.以下数据结构中不属于线性数据结构的是( )。A)
13、 队列 B) 线性表 C) 二叉树 D) 栈(分数:1.00)A.B.C.D.36.以下程序运行后的输出结果是#includestdio.hint f(int t, int n);main()int a4=1, 2, 3, 4, s;s=f(a, 4); printf(“%d/n“, s);int f(int t, int n)if(n0) return tn-1+f(t, n-1);else return 0;A) 4 B) 10 C) 14 D) 6(分数:2.00)A.B.C.D.37.以下关于 long、int 和 short类型数据占用内存大小的叙述中正确的是( )。A) 均占 4个
14、字节 B) 根据数据的大小来决定所占内存的字节数C) 由用户自己定义 D) 由 C语言编译系统决定(分数:1.00)A.B.C.D.38.有下列程序:fun(int x, int y) return (x+y);main()int a =1,b=2,c=3,sum; sum=fun(a+,b+,a+b),c+);printf(“%d/n“, sum);执行后的输出结果是( )。A) 6 B) 7C) 8 D) 9(分数:2.00)A.B.C.D.39.若有如下程序:int sub()static int n1;int x=1;x*=n;n+;return x; main()int n,t1;f
15、or(n1;n6;n+)t*sub();printf(“%d/n“,t); 则程序运行后的输出结果是 ( )A) 15 B) 120 C) 34560 D) -30976(分数:1.00)A.B.C.D.40.若 a是数值类型,则逻辑表达式(a=1)|(a!=1)的值是A) 0 B) 1 C) 2 D) 不知道 a的值,不能确定(分数:1.00)A.B.C.D.41.有以下程序#includestdio.hmain()FILE*fp;int i,k=0,n=0;fp=fopen(“d1.dat“,“w“);for(i=1;14;i+) fprintf(fp,“%d“,i);fclose(fp)
16、;fp=fopen(“d1.dat“,“r“);fscanf(fp,“%d%d“,则以下选项中,正确的赋值语句是A) p=1; B) *q=2; C) q=p; D) *p=5;(分数:1.00)A.B.C.D.45.sizeof(char)是( )。 A) 一种函数调用 B) 一个整型表达式 C) 一个字符型表达式 D) 一个不合法的表达式(分数:1.00)A.B.C.D.46.已有定义:char a=“xyz“,b=x,y,z);,以下叙述中正确的是A) 数组 a和 b的长度相同 B) n 数组长度小于 b数组长度C) a数组长度大于 b数组长度 D) 以述说法都不对(分数:1.00)A.
17、B.C.D.47.在 C+语言中,不合法的实型数据的是A) 0.123B) 123e3C) 2.1e3.5D) 123.0(分数:2.00)A.B.C.D.48.若有以下定义和语句:char s10=“abcd!“,*s2=“/n123/“;printf(“%d%d/n“,strlen(s1),strlen(s2);则输出结果是( )。A) 5 5 B) 10 5 C) 10 7 D) 5 8(分数:1.00)A.B.C.D.49.有以下程序:#includestdio.hint f(int n):main()int a=3,s;s=f(a);s=s+f(a);printf(“%d/n“,s)
18、;mt f(int n)static int a=1;n+=a+;return n;程序运行后的输出结果是( )。A) 7 B) 8 C) 9 D) 10(分数:1.00)A.B.C.D.50.若有定义:int x=0,*p=x;,则语句 printf(“%d/n“,*p);的输出结果是_。A) 随机值 B) 0 C) x 的地址 D) p 的地址(分数:2.00)A.B.C.D.二、填空题(总题数:20,分数:45.00)51.以下程序的运行结果是_。#include stdio.hmain()FILE *fp; int a10=1,2,3,0,0,i;fp=fopen(“d2.dat“,“
19、wb“);fwrite(a,sizeof(int),5,fp);fwrite(a,sizeof(int),5,fp);fclose(fp);fp=fopen(“d2.dat“,“rb“);fread(a,sizeof(int),10,fp);fclose(fp);for(i=0;i10;i+)printf(“%d“,ai);(分数:4.00)填空项 1:_52.以下程序的输出结果是_。#include string.hmain()printf“%d/n“, strlen(“IBM/n012/1/“);(分数:2.00)填空项 1:_53.在面向对象方法中,类之间共享属性和操作的机制称为 1。(
20、分数:2.00)填空项 1:_54.以下程序的输出是_。main()char str1=How do you do“,*p=strl;strcpy(str1+strlen(str1)/2“es she“);pfinff(“%s/n“,p1);(分数:2.00)填空项 1:_55.软件的可移植性是用来衡量软件 1 的重要尺度之一。(分数:4.00)填空项 1:_56.若有以下程序main()char a;a=H-A+0;printf(“%c/n“,a);执行后输出的结果是_。(分数:3.00)填空项 1:_57.下列程序的运行结果是_。#includestdio.hvoid main()int
21、s=0,k;for(k=7;k4;k-)switch(k)case 1:case 4:case 7:s+;break;case 2:case 3:case 6:break;case 0:case 5:s+=2;break;printf(“s=d“ ,s);(分数:1.00)填空项 1:_58.以下程序运行后的输出结果是_。main()int i,m=0,n=0,k=0;for(i=9;i=11;i+)switch (i/10)case 0:m+;n+;break;case 1:n+;break;default:k+;n+;printf(“%d %d %d/n“,m,n,k);(分数:1.00)
22、填空项 1:_59.下列程序的输出结果是_。#includestdio.hfun()static int a0;a+3;printf(“%d“,a) ;main()int cc;for(CC1;cc5;CC+)fun();printf(“/n);(分数:2.00)填空项 1:_60.下列程序的运行结果是_。main()int x=1,y=2,z=3;printf(“%d,“,xy?y:x);primf(“%d,“,zy?x+:y+);primf(“%d,%d“,x,y);(分数:2.00)填空项 1:_61.一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的 1。(分数
23、:1.00)填空项 1:_62.下列的 for语句的循环次数为_。for(x=1,y=0;(y!=19)x+);(分数:2.00)填空项 1:_63.以下程序运行后的输出结果是_。main()int a=1,b=2,c=3;if(c=a)printf(“%d/n“,c);else printf(“%d/n“,b);(分数:2.00)填空项 1:_64.一个模块直接调用的其他模块的模块个数称为 1。(分数:2.00)填空项 1:_65.以下程序的输出结果是_。#include stdio.h#include string.hchar* fun( char *t)char *p=t;return(
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 353 答案 解析 DOC
