【计算机类职业资格】二级C语言分类模拟题572及答案解析.doc
《【计算机类职业资格】二级C语言分类模拟题572及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言分类模拟题572及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言分类模拟题 572 及答案解析(总分:42.50,做题时间:90 分钟)一、选择题(总题数:30,分数:42.50)1.以下程序段中,与其他三个功能不同的程序段是_。(分数:1.00)A.s=0;i=1;for(; ;)s+=i; i+; if(i=10)break;B.s=0,i=1;for(; i=10;) s+=i, i+; C.s=0;for(i=1;i=10; i+) s+=i;D.for(s=0,i=1;i=10; s+=i,i+);2.以下选项中非法的表达式是(分数:1.00)A.0x100B.i=j= =0C.(char)(65+3)D.x+1=x+13.有以下程
2、序: #includestdio.h main() int sum,pad,pAd; sum=pad=5; pAd=+sum,pAd+,+pad; printf(“%d/n“,pad); 程序运行后的输出结果是_。(分数:1.00)A.5B.6C.7D.84.有以下程序: # include stdio.h main() int x=011; printf(“%d/n“,+x); 程序运行后的输出结果是_。(分数:1.00)A.12B.11C.10D.95.按照 C 语言规定的用户标识符命名规则,不能出现在标识符中的是_。(分数:1.00)A.下划线B.大写字母C.数字字符D.连接符6.有以下
3、程序 #includestdio.h main() int x=1,y=0; if(!x)y+; else if(x=0) if(x)y+=2; else y+=3; printf(“%d/n“,y); 程序运行后的输出结果是_。(分数:2.50)A.0B.2C.1D.37.有以下程序 #includestdio.h int 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); pri
4、ntf(“%d/n“, k); 执行后的输出结果是_。(分数:2.00)A.5, 11B.5, 5C.11, 11D.11, 58.以下语句中存在语法错误的是_。(分数:2.00)A.char ss620;ss1=“right?“;B.char ss20=“right?“;C.char*ss6;ss1=“right?“;D.char*ss=“right?“;9.有以下程序: #include stdio.h int fun() static int x=1; x*=2; return x; main( ) int i,s=1; for(i=1; i=3; i+ +) s*=fun(); pri
5、ntf(“%d/n“,s); 程序运行后的输出结果是_。(分数:2.50)A.10B.30C.0D.6410.有下列程序: main() int x=5; do printf(“%d“,x-=4); while(!(-x); 程序的输出结果是( )。(分数:1.00)A.1B.20C.1 4D.死循环11.有以下程序: #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.612.有以下程序: main() int x
6、8=8,7,6,5,O,0,*s; s=x+3; printf(“%d/n“,s2); 执行后输出结果是( )。(分数:1.00)A.随机值B.0C.5D.613.以下能够实现计算 5!的程序段是_。(分数:1.00)A.int fac=1,k=0;dok+;fac*=k; while(k5);B.int fac=0,k=1;dofac*=k;k+; while(k5);C.int fac=1,k=1;dok+;fac*=k; while(k=5);D.int fac=1,k=0;dofac*=k;k+; while(k5);14.若变量已正确说明为 float 类型,要通过语句 scanf(
7、“%f %f %f“, s+; main() char a=“BYTE“; Fun(a); printf(“n“); 程序运行后的输出结果是_。(分数:1.00)A.BYB.BTC.YTD.YE16.以下关于字符串的叙述中正确的是_。(分数:1.00)A.空串比空格打头的字符串小B.两个字符串中的字符个数相同时才能进行字符串大小的比较C.可以用关系运算符对字符串的大小进行比较D.C 语言中有字符串类型的常量和变量17.以下程序运行后的输出结果是 #includestdio.h main() int a5=1, 2, 3, 4, 5, b5=0, 2, 1, 3, 0, i, s=0; for(
8、i=0; i5; i+) s=s+abi; printf(“%d/n“, s); (分数:2.00)A.6B.10C.11D.1518.以下叙述正确的是_。(分数:1.00)A.有些算法不能用 3 种基本结构来表达B.C 语言程序不编译也能直接运行C.结构化程序的 3 种基本结构是循环结构、选择结构、顺序结构D.如果 C 语言程序实现的算法很简单,则计算机不进行任何代码转换就能执行程序19.设有以下语句: int a=1, b=2, c; c=a(b2); 执行后,c 的值为_。(分数:2.00)A.7B.9C.8D.620.有以下程序 #includestdio.h main() int i
9、=1; i=ii; printf(“%d/n“,i); 程序运行后的输出结果是_。(分数:1.00)A.0B.-1C.1D.721.以下叙述中错误的是(分数:2.00)A.同一个数组中所有元素的类型相同B.不可以跳过前面的数组元素,给后面的元素赋初值C.定义语句:int a10=0;,给 a 数组中所有元素赋初值 0D.若有定义语句:int a4=1, 2, 3, 4, 5;,编译时将忽略多余的初值22.以下程序的运行结果为_。 #define MIN(x,y)(x)(y)?(x):(y) main() int a=0,b=3,c=1,d=3,X; X=MIN(c+d,a+b)*100; pr
10、intf(“%d/n“,X); (分数:2.00)A.300B.4C.3D.40023.若有以下程序段: int r=8; print(“%d/n“, r1); 输出结果是_。(分数:1.00)A.16B.8C.4D.224.若有定义语句:int m=5,4,3,2,1,i=4;,则下面对 m 数组元素的引用中错误的是_。(分数:2.00)A.m-iB.m2*2C.mm0D.mmi25.有以下程序: #include stdio.h typedef struct int b, p; A; void f(A c) /*注意:c 是结构变量名 */ int j; c.b+=1; c.p+=2; m
11、ain( ) int i; A a=1,2; f(a); printf(“%d,%d/n“,a.b,a.p); 程序运行后的输出结果是_。(分数:2.00)A.2,4B.1,2C.1,4D.2,326.逻辑模型是面向数据库系统的模型,下面属于逻辑模型的是_。(分数:1.00)A.关系模型B.谓词模型C.物理模型D.实体联系模型27.有以下程序: #includestdio.h main() char a,b,C,d; scanf(“%c%c“, c=getchar(); d=getchar(); printf(“%c%c%c%c/n“,a,b,c,d); 当执行程序时,按下列方式输入数据(从第
12、 1 列开始,CR代表回车,注意:回车也是一个字符) 12CR 34CR 则输出结果是_。(分数:1.00)A.123B.12C.1234D.123428.设有语句:if(a=1)b=2;c=3;,以下语句中与之等价的是_。(分数:2.50)A.if(a=1)b=2;c=3;B.if(a!=1); else b=2;c=3;C.if(a=1)c=3;b=2;D.(a=1)?b=2:a=a;c=3;29.有以下程序: # include stdio.h int a=1,b=2; void funl(int a,int b) printf(“%d%d“,a,b); void fun2() a=3;
13、b=4; main() fun1(5,6);fun2(); printf(“%d%d/n“,a,b); 程序运行后的输出结果是_。(分数:1.00)A.1 2 5 6B.5 6 3 4C.5 6 1 2D.3 4 5 630.有以下程序: #include stdio.h main( ) char name10 = “S“,“T“,“R“; name2 =“#“; name6 = 0; printf(“%s/n“, name); 程序运行后的输出结果是_。(分数:1.00)A.ST#B.STR#C.STR#0D.STR0二级 C 语言分类模拟题 572 答案解析(总分:42.50,做题时间:9
14、0 分钟)一、选择题(总题数:30,分数:42.50)1.以下程序段中,与其他三个功能不同的程序段是_。(分数:1.00)A.s=0;i=1;for(; ;)s+=i; i+; if(i=10)break; B.s=0,i=1;for(; i=10;) s+=i, i+; C.s=0;for(i=1;i=10; i+) s+=i;D.for(s=0,i=1;i=10; s+=i,i+);解析:解析 B、C、D 选项都表示对 1 到 10 进行累加后赋给 s,而 A 中含 break 语句,循环体只执行一次,结束整个循环过程,因此答案为 A 选项。2.以下选项中非法的表达式是(分数:1.00)A
15、.0x100B.i=j= =0C.(char)(65+3)D.x+1=x+1 解析:解析 选项 D 中将表达式的值赋给表达式,在 c 语言中是不允许给表达式赋值的。3.有以下程序: #includestdio.h main() int sum,pad,pAd; sum=pad=5; pAd=+sum,pAd+,+pad; printf(“%d/n“,pad); 程序运行后的输出结果是_。(分数:1.00)A.5B.6 C.7D.8解析:解析 C 语言区分大小写,pad 与 pAd 是两个不同的变量。首先将 5 赋值给两个变量,由于赋值运算符的优先级高于逗号运算符,所以计算 pAd=+ +sum
16、,此时 pAd 为 6,sum 也为 6,然后计算 pAd+ +,pAd 的值变为 7,+ +pad,pad 的值变为 6,所以选择 B 选项。4.有以下程序: # include stdio.h main() int x=011; printf(“%d/n“,+x); 程序运行后的输出结果是_。(分数:1.00)A.12B.11C.10 D.9解析:解析 考查简单的 C 语言程序,题目中 x=011;而输出函数中+x,说明是先加 1,所以为 10,答案选择 C。5.按照 C 语言规定的用户标识符命名规则,不能出现在标识符中的是_。(分数:1.00)A.下划线B.大写字母C.数字字符D.连接符
17、 解析:解析 C 语言中标识符由字母、下划线或数字组成,且开头必须是字母或下划线。因此 D 选项中的连接符不合法。6.有以下程序 #includestdio.h main() int x=1,y=0; if(!x)y+; else if(x=0) if(x)y+=2; else y+=3; printf(“%d/n“,y); 程序运行后的输出结果是_。(分数:2.50)A.0 B.2C.1D.3解析:解析 (!x)为假,然后判断(x=0),为假,最后就执行输出语句,y 的值仍为初始值,答案选择A。7.有以下程序 #includestdio.h int fun(int x, int y) sta
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 分类 模拟 572 答案 解析 DOC
