【计算机类职业资格】二级C语言模拟652及答案解析.doc
《【计算机类职业资格】二级C语言模拟652及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言模拟652及答案解析.doc(21页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言模拟 652 及答案解析(总分:136.00,做题时间:90 分钟)一、选择题(总题数:40,分数:58.00)1.设变量 x 为 long int 型并已正确赋值,以下表达式中能将 x 的百位上的数字提取出的是_。(分数:1.00)A.x/10%100B.x%10/100C.x%100/10D.x/100%102.有以下程序: #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.63.有以下程序: #
2、includestdio.h main() struct STU char name9; char sex; double score2; ; struct STU a=“Zhao“,“m“,85.0,90.0,b=“Qian“,“f“,95.0,92.0; b=a; printf(“%s,%c,%2.0f,%2.0f/n“,b.name,b.sex,b.score0,b.score1); 程序的运行结果是_。(分数:2.00)A.Qian,m,85,90B.Zhao,m,85,90C.Zhao,f,95,92D.Qian,f,95,924.有以下程序: #includestdio.h mai
3、n() int i=0,a=0; while(i20) for(;) if(i%10)=0)break; else i-; i+=11;a+=i; pfintf(“%d/n“,a); 程序的输出结果是_。(分数:2.50)A.62B.63C.33D.325.有以下程序: # include stdio.h main() int b33=0,1,2,0,1,2,0,1,2,i,j,t=1; for(i=0;i3;i+) for(j=1;j=i;j+)t+=bibji; printf(“%d/n“,t); 程序运行后的输出结果是_。(分数:1.00)A.1B.3C.4D.06.以下关于 C 语言的
4、叙述中正确的是_。(分数:1.00)A.C 语言的数值常量中夹带空格不影响常量值的正确表示B.C 语言中的变量可以在使用之前的任何位置进行定义C.在 C 语言算术表达式的书写中、运算符两侧的运算数类型必须一致D.C 语言中的注释不可以夹在变量名或关键字的中间7.在软件设计中不使用的工具是_。(分数:1.00)A.系统结构图B.PAD 图C.数据流图(DFD 图)D.程序流程图8.有以下程序: #includestdio.h main() int k=5; while(-k)printf(“%d“,k-=3); printf(“/n“); 程序执行后的输出结果是_。(分数:1.00)A.1B.2
5、C.4D.死循环9.下列叙述中正确的是_。(分数:1.00)A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间10.若要求在 if 后一对圆括号中表示 a 不等于 0 的关系,则能正确表示这一关系的表达式为 _(分数:1.00)A.a0B.!aC.a=0Da11.以下叙述中,正确的是_。(分数:1.00)A.局部变量说明为 static 的存储类,其生存期将得到延长B.全局变量说明为 static 的存储类,其作用域
6、将被扩大C.任何存储类的变量在未赋初值时,其值都是不确定的D.形参可以使用的存储类说明符与局部变量完全相同12.以下结构体说明和变量定义中,正确的是_。(分数:1.00)A.typedef struct abcint n;double m;ABC;ABC x,y;B.struct abcint n;double m;struct abc x,y;C.struct ABCint n;double m;struct ABC x,y;D.struct abcint n;double m;abc x,y;13.在软件开发过程中,软件结构设计是描述_。A.数据存储结构B.软件体系结构C.软件结构测试D.
7、软件控制过程14.设有定义: char *c; 以下选项中能够使 c 正确指向一个字符串的是_。(分数:1.00)A.char str=“string“;c=str;B.scanf(“%s“,c);C.c=getchar();D.*c=“string“;15.以下四个程序中不能对两个整型值进行交换的是_。(分数:2.50)A.#includestdio.hvoid swap(int *p, int *q) int*t, a;t= *t=*p; *p=*q; *q=*t;main() int a=10, b=20;swap( printf(“%d%d/n“, a, b);B.#includest
8、dio.hvoid swap(int *p, int *q) int t;t=*p; *p=*q; *q=t;main() int a=10, b=20;swap( printf(“%d%d/n“, a, b);C.#includestdio.hvoid swap(int*p, int*q) int t;t=*p; *p=*q; *q=t;main() int*a, *b;*a=10, *b=20;swap(a, b); printf(“%d%d/n“, *a, *b);D.#includestdio.hvoid swap(int*p, int*q) int t;t=*p; *p=*q; *q
9、=t;main()int a=10, b=20, *x=swap(x,y); printf(“%d%d/n“, a, b);16.若有以下程序: #include stdio.h main( ) int a=0,b=0,c=0 c= (a+ = + +b, b+ =4); printf(“%d,%d,% d/n“,a,b,c); 则程序的输出结果是_。(分数:2.00)A.1,5,1B.1,5,5C.-1,4,4D.-1,4,-117.以下有 4 组用户标识符,其中合法的一组是 _。(分数:2.00)A.For-subCaseB.4dDOSizeC.f2_G3IFabcD.WORDvoidde
10、fine18.以下选项中,不能对主函数中变量 i 和 j 的值进行交换的程序是_。(分数:1.00)A.#include stdio.hvoid swap(int*p,int*q) int *t;*t=*p; *p=*q; *q=*t;main()int i=10,j=20,*a=swap(a,b); printf(“i=%d j=%d/n“,i,j);B.#include stdio.hvoid swap(int *p,int *q)int t;t=*p; *p=*q; *q=t;main()int i=10,j=20,*a=swap(a,b); printf(“i=%d j=%d/n“,i
11、,j);C.#include stdio.h#include stdlib.hvoid swap(int*p,int*q)int *t;t=(int*)malloc(sizeof(int);*t=*p; *p=*q;*q=*t;free(t);main()int i=10,j=20;swap(printf(“i=%d j=%d/n“,i,j);D.#include stdio.hvoid swap( int*p,int*q) int t;t=*p;*p=*q;*q=t;main()int i=10,j=20,*x=swap(x,y); printf(“i=%d j=%d/n“,i,j);19.
12、有以下程序: #includestdio.h struct Sint a;int b; main() struct S a,*p=a; a.a=99; printf(“%d/n“,_); 程序要求输出结构体中成员 a 的数据,以下不能填入横线处的内容是_。(分数:1.00)A.aB.*p.aC.p-aD.(*p).a20.以下叙述中正确的是_。(分数:2.50)A.a 是实型变量,C 允许进行赋值 a=10,但不可以这样说:实型变量中允许存放整型值B.在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式C.执行表达式 a=b 后,在内存中 a 和 b 存储单元中的原有值都将被改变,a 的值
13、已由原值改变为 b 的值,b 的值由原值变为 0D.已有 a=3,b=5,当执行了表达式 a=b,b=a 之后,使 a 中的值为 5,b 中的值为 321.有以下程序: #includestdio.h main() char s1=“programe“,s2=“Language“; char*p1=s1,*p2=s2; int k; for(k=0;k8;k+) if(*(p1+k)=*(p2+k) printf(“%s/n“,*(p1+k); 程序的运行结果是_。(分数:1.00)A.grame ame eB.g a eC.programeD.无输出字符22.循环队列的存储空间为 Q(1:5
14、0),初始状态为 front=rear=50。经过一系列正常的入队与退队操作后,front=rear=25,此后又正常地插入了一个元素,则循环队列中的元素个数为_。(分数:1.00)A.51B.50C.49D.123.有以下程序 #include stdio.h main() int a=1,b=2,c=3,x; x=(ab) printf(“%d/n“,x); 程序的运行结果是_。(分数:1.00)A.2B.1C.3D.024.在软件开发中,需求分析阶段产生的主要文档是_。(分数:1.50)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书25.设 a、b 和 c
15、都是 int 型变量,且 a=3,b=4,c=5,则以下的表达式中值为 0 的表达式是(分数:2.00)A.a while(-y); printf(“%d/n“, -y); 当执行程序时,输 m 的结果是_。(分数:2.50)A.-1B.1C.4D.028.若有以下定义和语句: char s 10=“abcd!“, *s2=“/n123/“; printf(“%d %d/n“, strlen(s1), strlen(s2); 则输出结果是_。(分数:1.00)A.5 5B.10 5C.10 7D.5 829.在软件开发中,需求分析阶段产生的主要文档是_。(分数:1.00)A.软件集成测试计划B
16、.软件详细设计说明书C.用户手册D.软件需求规格说明书30.有如下嵌套的 if 语句 if(ab) if(ac)k=a; else k=c; else if(bc)k=b; else k=c; 以下选项中与上述 if 语句等价的语句是_。(分数:2.50)A.k=(ab)?(ac)?a:c):(bc)?h:c);B.k=(ab)?(bc)?a:b):(hc)?b:c);C.k=(ab)?a:b;k=(bc)?b:c;D.k=(ab)?a:h:k=(ac)?a:c;31.有以下程序 #includestdio.h main() int i; for(i=1; i=40; i+) if(i+%5=
17、0) if(+i%8=0)printf(“%d“, i); printf(“/n“); 执行后的输出结果是_。(分数:2.00)A.32B.24C.5D.4032.下列程序的运行结果是_。 main() int x=1, y=3, a=0; while(x+!=(y-=1) a+=1; if(yx) break; printf(“%d, %d, %d/n“, x, y, a); (分数:2.50)A.2,3,2B.2,3,1C.1,3,3D.3,1,233.数据库系统的三级模式不包括_。(分数:1.00)A.概念模式B.内模式C.外模式D.数据模式34.下面不能作为结构化方法软件需求分析工具的
18、是_。(分数:1.00)A.系统结构图B.数据字典(DD)C.数据流程图(DFD 图)D.判定表35.有以下程序段: int k=0; while(k=)k+; while 循环执行的次数是_。(分数:2.50)A.无限次B.有语法错,不能执行C.一次也不执行D.执行一次36.有以下程序 #includestdio.h main() int a=1,b=0; printf(“%d,“,b=a+b); printf(“%d/n“,a=2*b); 程序运行后的输出结果是_。(分数:1.00)A.1,2B.1,0C.3,2D.0,037.若有定义语句: char s10=“1234567/0/0“;
19、 则 strlen(s)的值是_。(分数:1.00)A.7B.8C.9D.1038.若变量已正确定义为 float 型,要通过输入语句:scanf(“%f %f% %f, p-next=s;B.s-next=“/0“;p=p-next;p-next=s;C.p=p-next;s-next=p-next;p-next=s;D.p=(*p).next;(*s).next=(*p).next;(*p).next=s;40.设有定义: int a=1, b=2, c=3; 以下语句中执行效果与其它三个不同的是_。(分数:2.00)A.if(ab)c=a; a=b; b=c;B.if(ab)c=a, a
20、=b, b=c;C.if(ab)c=a, a=b, b=c;D.if(ab)c=a; a=b; b=c;二、程序填空题(总题数:1,分数:18.00)41.下列给定程序中,函数 fun 的功能是:将 S 所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。 例如,s 所指的字符串为“def35adh3kjsdf7”,执行后结果为“defadhkjsdf3537”。 请在程序的下划线处填入正确的内容,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #includestdio.h void fun(ch
21、ar *s) int i,j=0,k=0; char t180,t280; for(i=0;si!=“/0“;i+) if(si=“0“ 1; else t1k+=si; t2j=0; t1k=0; for(i=0;ik;i+) 2; for(i=0;i 3;i+) sk+i=t2i; main() char s80=“ba3a54j7sd567sdffs“; pfintf(“/nThe original string is:%s/n“,s); fun(s); pfintf(“/nThe result is:%s/n“,s); (分数:18.00)三、程序修改题(总题数:1,分数:20.00)
22、42.给定程序 MODI1.C 中函数 fun 的功能是:将长整型数中每一位上为奇数的数依次取出,构成一个新数放在 t 中。高位仍在高位,低位仍在低位。 例如,当 s 中的数为 87653142 时,t 中的数为 7531。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include stdio.h void fun(long s,long *t) int d; long sl=1; /*found*/ t=0; while(s0) d=s%10; /*found*/ if(d%2=0) *t=d*sl+*
23、t; sl*=10; s/=10; main() long s,t; printf(“/nPlease enter s:“);scanf(“%ld“, fun(s, printf(“The result is:%ld/n“,t); (分数:20.00)_四、程序设计题(总题数:1,分数:40.00)43.m 个人的成绩存放在 score 数组中,请编写函数 fun,它的功能是将低于平均分的人数作为函数值返回,将低于平均分的分数放在 below 所指的数组中。 例如,当 score 数组中的数据为 10、20、30、40、50、60、70、80、90 时,函数返回的人数应该是4,below 所指
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 模拟 652 答案 解析 DOC
