【计算机类职业资格】二级C语言笔试-241及答案解析.doc
《【计算机类职业资格】二级C语言笔试-241及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-241及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-241 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.有下列程序:# includestdio.hmain()int a=6,b=7,m=1;switch(a%2)case 0:m+;break;case 1:m+;switch(b%2)default:m+;case 0:m+;break;printf(“%d/n“,m);(分数:2.00)A.3B.2C.4D.12.若有以下程序:int a=1,b=2;a=ab:b=ba:则执行以上语句后 a和 b的值分别是( )。(分数:2.00)A.a=1,b=2B.a=3,b=
2、1C.a=3,b=2D.a=2,b=13.有以下程序:# include strintg.hmain()char p20=a,b,c,d),q=“abc“,r=“abcde“;strcpy(p+strlen(q),r);strcat(p,q);printf(“%d%d/n“ ,sizeof(p),strlen(p);程序运行后的输出结果是( )。(分数:2.00)A.20 9B.9 9C.20 11D.11 114.下面程序的运行结果是( )。# includestdio.hvoid del(char*s)int i,j;char*a:a=s;for(i=0,j=0;ai!=/0 ;i+)if
3、(ai=0ai=9)Sj=ai;j+;sj=/0;main()char*s=“aa89gggh“;de1(s);printf( “/n%s“ ,s);(分数:2.00)A.1B.2C.3D.45.下述程序用来输出两个字符串前 7个字符中对应相等的字符及其位置号,则程序空白上应该填写的是( )。# includestdio.hmain()char s1=“chinese“,s2=“japanese“;int i:for(i=0;s1i!=/0s2i!=/0;i+)if(s1i=s2ii7)_;(分数:2.00)A.putchar(s2i); putchar(i)B.puts(s1i,i)C.pr
4、intf(“%c%d/n“,s2i,i)D.printf(“%c“,s1i); printf(“%d/n“,i)6.执行语句 printf(“%u/n“,+12345)的输出结果是( )。(分数:2.00)A.12345B.0C.-1D.非定值7.若有“double a;”,则正确的输入语句是( )。(分数:2.00)A.scanf(“%1f“,a);B.scanf(“%f“,a);C.scanf(“%1f“,a);D.scanf(“1e“, -a);8.执行语句“for(i=1;i+4;);”后,变量 i的值是( )。(分数:2.00)A.3B.4C.5D.不定9.下列工具中为需求分析常用工
5、具的是( )。(分数:2.00)A.PADB.BFDC.N-SD.DFD10.对长度为 n的线性表进行顺序查找,在最坏情况下需要比较的次数为( )。(分数:2.00)A.125B.n/2C.nD.n+111.以下程序运行后,输出结果是( )。# includestdio.h# define PT 5.5#define S(x) PT*x*xmain()int a=1,b=2;printf(“%4.1f/n“,S(a+b);(分数:1.00)A.49.5B.9.5C.22.OD.45.012.下列程序的运行结果是( )。main()int x=1,y=3,a=0;while(x+!=(y-=1)
6、a+=1;if(yx) break;printf(“%d,%d,%d/n“,x,y,a);(分数:1.00)A.2,3,2B.2,3,1C.1,3,3D.3,1,213.有以下程序:# includestdio.hmain()int x=4,y;doy=x;if(!y)printf(“x“);elseprintf(“y“);x-:while(x);程序的输出结果是( )。(分数:1.00)A.xyyxB.yyyyC.yyxxD.yxyx14.设有定义:“int a;float b;”执行“scanf(“%2d%f“,a,b);”语句时,若从键盘输入876543.0回车,a 和 b的值分别是(
7、)。(分数:1.00)A.876和 543.000000B.87和 6.000000C.87和 543.000000D.76和 543.00000015.设有如下关系表:则下列操作中正确的是( )。(分数:1.00)A.T=RSB.T=RSC.T=RSD.T=R/S16.当执行以下程序段时( )。x=-1;dox=x*x;while(!x);(分数:1.00)A.循环体将执行一次B.循环体将执行两次C.循环体将执行无限次D.系统将提示有语法错误17.若有下列定义,则对 a数组元素地址的正确引用是( )。int a5,*p=a;(分数:1.00)A.p+5B.*a+1C.-a+1D.a018.下
8、列选项不符合良好程序设计风格的是( )。(分数:1.00)A.源程序要文档化B.数据说明的次序要规范化C.避免滥用 goto语句D.模块设计原则是高耦合、高内聚19.在下列语句中,其含义为“q 是一个函数指针,该指针指向整型数据”的定义语句是( )。(分数:1.00)A.int*q;B.int(*q)();C.int*q;D.int*q();20.有以下程序:void sort(int a,int n)int i,j,t;for(i=0;in-1;i+)for(j=i+1;jn;j+)if(aiaj)t=ai;ai=aj;aj=t;)main()int aa10=1,2,3,4,5,6,7,8
9、,9,10,1;sort(aa+2,5);for(i=0;i10;i+) printf(“% d,“ ,aai);printf(“/n“);程序运行后的输出结果是( )。(分数:1.00)A.1,2,3,4,5,6,7,8,9,10B.1,2,7,6,3,4,5,8,9,10C.1,2,7,6,5,4,3,8,9,10D.1,2,9,8,7,6,5,4,3,1021.有以下程序,其中函数 f的功能是将多个字符串按字典顺序排序( )。# includestring.hvoid f(char*p,int n)char*t;int i,j;for(i=0;in-1;i+)for(j=i+1;jn;j
10、+)if(strcmp(pi,pj0)t=pi;pi=pj;pj=t;)main()char *p5=“abc“ ,“aabdfg“ ,“abbd“, “dcdbe“, “cd“);f(p,5);printf(“%d/n“,strlen(p1);程序运行后的输出结果是( )。(分数:2.00)_22.交换两个变量的值,不允许用临时变量,应该使用下列( )位运算符。(分数:2.00)A.B.-C.|D.23.若变量 a.b.x.i都已正确定义并赋值,则以下符合 C语言语法的表达式是( )。(分数:2.00)A.a+=a-=(b=4)*(a=3)B.x%(-3);C.a=a*3=2D.y=floa
11、t(i)24.下列特征中不是面向对象方法的主要特征的是( )。(分数:2.00)A.多态性B.继承C.封装性D.模块化25.有以下程序:# includestdio.hmain()int i=0,a=0;while(i20)for(;)if i%10)=0) break;elsei-:i+=11:a+=i;printf(“%d/n“ ,a);程序的输出结果是( )。(分数:2.00)A.62B.63C.33D.3226.下列叙述中不正确的是( )。(分数:2.00)A.在 C语言中调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B.在 C的函数中,最好使用全局变量C.外部变量可以在
12、函数之间传递数据D.自动变量实质上是一个函数内部的局部变量27.下列程序的输出结果是( )。char*point(char*pt);main()char b4=a,c,s,f),*pt=b;pt=point(pt);printf(“%c/n“,*pt);point(char*p)p+=3;return p;(分数:2.00)A.sB.cC.fD.a28.当输入为”hello?”时,下面程序的执行结果是( )。# includestdio.hmain()char c;c=getchar();while(c!=?)putchar(c);break;(分数:2.00)A.RvfsuB.hC.?D.h
13、ello29.设计软件结构是软件生命周期的( )。(分数:2.00)A.软件定义期B.软件开发期C.软件维护期D.以上 3个都不是30.下列关于栈的描述中错误的是( )。(分数:2.00)A.栈是先进先出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入删除操作中,不需要改变栈底指针31.有下列程序:main()int x=5;do(printf(“%d“,x-=4);while(!(-x);程序的输出结果是( )。(分数:2.00)A.1B.2 0C.1-4D.死循环32.定义下列结构体(联合)数组:struct stchar name15;int age;a10=“ZHAO“ ,1
14、4,“WANG“ ,15,“LIU“ ,16, “ZHANG“ ,17);执行语句 printf(”%d,%c”,a2.age,*(a3.name+2)的输出结果为( )。(分数:2.00)A.15,AB.16,HC.16,AD.17,H33.利用 fseek函数可实现的操作是( )。(分数:2.00)A.实现文件的顺序读写B.改变文件的位置指针C.实现文件的随机读写D.以上答案均正确34.下列叙述中错误的是( )。(分数:2.00)A.一种数据的逻辑结构可以有多种存储结构B.数据的存储结构与数据的处理效率无关C.数据的存储结构与数据的处理效率密切相关D.数据的存储结构在计算机中所占的空间不一
15、定是连续的35.有以下程序:main()int k=s;while(-k)printf(“%d“,k-=3);printf(“/n“);执行后的输出结果是( )。(分数:2.00)A.1B.2C.4D.死循环36.若输入“abcdef”“abdef”,下述程序的输出结果为( )。# includestdio.h# includestring.hmain()int n;char s120 ,s220,*p1,*p2;scanf(“%s“ ,s1);scanf(“%s“ ,s2);p1=s1;p2=s2;n=strcmp(p1,p2);printf(”%d/n“ ,n);(分数:2.00)A.-1
16、B.0C.“abcdef“D.“abdef“37.以下程序输出结果是( )。main()int m=5;if(m+5)printf(“%d/n“,m);else printf(“%d/n“ ,m-);(分数:2.00)A.7B.6C.5D.438.若有定义:“int*p,x=0,*p,p=x;”,则语句“printf(“%d/n“,*p);”的输出结果是( )。(分数:2.00)A.随机值B.0C.x的地址D.p的地址39.若有定义语句:“char s10=“1234567/0/0“;”,则 strlen(s)的值是( )。(分数:2.00)A.7B.8C.9D.1040.下列选项中不会引起二
17、义性的宏定义是( )。(分数:2.00)A.#define S(x) x*xB.#define S(x) (x)*(x)C.#define S(x) (x*x)D.#define S(x) (x)*(x)二、填空题(总题数:14,分数:30.00)41.树中度为零的结点称为 1。(分数:2.00)填空项 1:_42.在面向对象方法,类之间共享属性和方法的机制称为 1。(分数:2.00)填空项 1:_43.软件是程序、数据和 1 的集合。(分数:2.00)填空项 1:_44.若 x和 a均是 int型变量,则计算 x=(a=4,6*2)后的 x值为 1。(分数:2.00)填空项 1:_45.下列
18、程序段是从键盘输入的字符中统计小写字母的个数,用换行符结束循环。请填空。int n=0,c;c=getchar();while(c!=/n)if(_)n+:(分数:2.00)填空项 1:_46.下列程序的输出结果是_。main()int i=0,a=0;while(120)for(;)if(i%10)=0)break;else i-;i+=11;a+=i;printf(“%d/n“ ,a);(分数:2.00)填空项 1:_47.下列程序的运行结果是_。# includestdio.hlong func(int x)long p;if(x=0|x=1)return(1);p=x*func(x-1
19、);return(p);main()printf(“%d/n“,func(4);(分数:2.00)填空项 1:_48.设有下列程序:# includestdio.h# includestring.hmain()int i;char s10,t10;gets(t);for(i=0;i2;i+)gets(s);if(strcmp(t,s)0) strcpy(t,s);printf(“%s/n“ ,t);程序运行后,从键盘上输入CR代表回车符):DEFCRBADEFMCRQTHKGCR则程序运行后的结果是_。(分数:2.00)填空项 1:_49.数据库保护分为安全性控制、 1、并发性控制和数据的恢复
20、。(分数:2.00)填空项 1:_50.下列程序的输出结果是_。# includestring.hmain()char b30,*chp;strcpy(b0,“CH“);strcpy(b1,“DEF“);strcpy(b2,“ABC“);printf(“%s/n“,b);(分数:2.00)填空项 1:_51.有以下程序,若运时从键盘输入:18 ,11回车,则程序的输出结果是_。main()int a,b;printf(“Enter a,b:”);scanf(“%d,%d“,a, b);while(a!=b)while(ab)a-=b;while(ba)b-=a;printf(“%3d%3d/n
21、“ ,a,b);(分数:2.00)填空项 1:_52.在使用 putchar和 getchar函数处理字符时,必须在程序的开头出现包含头文件的命令行是 1。(分数:2.00)填空项 1:_53.下列程序的运行结果是_。# includestdio.hmain()int k=4,m=3,p;p=func(k,m);printf(“%d“,p);p=func(k,m);printf(“%/n“,p);int fun c(a,b)static int m=0 ,1=2;i+=m+1;m=i+a+b;return(m);(分数:2.00)填空项 1:_函数 f(x)=x2+1,通函数 f(x)的累加求
22、 f(0)+f(1)+f(2)+f(10);main()printf(“The sum=d/n“,SumFun(10);SumFun(int n)int x,s=0;for(x=0;x=n,x+)s+=f(_);return s:f(int x)return_;(分数:4.00)填空项 1:_填空项 1:_二级 C语言笔试-241 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.有下列程序:# includestdio.hmain()int a=6,b=7,m=1;switch(a%2)case 0:m+;break;case 1:m+;sw
23、itch(b%2)default:m+;case 0:m+;break;printf(“%d/n“,m);(分数:2.00)A.3B.2 C.4D.1解析:解析 本题考查 switch语句及 break的用法。第一个 switch语句,因为 a=6,a%2=0,所以执行“case 0,m+;”将 m加 1,遇到 break语句跳出 switch语句,结束循环。不执行下面的 switch。2.若有以下程序:int a=1,b=2;a=ab:b=ba:则执行以上语句后 a和 b的值分别是( )。(分数:2.00)A.a=1,b=2B.a=3,b=1 C.a=3,b=2D.a=2,b=1解析:解析
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 241 答案 解析 DOC
