【计算机类职业资格】二级C语言分类模拟题542及答案解析.doc
《【计算机类职业资格】二级C语言分类模拟题542及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言分类模拟题542及答案解析.doc(19页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言分类模拟题 542及答案解析(总分:55.00,做题时间:90 分钟)一、选择题(总题数:40,分数:55.00)1.关于字符常量,以下叙述正确的是_。(分数:2.00)A.空格不是一个字符常量B.字符常量能包含大于一个的字符C.单引号中的大写字母和小写字母代表的是相同的字符常量D.所有的字符常量都可以作为整型量来处理2.以下数组定义中错误的是_。(分数: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;3.有以下程序 #include stdio.h void fun(
2、int *a, int n)/* fun 函数的功能是将 a所指数组元素从大到小排序*/ int t, i,j; for (i=0; in-1 ;i+) for 0=i+l; jn; j+) if(aiaj) t=ai; ai=aj; aj=t; main() int c10= 1,2,3,4,5,6,7,8,9,0,i; fun(c+4, 6); for (i=0;i10; i+) printf(“%d,“, ci); printf(“/n“); (分数:1.00)A.1,2,3,4,5,6,7,8,9,0,B.0,9,8,7,6,5,1,2,3,4,C.0,9,8,7,6,5,4,3,2,
3、1,D.1,2,3,4,9,8,7,6,5,0,4.有以下程序: #includestdio.h main() int k=-3; if(k=0) printf(“*/n“) else printf(“ 程序的输出结果是(分数:2.00)A.输出#B.输出 for(i=0; i2; i+) if(i=0)aaii+1=*p+1; else+p; printf(“%d“, *p); printf(“/n“); 程序的输出结果是(分数:1.00)A.23B.26C.33D.367.有以下程序: #includestdio.h main() int s, t, A=10; double B=6; s
4、=sizeof(A); t=sizeof(B); printf(“%d, %d/n“, s, t); 在 VC6平台上编译运行,程序运行后的输出结果是_。(分数:1.00)A.2,4B.1,4C.4,8D.10,68.以下程序的运行结果是_。 main() char ch=“A“; int num1=ch; float num2=num1; printf(“% f“, num2); (分数:1.00)AAB.65C.65.00000Da9.设变量均已正确定义并赋值,以下与其他三组输出结果不同的一组语句是_。(分数:1.00)A.x+;printf(“%d/n“,x);B.n=+x;printf
5、(“%d/n“,n);C.+x;printf(“%d/n“,x);D.n=x+;printf(“%d/n“,n);10.有以下程序: #includestdio.h #includestring.h main() char str10=“One“,“Three“,“Five“,*p=str0; printf(“%s,“,p+10); printf(“%d/n“,strlen(p+=10); 执行后的输出结果是_。(分数:1.00)A.Three,4B.出错C.Three,5D.Five,511.面向对象方法中,继承是指_。(分数:1.00)A.一组对象所具有的相似性质B.一个对象具有另一个对象
6、的性质C.各对象之间的共同性质D.类之间共享属性和操作的机制12.若有以下程序: #includestdio.h main() char c1,c2; c1=“C“+“8“-“3“;c2=“9“-“0“; printf(“%c%d/n“,c1,c2); 则程序运行后的输出结果是_。(分数:1.00)A.H“9“BH9C.F“9“D.表达式不合法输出无定值13.以下叙述中正确的是_。(分数:1.00)A.在 scanf函数中的格式控制字符串是为了输入数据用的,不会输出到屏幕上B.在使用 scanf函数输入整数或实数时,输入数据之间只能用空格来分隔C.在 printf函数中,各个输出项只能是变量D
7、.使用 printf函数无法输出百分号“%”14.假定已建立以下链表结构,且指针 p和 q已指向如图所示的结点: (分数:1.00)A.p-next=q-next;free(q);B.p=q-next;free(q);C.p=q;free(q);D.(*p).next=(*q).next;free(p);15.有以下程序: #include stdio.h #define F(x) 2.84+x #define PR(a) printf(“%d“ ,(int)(a) #define PRINT(a) PR(a);putehar(“/n“) main() PRINT(F(5)*2); 程序运行后
8、的输出结果是_。(分数:1.00)A.12B.13C.15D.1116.有以下程序 #include stdio.h main() int x=1,y=2,z=3; if(xy) if(yz) printf(“%d“,+z); else printf(“%d“,+y); printf(“%d/n“,x+); 程序的运行结果是_。(分数:1.00)A.1B.41C.2D.33117.若有以下程序: #includestdio.h void sub(double x, double*y, double*z) *y=*y-1.0; *z=*z+x; main() double a=2.5, b=9.
9、0, *pa, *pb; pa= pb= sub(b-a, pa, pa); printf(“%f/n“, a); 程序的输出结果是(分数:1.00)A.9.000000B.1.500000C.8.000000D.10.50000018.有以下程序: #includestdio.h main() int a=0, b=0; for(;a7; a+) if(a%2=0)continue; b+=a; continue; printf(“%d/n“, b); 程序运行后的输出结果是_。(分数:1.00)A.0B.4C.1D.919.以下叙述中正确的是_。(分数:2.00)A.不能用字符串常量对字符
10、数组名进行整体赋值操作B.字符串常量“Hello“会被隐含处理成一个无名字符型数组,它有 5个元素C.char str7=“string!“;在语法上是合法的,运行也是安全的D.char *str;str=“Hello“;与 char str;str=“Hello“;效果是一样的20.下列选项中可作为 C语言合法常量的是_。(分数:2.50)A.-80B.-080C.-8e1.0D.-80.0e21.有以下程序: #includestdio.h main() int m=1, n=2, *p= r=p; p=q; q=r; printf(“%d, %d, %d, %d/n“, m, n, *p
11、, *q); 程序运行后的输出结果是_。(分数:1.00)A.2,1,1,2B.1,2,1,2C.2,1,2,1D.1,2,2,122.有以下程序: # includestdio.h main() int a=1,b=0; printf(“%d,“,b=a+b); printf(“%d/n“,a=2+b); 程序运行后的输出结果是_。(分数:1.00)A.0,0B.1,0C.3,2D.1,223.下列不属于软件调试技术的是_。(分数:2.00)A.强行排错法B.集成测试法C.回溯法D.原因排除法24.软件设计中划分模块的一个准则是_。(分数:1.00)A.低内聚低耦合B.高内聚低耦合C.低内聚
12、高耦合D.高内聚高耦合25.已知 char*p, *q;,正确的语句是_。(分数:1.00)A.p*=3;B.p/=q;C.p+=3;D.p+=q;26.已知大写字母 A的 ASCII码值是 65,小写字母 a的 ASCII码是 97,则用八进制表示的字符常量 “/101“是( )。(分数:1.00)A.字符 AB.字符 aC.字符 eD.非法的常量27.数据流程图(DFD)是_。(分数:1.00)A.软件概要设计的工具B.软件详细设计的工具C.结构化方法的需求分析工具D.面向对象方法的需求分析工具28.某系统结构图如下图所示: (分数:1.00)A.2B.3C.4Dn29.有以下程序: #i
13、ncludestdio.h main() char c25=“6938“,“8254“,*p2; int i,j,s=0; for(i=0;i2;i+)pi=ci; for(i=0;i2;i+) for(j=0;pij0;j+=2)s=10*s+pij-“0“; printf(“%d/n“,s); 程序运行后的输出结果是_。(分数:1.00)A.6938B.9824C.4528D.638530.以下选项中,能用做数据常量的是_。(分数:2.00)A.115LB.0118C.1.5e1.5D.o11531.以下有关宏替换的叙述不正确的是_。(分数:2.50)A.双引号中出现的宏名不替换B.使用宏
14、定义可以嵌套C.宏定义仅仅是符号替换D.宏名必须用大写字母表示32.以下程序段给数组所有元素输入数据: #include stdio.h main() int a10, i=0; while(i10) scanf(“%d“, _); 应在下划线处填入的是(分数:1.00)A.a+(i+)B.B.(a=c)|(b=c);C.(a=c)D.a=c=b;34.有以下程序: #include string.h struct STU char name 10; int num; void f(char * name, int num) struct STU s2= “ SunDan“, 20044, “
15、 Penghua“, 20045; num=s0.num; strcpy(name, s0.name); main() struct STU s2= “YangSan“, 20041, “ LiSiGuo“, 20042 , * p; p=s1; f(p-name, p-num); printf(“ % s % d/n“, p- name, p-num); 程序运行后的输出结果是(分数:2.00)A.SunDan 20042B.SunDan 20044C.LiSiGuo 20042D.YangSan 2004135.若有定义: float x=1.5; int a=1, b=3, c=2; 则
16、正确的 switch语句是_。(分数:1.00)A.switch(a+b)case 1:printf(“*/n“);case 2+1:printf(“*/n“);B.switch(int)x);case 1:printf(“*/n“);case 2:printf(“*/n“);C.switch(x)case 1.0:printf(“*/n“);case 2.0:printf(“*/n“);D.switch(a+b)case 1:printf(“*/n“);case c:printf(“*/n“);36.有以下程序 #includestdio.h void fun(int *p, int*q)
17、int t; t=*p; *p=*q; *q=t; *q=*p; main() int a=0, b=9; fun( printf(“%d%d/n“, a, b); 程序的输出结果是_。(分数:2.00)A.0 9B.0 0C.9 0D.9 937.由以下 while构成的循环,循环体执行的次数是_。 int k=0; while(k=1)k+;(分数:1.00)A.有语法错,不能执行B.一次也不执行C.执行一次D.无限次38.以下程序中函数 sort()的功能是对数组 a中的数据进行由大到小的排序。 #includestdio.h void sort(int a,int n) int i,j
18、,t; for(i=0;in-1;i+) for(j=i+1;jn;j+) if(aiaj) t=ai;ai=aj;aj=t; main() int a10=1,2,3,4,5,6,7,8,9,10),i; sort( for(i=0;i10;i+) printf(“%d,“,ai); 程序运行后的输出结果是_。(分数:2.00)A.1,2,3,4,5,6,7,8,9,10,B.10,9,8,7,6,5,4,3,2,1,C.1,8,7,6,5,4,3,2,9,10,D.1,2,10,9,8,7,6,5,4,3,39.下列函数的功能是_。 fun(char *a,char *b) while(*
19、b=*a)!=“/0“)a+;b+;(分数:1.00)A.将 a所指字符串赋给 b所指空间B.使指针 b指向 a所指字符串C.将 a所指字符串和 b所指字符串进行比较D.检查 a和 b所指字符串中是否有“/0“40.有以下程序段: char name 20; int num; scanf(“name=%s num=%d“,name, 当执行上述程序段,并从键盘输入:name=Lili num=1001回车后,name 的值为_。(分数:2.50)A.name=Lili num=1001B.name=LiliC.Lili nun=D.Lili二级 C语言分类模拟题 542答案解析(总分:55.0
20、0,做题时间:90 分钟)一、选择题(总题数:40,分数:55.00)1.关于字符常量,以下叙述正确的是_。(分数:2.00)A.空格不是一个字符常量B.字符常量能包含大于一个的字符C.单引号中的大写字母和小写字母代表的是相同的字符常量D.所有的字符常量都可以作为整型量来处理 解析:2.以下数组定义中错误的是_。(分数: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; 解析:3.有以下程序 #include stdio.h void fun(int *a, int n)/* fun
21、 函数的功能是将 a所指数组元素从大到小排序*/ int t, i,j; for (i=0; in-1 ;i+) for 0=i+l; jn; j+) if(aiaj) t=ai; ai=aj; aj=t; main() int c10= 1,2,3,4,5,6,7,8,9,0,i; fun(c+4, 6); for (i=0;i10; i+) printf(“%d,“, ci); printf(“/n“); (分数:1.00)A.1,2,3,4,5,6,7,8,9,0,B.0,9,8,7,6,5,1,2,3,4,C.0,9,8,7,6,5,4,3,2,1,D.1,2,3,4,9,8,7,6,
22、5,0, 解析:解析 本题考查的知识点是:for 循环的简单应用。 题目中 fun()函数的作用是排序,从形参指针 a所指位置开始,对其后 n个 int型元素进行从大到小排序。主函数中,调用 fun()函数传入的两个实参分别为 c+4和 6,即从数组 c的第 5个元素开始,对其后连续的 6个元素进行从大到小排序。所以,最后通过 for循环输出数组 c的值为“1,2,3,4,9,8,7,6,5,0,”,故应该选择 D。4.有以下程序: #includestdio.h main() int k=-3; if(k=0) printf(“*/n“) else printf(“ 程序的输出结果是(分数:
23、2.00)A.输出#B.输出 for(i=0; i2; i+) if(i=0)aaii+1=*p+1; else+p; printf(“%d“, *p); printf(“/n“); 程序的输出结果是(分数:1.00)A.23 B.26C.33D.36解析:7.有以下程序: #includestdio.h main() int s, t, A=10; double B=6; s=sizeof(A); t=sizeof(B); printf(“%d, %d/n“, s, t); 在 VC6平台上编译运行,程序运行后的输出结果是_。(分数:1.00)A.2,4B.1,4C.4,8 D.10,6解析
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 分类 模拟 542 答案 解析 DOC
