【计算机类职业资格】二级C语言-2-2及答案解析.doc
《【计算机类职业资格】二级C语言-2-2及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-2-2及答案解析.doc(23页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-2-2 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.下列叙述中正确的是_。(分数:1.00)A.栈是“先进先出”的线性表B.队列是“先进后出”的线性表C.循环队列是非线性结构的线性表D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构2.支持子程序调用的数据结构是_。(分数:1.00)A栈B树C.队列D.二叉树3.某二叉树有 5 个度为 2 的结点,则该二叉树中的叶子结点数是_。(分数:1.00)A.10B.8C.6D.44.下列排序方法中,最坏情况下比较次数最少的是_。(分数:1.00)A.冒泡排序B.简单选择
2、排序C.直接插入排序D.堆排序5.软件按功能可以分为应用软件、系统软件和支撑软件(工具软件),下面属于应用软件的是_。(分数:1.00)A.编译程序B.操作系统C.教务管理系统D.汇编程序6.下面叙述中错误的是_。(分数:1.00)A.软件测试的目的是发现错误并改正错误B.对被调试的程序进行“错误定位”是程序调试的必要步骤C.程序调试通常也称为 DebugD.软件测试应严格执行测试计划,排除测试的随意性7.耦合性和内聚性是对模块独立性度量的两个标准,下列叙述中正确的是_。(分数:1.00)A.提高耦合性降低内聚性有利于提高模块的独立性B.降低耦合性提高内聚性有利于提高模块的独立性C.耦合性是指
3、一个模块内部各个元素间彼此结合的紧密程度D.内聚性是指模块间互相连接的紧密程度8.下列叙述中错误的是_。(分数:1.00)A.在数据库系统中,数据的物理结构必须与逻辑结构一致B.数据库技术的根本目标是要解决数据的共享问题C.数据库设计是指在已有数据库管理系统的基础上建立数据库D.数据库系统需要操作系统的支持9.有两个关系 R,S 如下: R A B C a 3 2 b 0 1 c 2 1 S A B a 3 b 0 c 2 由关系 R 通过运算得到关系 S,则所使用的运算为_。(分数:1.00)A.选择B.投影C.插入D.连接10.将 E-R 图转换为关系模式时,实体和联系都可以表示为_。(分
4、数:1.00)A.属性B键C.关系D域11.以下叙述中错误的是_。(分数:1.00)A.C 语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令B.C 程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C.用 C 语言编写的程序称为源程序,它以 ASCII 代码形式存放在一个文本文件中D.C 语言源程序经编译后生成后缀为.obj 的目标程序12.以下选项中,合法的一组 C 语言数值常量是_。(分数:1.00)A.12. 0Xa23 4.5e0B.028 .5e-3 -0xfC177 4e1.5 0abcD.0x8A 10,000 3.e513.以下选项中不合法的
5、标识符是_。(分数:1.00)A.printB.FORC.int i=0,k=18;”,则不符合 C 语言规定的赋值语句是_。(分数:1.00)A.i=a%11;B.i=(a+k)=(i+k);C.a=a+,i+;D.i=!a;16.有以下程序 #include stdio.h main() int s,t,A=10;double B=6; s=sizeof(A;t=sizeof(B); printf(“%d,%d/n“,s,t); 在 VC+6.0 平台上编译运行,程序运行后的输出结果是_。(分数:1.00)A.4,8B.4,4C.2,4D.10,617.有以下程序 #include std
6、io.h main() char a,b,c,d; scanf(“%c%c“, c=getchar(); d=getchar(); printf(“%c%c%c%c/n“,a,b,c,d); 当执行程序时,按下列方式输入数据(从第 1 列开始,CR代表回车,注意:回车也是一个字符) 12CR 34CR 则输出结果是_。(分数:1.00)A.12 34B.12C.1234D.12 318.以下关于逻辑运算符两侧运算对象的叙述中正确的是_。(分数:1.00)A.可以是任意合法的表达式B.只能是整数 0 或非 0 整数C.可以是结构体类型的数据D.只能是整数 0 或 119.有以下程序 #inclu
7、de stdio.h 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.编译有错B.0,0,0,3C.1,1,2,0D.0,1,2,020.有以下程序 #include stdio.h main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0: a+; break; case 1: b+; break; case 2: a+; b+; break; case 3: a+
8、; b+; printf(“a=%d,b=%d/n“,a,b); 程序的运行结果是_。(分数:1.00)A.a=2,b=1B.a=2,b=2C.a=1,b=1D.a=1,b=021.以下程序段中的变量已正确定义 for(i=0;i4;i+,i+) for(k=1;k3;k+); printf(“*“); 程序段的输出结果是_。(分数:1.00)A.*B.*C.*D.*22.有以下程序段 #include stdio.h main() int i,n; for(i=0;i8;i+) n=rand()%5; switch(n) case 1: case 3: printf(“%d/n“,n); b
9、reak; case 2: case 4: printf(“%d/n“,n); continue; case 0: exit(0); printf(“%d/n“,n); 以下关于程序段执行情况的叙述,正确的是_。(分数:1.00)A.当产生的随机数 n 为 0 时,结束程序运行B.当产生的随机数 n 为 4 时,结束循环操作C.当产生的随机数 n 为 1 和 2 时,不做任何操作D.for 循环语句固定执行 8 次23.有以下程序 #include stdio.h int f(int x); main() int n=1,m; m=f(f(f(n); printf(“%d/n“,m); int
10、 f(int x) return x*2; 程序运行后的输出结果是_。(分数:1.00)A.2B.8C.4D.124.以下叙述中错误的是_。(分数:1.00)A.当在程序的开头包含头文件 stdio.h 时,可以给指针变量赋 NULLB.函数可以返回地址值C.改变函数形参的值,不会改变对应实参的值D.可以给指针变量赋一个整数作为地址值25.设已有定义“float x;”,则以下对指针变量 p 进行定义且赋初值的语句中正确的是_。(分数:1.00)A.float *p=B.int *p=(float)x;C.float p=D.float *p=1024;26.以下数组定义中错误的是_。(分数:
11、1.00)A.int x3=1,2,3,4,5,6;B.int x3=0;C.int x23=1,2,3,4,5,6;D.int x23=1,2,3,4,5,6;27.有以下程序 #include stdio.h void fun(int a,int n) int i,t; for(i=0;in/2;i+) t=ai;ai=an-1-i;an-1-i=t; main() int k10=1,2,3,4,5,6,7,8,9,10,i; fun(k,5); for(i=2;i8;i+) printf(“%d“,ki); printf(“/n“); 程序的运行结果是_。(分数:1.00)A.3216
12、78B.876543C.1098765D.34567828.有以下程序 #include stdio.h #define N 4 void fun(int aN,int b) int i; for(i=0;iN;i+) bi=aii-aiN-1-i; main() int xNN=“1,2,3,4,(5,6,7,8,9,10,11,12,13,14,15,16,yN,i; fun(x,y); for(i=0;iN;i+) printf(“%d,“,yi); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.-3,-1,1-3,B.-12,-3,0,0,C.0,1,2,
13、3,D.-3,-3,-3,-3,29.设有定义“char s81; int i=0;”,以下不能将一行(不超过 80 个字符)带有空格的字符串正确读入的语句或语句组是_。(分数:1.00)A.while(si+=getchar()!=“/n“);si=“/0“;B.scanf(“%s“,s);C.gets(s);D.doscanf(“%c“,while(si+!=“/n“);si=“/0“;30.设有定义“char p=“1“,“2“,“3“,*q=p;”,以下不能计算出一个 char 型数据所占字节数的表达式是_。(分数:1.00)A.sizeof(p)B.sizeof(char)C.siz
14、eof(*q)D.sizeof(p0)31.有以下程序 #include stdio.h #include string.h main() char str20=“One*World“,“One*Dream!“,*p=str1; printf(“%d,“,strlen(p); printf(“%s/n“,p); 程序运行后的输出结果是_。(分数:1.00)A.10,One*WorldB.9,One*Dream!C.9,One*WorldD.10,One*Dream!32.有以下程序 #include stdio.h main() char s=“012xy/08s34f4w2“; int i,
15、n=0; for(i=0;si!=0;i+) if(si=“0“ printf(“%d/n“,n); 程序运行后的输出结果是_。(分数:1.00)A.7B.0C.3D.833.有以下程序 #include stdio.h fun(int x,int y) static int m=0,i=2; i+=m+1; m=i+x+y; return m; main() int j=1,m=1,k; k=fun(j,m); printf(“%d,“,k); k=fun(j,m); printf(“%d/n“,k); 执行后的输出结果是_。(分数:1.00)A.5,11B.5,5C.11,11D.11,5
16、34.在 C 语言中,只有在使用时才占用内存单元的变量,其存储类型是_。(分数:1.00)A.auto 和 registerB.extern 和 registerC.auto 和 staticD.static 和 register35.下面结构体的定义语句中,错误的是_。(分数:1.00)A.struct ord int x;int y;int z; struct ord a;B.struct ord int x;int y;int z; struct ord a;C.struct ord int x;int y;int z; a;D.struct int x;int y;int z; a;3
17、6.有以下程序 #include stdio.h typedef struct int b,p;A; void f(A c) /* 注意:c 是结构变量名 */ int j; c.b+=1;c.p+=2; main() int i; A a=1,2; f(A); printf(“%d,%d/n“,a.b,a.p); 程序运行后的输出结果是_。(分数:1.00)A.2,4B.1,2C.1,4D.2,337.以下叙述中正确的是_。(分数:1.00)A.在 C 语言中,预处理命令行都以“#”开头B.预处理命令行必须位于 C 源程序的起始位置C.#include stdio.h必须放在 C 程序的开头
18、D.C 语言的预处理不能实现宏定义和条件编译的功能38.有以下程序 #include stdio.h #include stdlib.h int fun(int n) int *p; P=(int*)malloe(sizeof(int); *p=n; return *p; main() int a; a=fun(10); printf(“%d/n“,a+fun(10); 程序的运行结果是_。(分数:1.00)A.20B.10C.0D.出错39.有以下程序 #include stdio.h main() unsigned char a=8, c; c=a3; printf(“%d/n“,c);
19、程序运行后的输出结果是_。(分数:1.00)A.32B.16C.1D.040.读取二进制文件的函数调用形式为“fread(buffer,size,count,fp);”,其中 buffer 代表的是_。(分数:1.00)A.一个内存块的首地址,代表读入数据存放的地址B.一个整型变量,代表待读取的数据的字节数C.一个文件指针,指向待读取的文件D.一个内存块的字节数二、程序填空题(总题数:1,分数:20.00)41.给定程序中,函数 fun 的功能是:将形参 n 中,各位上为偶数的数取出,并按原来从高位到低位的顺序组成一个新的数,并作为函数值返回。 例如,从主函数输入一个整数 27638496,函
20、数返回值为 26846。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在 下的 BLANK1.C 中。 不得增行或删行,也不得更改程序的结构! 给定源程序: #include stdio.h unsigned long fun(unsigned long n) unsigned long x=0,s,i; int t; s=n; /*found*/ i= _ 1_ ; /*found*/ while _ 2_ t=s%10; if(t%2=0) /*found*/ x=x+t*i; i= _ 3_ ; s=s/10; return x; main()
21、 unsigned long n=-1; while(n99999999n0) printf(“Please input(0n100000000):“); scanf(“%ld“,) printf(“/nThe result is:%ld/n“,fun(n); (分数:20.00)三、程序改错题(总题数:1,分数:20.00)42.给定程序 MODI1.C 中函数 fun 的功能是:输出 M 行 M 列整数方阵,然后求两条对角线上元素之和,返回此和数。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #inclu
22、de stdio.h #define M 5 /*found*/ int fun(int n,int xx) int i,j,sum=0; printf(“/nThe%d x %d matrix:/n“,M,M); for(i=0;iM;i+) for(j=0;jM;j+) /*found*/ printf(“%f“,xxij); printf(“/n“); for(i=0;in;i+) sum+=xxii+xxin-i-1; return(sum); main() int aaMM=1,2,3,4,5,4,3,2,1,0, 6,7,8,9,0,9,8,7,6,5,3,4,5,6,7; pri
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 22 答案 解析 DOC
