【计算机类职业资格】二级C语言分类模拟题543及答案解析.doc
《【计算机类职业资格】二级C语言分类模拟题543及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言分类模拟题543及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言分类模拟题 543 及答案解析(总分:64.00,做题时间:90 分钟)一、选择题(总题数:40,分数:64.00)1.有以下程序: #includestdio.h #includestdlib.h void fun(double*p1,double*p2,double*s) s=(double*)calloc(1,sizeof( double); *s=*p1+*(p2+1); main() double a2=1.1,2.2,b2=10.0,20.0,*s=a; fun(a,b,s); printf(“%5.2f/n“,*s); 程序运行后的输出结果是_。(分数:1.00)A
2、.21.10B.11.10C.12.10D.1.102.以下关于 C 语言函数参数传递方式的叙述正确的是_。(分数:1.00)A.数据只能从实参单向传递给形参B.数据可以在实参和形参之间双向传递C.数据只能从形参单向传递给实参D.C 语言的函数,参数既可以从实参单向传递给形参,也可以在实参和形参之间双向传递,可视情况选择使用3.以下选项中关于 C 语言常量的叙述错误的是_。(分数:1.00)A.所谓常量,是指在程序运行过程中,其值不能被改变的量B.常量分为整型常量、实型常量、字符常量和字符串常量C.常量可分为数值型常量和非数值常量D.经常被使用的变量可以定义成常量4.有以下程序: #inclu
3、destdio.h void f(int x,int n) if(n1) printf(“%d,“,x0); f( printf(“%d,“,x0); else printf(“%d,“,x0); main() int z3=4,5,6; f(z,3); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.6,5,4,6,5,4,B.4,5,6,5,4,C.4,5,6,4,5,6,D.6,5,4,5,6,5.以下不合法的数值常量是_。(分数:1.00)A.011B.le1C.8.0E0.5D.0xabcd6.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是_。(分数:
4、4.00)A.一对一B.一对多C.多对一D.多对多7.以下选项中不能用作 C 程序合法常量的是_。(分数:1.00)A.1.234B.“/123“C.123D.“/x7D“8.以下 C 语言用户标识符中,不合法的是_。(分数:2.00)A._1B.AaBcC.a_bD.a-b9.有以下程序: #include stdio.h #include math.h main() int a=1, b=4, c=2; double x=10.5, y=4.0, z; z = (a+b)/c + sqrt(y) * 1.2/c + x; printf(“%f/n“, z); 程序运行后的输出结果是_。(分
5、数:1.00)A.13.700000B.14.000000C.15.400000D.14.90000010.若整型变量 a、b、c、d 中的值依次为:1、4、3、2。则条件表达式 ab?a:cd?c:d 的值是 _ 。(分数:1.00)A.1B.2C.3D.411.下面的程序在编泽时产生错误,其出错原因是 _ 。 #includestdio.h main() int 1_case;float printF; printf(“请输入 2 个数:“); scanf (“%d%f“, -p;y=*p;printf(“y=%d/n“,y); 程序的运行结果是_。(分数:2.50)A.y=0B.y=1C
6、.y=2D.y=315.下述程序的输出结果是_。 #includestdio.h void main() char a=1,b=2; char c=ab2; printf(“/n%d“,c);(分数:4.00)A.9B.10C.12D.216.有以下程序: #includestdio.h #includestring.h main( ) char str =“Hello,Beijing“; printf(“%d,%d/n“,strlen(str),sizeof(str); 程序的运行结果是_。(分数:1.00)A.13,13B.13,14C.13,15D.14,1517.设 x,y,z 均为实
7、型变量,代数式 (分数:2.00)A.x/y*zB.x%y%zC.x/y/zD.x*z/y18.下列数据结构中,能用二分法进行查找的是_。(分数:1.00)A.顺序存储的有序线性表B.线性链表C.二叉链表D.有序线性链表19.阅读下面程序,程序执行后的结果为_。 #include “stdio.h“ main() char *str=“abcdefghijklmnopq“; while(*str+!=“e“);printf(“%c/n“,*str);(分数:2.00)AfBaCeDq20.软件生命周期中的活动不包括_。(分数:1.50)A.市场调研B.需求分析C.软件测试D.软件维护21.下列
8、叙述中正确的是_。(分数:2.00)A.调用 printf 函数时,必须要有输出项B.使用 putchar 函数时,必须在之前包含头文件 stdio.hC.在 C 语言中,整数可以以二进制、八进制或十六进制的形式输出D.调节 getchar 函数读入字符时,可以从键盘上输入字符所对应的 ASCII 码22.有以下程序 #includestdio.h main() int i;j; for(i=1;i4;i+) for(j=i;j4;j+)printf(“%d*%d=%d“,i,j,i*j); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.1*1=1 1*2=2 1
9、*3=32*2=4 2*3=63*3=9B.1*1=1 1*2=2 1*3=32*1=2 2*2=43*1=3C.1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=9D.1*1=12*1=2 2*2=43*1=3 3*2=6 3*3=923.下面描述中,不属于软件危机表现的是_。(分数:2.50)A.软件过程不规范B.软件开发生产率低C.软件质量难以控制D.软件成本不断提高24.有以下程序 #includestdio.h #includestring.h struct A int a; char b10; double c; ; void f(struct A t); main(
10、) struct A a=1001,“ZhangDa“,1098.0; f(a); printf(“%d,%s,%6.1f/n“,a.a,a.b,a.c); void f(struct A t) t.a=1002; strcpy(t.b,“ChangRong“); t.c=1202.0; 程序运行后的输出结果是_。(分数:1.00)A.1002,ChangRong,1202.0B.1001,ZhangDa,1098.0C.1001,ChangRong,1098.0D.1002,ZhangDa,1202.025.以下程序的输出结果是_。 main() int i,j,m=0; for (i=1;
11、i=15;i+=4) for(j=3; j=19; j+=4) m+; printf(“%d/n“,m); (分数:1.00)A.12B.15C.20D.2526.有以下程序 #define F(X,Y)(X)*(Y) main() int a=3,b=4; printf(“%d/n“,F(a+,b+); 程序运行后的输出结果是_。(分数:2.50)A.12B.15C.16D.2027.有以下程序: #includestdio.h main() int a5=1, 2, 3, 4, 5, b5=0, 2, 1, 3, 0, i, s=0; for(i=0; i5; i+) s=s+abi; p
12、rintf(“%d/n“, s); 程序运行后的输出结果是_。(分数:1.00)A.6B.10C.11D.1528.以下不能将 s 所指字符串正确复制到 t 所指存储空间的是_。(分数:4.00)A.do*t+=*s+;while(*s);B.for(i=0; ti=si; i+);C.while(*t=*s)t+; s+;D.for(i=0, j=0; ti+=sj+; );29.下列叙述中错误的是_。(分数:2.00)A.可以给指针变量赋一个整数作为地址值B.函数可以返回地址值C.改变函数形参的值,不会改变对应实参的值D.当在程序的开头包含头文件 stdio.h 时,可以给指针变量赋 NU
13、LL 值30.下列叙述中正确的是_。(分数:1.00)A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对31.有以下程序: #include stdio.h main() char c; do c=getchar(); putchar(c); while(c !=“#“); printf(“/n“); 执行时如输入:abcdefg#回车,则输出结果是_。(分数:1.00)A.abcdefg#B.abcdefgC.abcdefg#D.#32.以下关于宏的叙述中正确的是_。(分数:3.00)A.宏名必须用大写字母表示B.宏定义必须位于源
14、程序中所有语句之前C.宏替换没有数据类型限制D.宏调用比函数调用耗费时间33.有定义语句:int b;char c10;,则正确的输入语句是_。(分数:2.00)A.scanf(“%d%s“,B.scanf(“%d%s“,C.scanf(“%d%s“,b,c);D.scanf(“%d%s“,b,34.有下列程序: #includestdio.h main() int a=-1,b=2; for(;a+ ) printf(“%d,%d,“,a,b); printf(“%d,%d“,a,b); 程序执行后的输出结果是_。(分数:1.00)A.0,1,1,0,1,0B.0,1,1,0C.0,1,1,
15、1D.0,1,1,1,1,135.有以下程序 #includestdio.h main() int i, j, m=1; for(i=1; i3; i+) for(j=3; j0; j-) if(i*j3)break; m*=i*j; printf(“m=%d/n“, m); 程序运行后的输出结果是_。(分数:2.00)A.m=6B.m=2C.m=4D.m=536.有以下程序: #includestdio.h main() int a,b; for(a=0;a3;a+) scanf(“%d“, switch(b) default:printf(“%d,“,b+1);continue; case
16、 1:printf(“%d,“,b+1); case 2:pfintf(“%d,“,b+1);continue; 执行时输入:1 2 3回车,则输出结果是_。(分数:1.00)A.2,2,3,4,4,4,B.2,3,4,C.2,2,3,4,D.2,3,3,4,5,6,37.有以下程序: #includestdio.h main() int y=10; while(y-);printf(“y=%d/n“,y); 程序执行后的输出结果是_。(分数:1.00)A.y=0B.y=-1C.y=1D.while 构成无限循环38.计算机软件的构成是_。(分数:1.00)A.源代码B.程序和数据C.程序和文
17、档D.程序、数据及相关文档39.以下叙述中错误的是_。(分数:1.00)A.在一个程序中,每个模块均可以独立编译运行B.程序“模块化”有利于任务的分解简化C.允许对函数单独进行编译,是 C 语言实现“模块化”的基础D.采用模块化结构,可以提高编程效率40.有以下程序: #includestdio.h main() int findmax(int,int,int),m; m=findmax(a,b,c); (分数:1.00)A.在 main 函数中声明了 findmax 函数B.在 main 函数中定义了 findmax 函数C.在 main 函数中两次调用了 findmax 函数D.在 mai
18、n 函数内、外重复定义了 findmax 函数二级 C 语言分类模拟题 543 答案解析(总分:64.00,做题时间:90 分钟)一、选择题(总题数:40,分数:64.00)1.有以下程序: #includestdio.h #includestdlib.h void fun(double*p1,double*p2,double*s) s=(double*)calloc(1,sizeof( double); *s=*p1+*(p2+1); main() double a2=1.1,2.2,b2=10.0,20.0,*s=a; fun(a,b,s); printf(“%5.2f/n“,*s); 程
19、序运行后的输出结果是_。(分数:1.00)A.21.10B.11.10C.12.10D.1.10 解析:解析 本题考查把数组名作为函数参数,执行 fun 函数后,s 的值并没有发生变化,仍然是指向a,所以输出结果为 1.10,选项 D 正确。2.以下关于 C 语言函数参数传递方式的叙述正确的是_。(分数:1.00)A.数据只能从实参单向传递给形参 B.数据可以在实参和形参之间双向传递C.数据只能从形参单向传递给实参D.C 语言的函数,参数既可以从实参单向传递给形参,也可以在实参和形参之间双向传递,可视情况选择使用解析:解析 数据只能由实参单向传递给形参称为“值传递”,而不能由形参传给实参,A
20、选项正确;数组名、指针等作参数,实参传递给形参的是地址值,这样形参和实参就指向同一段内存单元,在函数体内对形参数据的改变也将影响到实参。实参和形参之间不可双向传递,B、D 选项错误。数据不能从形参传递给实参,故 C 选项错误。3.以下选项中关于 C 语言常量的叙述错误的是_。(分数:1.00)A.所谓常量,是指在程序运行过程中,其值不能被改变的量B.常量分为整型常量、实型常量、字符常量和字符串常量C.常量可分为数值型常量和非数值常量D.经常被使用的变量可以定义成常量 解析:解析 此题考查的是常量和变量的定义,常量不是经常使用的变量,而是一个确定的数值,所以答案选择 D。4.有以下程序: #in
21、cludestdio.h void f(int x,int n) if(n1) printf(“%d,“,x0); f( printf(“%d,“,x0); else printf(“%d,“,x0); main() int z3=4,5,6; f(z,3); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.6,5,4,6,5,4,B.4,5,6,5,4, C.4,5,6,4,5,6,D.6,5,4,5,6,解析:解析 本题考查了函数的递归调用,在 main 函数中调用 f(z,3)后,系统进入 f()函数,随后进入if 语句,输出 x0;再进入 f()函数时,存在
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 分类 模拟 543 答案 解析 DOC
