【计算机类职业资格】二级C语言模拟648及答案解析.doc
《【计算机类职业资格】二级C语言模拟648及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言模拟648及答案解析.doc(24页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言模拟 648 及答案解析(总分:163.00,做题时间:90 分钟)一、选择题(总题数:40,分数:53.00)1.以下叙述中正确的是_。(分数:2.00)A.C 程序书写格式自由,一个语句可以写在多行上B.C 程序书写格式严格,要求一行内只能写一个语句C.C 程序中的注释只能出现在程序的开始位置和语句的后面D.用 C 语言编写的程序只能放在一个程序文件中2.在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率。与程序的效率相比,人们更重视程序的(分数:1.00)A.安全性B.一致性C.可理解性D.合理性3.以下关于 fclose(fp)函数的叙述正确的是_。(分数:1.0
2、0)A.当程序中对文件的所有写操作完成之后,必须调用 fclose(fp)函数关闭文件B.当程序中对文件的所有写操作完成之后,不一定要调用 fclose(fp)函数关闭文件C.只有对文件进行输入操作之后,才需要调用 fclose(fp)函数关闭文件D.只有对文件进行输出操作之后,才能调用 fclose(fp)函数关闭文件4.有以下程序: 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); 程序运行后输出结果是(分数:1.00)A.0,1,2,0B.0,0,0,3C.1,1
3、,2,0D.编译有错5.以下程序中函数 f 的功能是:当 flag 为 1 时,进行由小到大排序;当 flag 为 0 时,进行由大到小排序。#include stdio.h void f(int b, int n, int flag) int i,j,t; for (i=0; in-1; i+ +) for (j=i+1; jn; j+ +) if (flag ? bibj : bibj) t=bi; bi=bj; bj=t; main( ) int a10=5,4,3,2,1,6,7,8,9,10,i; f( f(a,5,1); for(i=0;i10;i+ +) printf(“%d,“
4、,ai); 程序运行后的输出结果是_。(分数:2.50)A.1,2,3,4,5,6,7,8,9,10,B.3,4,5,6,7,2,1,8,9,10,C.5,4,3,2,1,6,7,8,9,10,D.10,9,8,7,6,5,4,3,2,1,6.已知字符“A“的 ASCII 代码值是 65,字符变量 c1 的值是“A“,c2 的值是“D“。则执行语句 printf(“%d,%d“,c1,c2-2); 的输出结果是_。(分数:1.00)A.A,68B.65,66C.A,BD.65,687.与数学表达式 xyz 对应的 C 语言表达式是_。(分数:1.00)A.(x=y)|(y=x)B.(x=y=z
5、)C.(x=y)!(y=z)D.(x=y)(y=z)8.按照 C 语言规定的用户标识符命名规则,不能出现在标识符中的是_。(分数:1.00)A.下划线B.大写字母C.数字字符D.连接符9.以下叙述中正确的是_。(分数:2.50)A.continue 语句的作用是使程序的执行流程跳出包含它的所有循环B.break 语句只能用在循环体内和 switch 语句体内C.在循环体内使用 break 语句和 continue 语句的作用相同D.break 语句只能用于 switch 语句体中10.有以下程序 #includestdio.h void fun(int a, int b) int t; t=a
6、; a=b; b=t; main() int c10=1, 2, 3, 4, 5, 6, 7, 8, 9, 0, i; for(i=0; i10; i+=2) fun(ci, ci+1); for(i=0; i10; i+) printf(“%d,“, ci); printf(“/n“); 程序的运行结果是_。(分数:2.00)A.1, 2, 3, 4, 5, 6, 7, 8, 9, 0,B.2, 1, 4, 3, 6, 5, 8, 7, 0, 9,C.0, 9, 8, 7, 6, 5, 4, 3, 2, 1,D.0, 1, 2, 3, 4, 5, 6, 7, 8, 9,11.有关系 R 如下
7、,其中属性 B 为主键: R B C D a 0 k1 b 1 n1 2 p1 则其中最后一个记录违反了_。(分数:1.00)A.实体完整性约束B.参照完整性约束C.用户定义的完整性约束D.关系完整性约束12.以下程序不用第 3 个变量,实现将两个数进行对调的操作,请填空。 #include stdio.h main() int a, b; scanf(“% d% d“, printf(“a=% db=% d“, a, b); a=a+b; b=a-b; a=_; printf(“a=% db=% d/n“, a, b); (分数:1.00)A.a+bB.a-bC.b*aD.a/b13.以下不
8、能作为合法常量的是_。(分数:1.00)A.1.234e0B.1.234e04C.1.234e+4D.1.234e0.414.数据库系统的三级模式不包括_。(分数:1.00)A.概念模式B.内模式C.外模式D.数据模式15.以下对结构体变量 mix 中成员 x 的正确引用是_。 struct int t;int x; mix,*p; p=(分数:1.00)A.(*p).mix.xB.(*p).xC.p-mix.xD.mix.x16.有以下程序: #includestdio.h int a=5; int func(int a) int b=1; static int c=5; a+; b+; +
9、c; return(a*b*c); main() int k,a=4; for(k=0;k3;k+) printf(“%d,“,func(a); 程序执行后的输出结果是_。(分数:1.00)A.72,147,256,B.60,60,60,C.72,98,128,D.60,70,80,17.有以下程序: #includestdio.h #includestring.h main() char str20“One*World“, “One*Dream!“, *p=str1; prinft(“%d, “, strlen(p); printf(“%s/n“, p); 程序运行后的输出结果是_。(分数:
10、1.00)A.9, One*WorldB.9, One*Dream!C.10, One*Dream!D.10, One*World18.有以下程序: #includestdio.h int fun(int x, int n) static int sum=0, i; for(i=0; in; i+) sum+=xi; return sum; main() int a=1, 2, 3, 4, 5, b=6, 7, 8, 9, s=0; s=fun(a, 5)+fun(b, 4); printf(“%d/n“, s); 程序执行后的输出结果是( )。(分数:1.00)A.45B.50C.60D.5
11、519.下列叙述中,正确的是_。(分数:1.00)A.线性链表是线性表的链式存储结构B.栈与队列是非线性结构C.双向链表是非线性结构D.只有根结点的二叉树是线性结构20.若有定义语句:“int x=10;”,则表达式 x-=x+x 的值为_。(分数:1.00)A.-20B.-10C.0D.1021.下列数据结构中,能用二分法进行查找的是_。(分数:1.00)A.顺序存储的有序线性表B.线性链表C.二叉链表D.有序线性链表22.以下程序的输出结果是_。 main () int x=5,n=3,s,j; for(j=0;j2;j+) s=fun(x,n); printf(“%d“,s); fun(
12、int a,int b) static int n=0,i=2; i=n+1; n=i+a-b; return(n); (分数:1.00)A.3 7B.3 5C.3 6D.3 323.已知字母 A 的 ASCII 码值是 65,字母 a 的 ASCII 码值是 97,以下程序_。 main() char a=“A“; int b=20; pxintf(“%d,%o“,(a=a+a,a+b,b) ,a+“a“-“A“,b); A.表达式非法,输出零或不确定值B.因输出项过多,无输出或输出不确定值C.输出结果为 20,141D.输出结果为 20,141,2024.有以下语句,则对 a 数组元素的引
13、用不正确的是(0i9) int a10=0,1,2,3,4,5,6,7,8,9,*p=a;(分数:2.00)A.ap-aB.*(ai)C.piD.*(*(a+i)25.有三个关系 R、S 和 T 如下: (分数:1.00)A.自然连接B并C交D差26.某二叉树有 5 个度为 2 的结点,则该二叉树中的叶子结点数是_。(分数:2.00)A.10B.8C.6D.427.简单程序设计步骤中不包括_。(分数:1.00)A.编码B.确定算法C.安装编译程序D.调试28.在函数 scanf 的格式控制中,格式说明的类型与输入项的类型应该对应匹配。如果类型不匹配,系统将 _ 。(分数:1.00)A.不予接收
14、B.并不给出出错信息,但不能得到正确的数据C.能接收到正确输入D.给出出错信息,不予接收输入29.以下选项中叙述错误的是_。(分数:2.00)A.在 C 程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内B.C 程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值C.C 程序函数中定义的自动变量,系统不自动赋确定的初值D.C 程序函数的形参不可以说明为 static 型变量30.设有如下定义: int arr=6, 7, 8, 9, 10; int*ptr; ptr=arr; *(ptr2)=2; printf(“%d, %d/n“, *ptr, *(ptr2);
15、则下列程序段的输出结果为_。(分数:2.50)A.8,10B.6,8C.7,9D.6,231.若有以下程序: #include stdio.h main( ) int a=6,b=0,c=0; for(;a) b + =a; a- = c+ + ; printf(“%d,%d,%d/n“,a,b,c); 则程序的输出结果是_。(分数:2.50)A.5,6,0B.6,0,0C.6,6,1D.5,6,132.有以下程序: #include stdio.h main() int x=1, y=2, z=3; if(xy) if(yz) printf(“% d“, +z); else printf(“
16、% d“, +y); printf(“% d/n“, x+); 程序的运行结果是_。(分数:1.00)A.331B.41C.2D.133.设栈的顺序存储空间为 S(0:49),栈底指针 bottom=49,栈顶指针 top=30(指向栈顶元素)。则栈中的元素个数为_。(分数:1.00)A.30B.29C.20D.1934.在软件开发中,需求分析阶段产生的主要文档是_。(分数:2.00)A.可行性分析报告B.软件需求规格说明书C.概要设计说明书D.集成测试计划35.以下选项中,能表示逻辑值“假”的是_。(分数:1.00)A.1B.0.000001C.0D.100.036.下列运算符中优先级最低的
17、算符是_。(分数:1.00)A.|B.!=C.=D.+37.下列定义数组的语句中错误的是_。(分数:2.00)A.int x23=1,2,3,4,5,6;B.int x3=0;C.int x3=1,2,3,4,5,6;D.int x23=1,2,3,4,5,6;38.设有定义:int a=0,b=1;,以下表达式中,会产生“短路”现象,致使变量 b 的值不变的是_。(分数:1.00)A.a+ *s=*p1+*(p2+); main() int a2=1, 2, b2=10, 20, *s=a; fun(a, b, s); printf(“%d/n“, *s); 程序运行后的输出结果是_。(分数
18、:2.00)A.1B.10C.11D.240.有以下程序: #include stdio.h #include string.h typedef struct char name10; char sex; int age; STU; void fun(STU *t) strcpy(*t).name,“Tong“); (*t).age+; main() STU s2=“Hua“,“m“,18,“Qin“,“f“,19; fun(s+1); printf(“%s,%d,%s,%d/n“,s0.name,s0.age,s1.name,s1.age); 程序运行后的输出结果是_。(分数:1.00)A.
19、Hua,18,Tong,20B.Hua,18,Qin,19C.Tong,19,Qin,19D.Hua,19,Tong,19二、程序填空题(总题数:1,分数:30.00)41.给定程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号、姓名和 3 门课的成绩。函数 modify 的功能是将该学生的各科成绩都乘以一个系数 a。 请在程序的下划线处填入正确的内容,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #includestdio.h typedef struct int num; char name9; float score3
20、; STU; void show(STU tt) int i; printf(“%d %s:“,tt.num.tt.name); for(i=0;i3;i+) printf(“%5.1“,tt.scorei); printf(“/n“); /*found*/ void modify( 1*ss,float a) int i; for(i=0;i3;i+) /*found*/ ss- 2;*=a; main() STU std=1,“Zhanghua“,76.5,78.0,82.0; float a; printf(“/nThe original number and nameand score
21、s:/n“); show(std); printf(“/nInput a number:“); scanf(“%f“, /*found*/ modify( 3,a); printf(“/nA result of modifying:/n“); show(std); (分数:30.00)三、程序修改题(总题数:1,分数:40.00)42.下列给定程序中,函数 proc()的功能是:首先把 b 所指字符串中的字符按逆序存放,然后将 str1 所指字符串中的字符和 str2 所指字符串中的字符,按排列的顺序交叉合并到 str 所指数组中,过长的剩余字符接在 str 所指数组的尾部。 例如,当 str
22、1 所指字符串中的内容为 ABCDEFG,str2 所指字符串中的内容为 1234 时,str 所指数组中的内容应该为 A483C2D1EFG;而当 str1 所指字符串中的内容为 1234,str2 所指字符串中的内容为 ABCEDFG时,str 所指数组中的内容应该为 1G2F3E4DCBA。 请修改程序中的错误,使它能得出正确的结果。 注意:不要改动 main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #includestdlib.h #includeconio.h #includestdio.h #includestring.h void proc(char*str1
23、, char*str2, char*str) int i, j; char ch; i=0; j=strlen(str2)-1; /*found* while(ij) ch=str2i; str2i=str2j; str2j=ch; i+; j-; while(*str1 | *str2) if(*str1)*str=*str1; str+; str1+; if(*str2)*str=*str2; str+; str2+; /*found* *str=0; void main() char s1100, s2100, t200; system(“CLS“); printf(“/nEnter s
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 模拟 648 答案 解析 DOC
