【计算机类职业资格】二级C语言分类模拟题526及答案解析.doc
《【计算机类职业资格】二级C语言分类模拟题526及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言分类模拟题526及答案解析.doc(19页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言分类模拟题 526及答案解析(总分:55.00,做题时间:90 分钟)一、选择题(总题数:35,分数:55.00)1.以下选项中,合法的一组 C语言数值常量是_。(分数:1.00)A.028.5e-3-0xfB.12.0Xa234.5e0C1774e1.50abcD.0x8A10,0003. e52.有以下程序: #includestdio.h int m1(int x, int y) if(x=y)return 2 * x+1; else return y; int m2(int x, int y) if(x=y)return 2 * y+1; else return x; ma
2、in() int i, t1=10, t2=0; for(i=1; i=4; i+) t1=m1(i, t1); t2=m2(i, t2); printf(“t1=%d t2=%d/n“, t1, t2); 程序运行后的输出结果是_。(分数:1.00)A.t1=9 t2=4B.t1=4 t2=9C.t1=9 12=9D.t1=1 t2=43.已有定义 int a=3;和输出语句 printf(“%8x“,a);以下正确的叙述是_。(分数:2.50)A.整型变量的输出格式符只有%d 一种B.%x是格式符的一种,它可以适用于任何一种类型的数据C.%x是格式符的一种,其变量的值按十六进制数输出,但%
3、8x 是错误的D.%8x是正确的格式符,其中数字 8规定了输出字段的宽度4.有以下程序: #include stdio.h main( ) int a=3; a+=a-=a*a; printf(“%d/n“,a); 程序的输出结果是_。(分数:1.00)A.0B.9C.3D.-125.C语言主要是借助以下哪种手段来实现程序模块化?_(分数:2.00)A.定义函数B.定义常量和外部变量C.使用丰富的数据类型D.使用三种基本结构语句6.关于函数返回值,以下叙述正确的是_。(分数:1.00)A.函数可以返回整个结构体,即使结构体中有数组B.函数只能返回基本数据类型的数值或指针C.函数不可以返回一个数
4、组D.函数不能没有返回值7.若有定义: char s30=0; 运行时输入: This is a string.回车 则以下不能正确读入整个字符串: This is a string. 到字符数组 s中的语句组是_。(分数:1.00)A.i=0;while(c=getchar()!=“/n“)si+=c;B.gets(s);C.for(i=0;(c=getchar()!=“/n“;i+)si=c;D.scanf(“%s“,s);8.设 p1和 p2是指向一个 int型一维数组的指针变量,k 为 int型变量,则不能正确执行的语句是(分数:1.00)A.k=*p1+*p2B.p2=k;C.p1=
5、p2;D.k=*p1*(*p2);9.以下选项中可用做 C程序合法实数的是_。(分数:2.00)A.3.0e0.2B1e0CE9D.9.12E10.为了建立如下图所示的存储结构(即每个结点含两个域,data 是数据域,next 是指向结点的指针域)则在_处填入的选项是_。 struct linkchar data; _ node; (分数:1.00)A.struet link *next;B.link next;C.link *next;D.struct link next;11.以下有 4组用户标识符,其中合法的一组是 _。(分数:2.00)A.For-subCaseB.4dDOSizeC.
6、f2_G3IFabcD.WORDvoiddefine12.有以下程序 #includestdio.h #includestring.h main() char str20=“One*World“,“One*Dream!“),/p=str1; printf(“%d,“,strlen(p);printf(“%s/n“,p); 程序运行后的输出结果是_。(分数:4.00)A.10,One*Dream!B.9,One*Dream!C.9,One*WorldD.10,One*World13.下面描述中,不属于软件危机表现的是_。(分数:2.50)A.软件过程不规范B.软件开发生产率低C.软件质量难以控制
7、D.软件成本不断提高14.以下程序的输出结果是 _ 。 #include stdio.h charcchar(char eh) if(ch=“A, for(i=0;in-1;i+) for(j=i+1;jn;j+) if(flag) if(aiaj) t=ai;ai=aj;aj=t; else if(aiaj) t=ai;ai=aj;aj=t; main() int c10=7,9,10,8,3,5,1,6,2,4,i; fun(c,4,1); fun(c+4,6,0); for(i=0;i10;i+)printf(“%d,“,ci); printf(“/n“); 程序运行后的输出结果是_。(
8、分数:1.00)A.7,8,9,10,6,5,4,3,2,1,B.10,9,8,7,6,5,4,3,2,1,C.10,9,8,7,1,2,3,4,5,6,D.1,2,3,4,5,6,7,8,9,10,18.在 Windows环境下,能实现窗口移动的操作是( )(分数:1.00)A.用鼠标拖动窗口中的任何部位B.用鼠标拖动窗口的边框C.用鼠标拖动窗口的控制按钮D.用鼠标拖动窗口的标题栏。19.有以下程序,程序中库函数“islower (ch)”用以判断 ch中的字母是否为小写字母 #include stdio.h #include ctype.h void fun(char *P) int i=
9、0; while(pi) if(pi=“ i+; main() char s1100=“ab cd EFG!“; fun(s1); printf(“%s/n“,s1); 程序运行后的输出结果是_。(分数:1.00)A.ab cd EFG !B.Ab Cd EFg !C.aB cD EFG !D.ab cd EFg !20.以下程序中函数 reverse 的功能是将 a所指数组中的内容进行逆置。 void reverse(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 b10=1,2,
10、3,4,5,6,7,8,9,10; int i, s=0; reverse(b,8); for(i=6;i10;i+) s+=bi; printf(“%d/n“, s); 程序运行后的输出结果是(分数:1.00)A.22B.10C.34D.3021.在下述程序中,判断 ij 共执行的次数是 _ 。 main() int i=0,j=10,k=2,s=0; for(;) i+=k; if(ij) printf(“%d“,s);break; s+=i; (分数:2.00)A.4B.7C.5D.622.以下叙述中错误的是_。(分数:2.50)A.改变函数形参的值,不会改变对应实参的值B.函数可以返回
11、地址值C.可以给指针变量赋一个整数作为地址值D.当在程序的开头包含文件 stdio.h时,可以给指针变量赋 NULL23.有以下程序: #includestdio.h #define S(x)4*(x)*x+1 main() int k=5,j=2; printf(“%d/n“,S(k+j); 程序的运行结果是_。(分数:2.00)A.33B.197C.143D.2824.设有宏定义: #define IsDIV(k,n)(k%n=1)?1:0) 且变量 m已正确定义并赋值,则宏调用: IsDIV(m,5) while(!(k0|n+); printf(“%d %d/n“,k,n); 程序运行
12、后的输出结果是_。(分数:2.50)A.0 2B.1 3C.5 7D.1 226.若打开一个新的文本文件 c.txt中的数据做读/写操作,则在“fp=fopen(“c.txt“,模式字符串);”中,模式字符串应当是_。(分数:2.00)A.“w+“B.“r+“C.“a+“D.“r“27.有以下程序: #defme P 3 void P(int x)return(p*x*x); main() pritnf(“%d/n“,F(3+5); 程序运行后的输出结果是( )。(分数:1.00)A.192B.29C.25D.编译出错28.有如下程序段: int x=12; double y=3.141593
13、; printf(“%d%8.6f“,x,y); 其输出结果是_。(分数:2.00)A.123.141593B.123.141593C.12,3.141593D.123.141593029.有两个关系 R和 T如下: R A B C a 1 2 b 4 4 c 2 3 d 3 2 T A C a 2 b 4 c 3 d 2 则由关系 R得到关系 T的操作是_。(分数:1.00)A.选择B交C.投影D并30.设有宏定义: #define IsDIV(k,n) (k%n=1)?1:0) 且变量 m已正确定义并赋值,则宏调用: IsDIV(m,5) do bi+=bi+1; while(+i2);
14、main() int k, a5=1, 3, 5, 4, 9; fun(a); for(k=0; k5; k+)printf(“%d“, ak); (分数:2.50)A.13579B.48579C.48549D.4899932.以下程序的输出结果是_。 #include stdio.h main() int i; for(i=1; i=5; i+) if(i% 2) putchar(“); else continue; putchar (“); putchar (“#“); (分数:2.50)A. #B. #C. #D. #33.设有以下定义: union data int d1; float
15、 d2; demo; 则下面叙述中错误的是 _ 。(分数:1.00)A.变量 demo与成员 d2所占的内存字节数相同B.变量 demo中各成员的地址相同C.变量 demo和各成员的地址相同D.若给 demo.d1赋 99后,demo.d2 中的值是 99.034.若有以下定义,则对 a数组元素地址的正确引用是_。 int a5,*p=a;(分数:1.00)A.p+5B.*a+1C.double b;float c;char k;,则表达式 a/b+c-k的值的类型为_。(分数:1.00)A.intB.doubleC.floatD.char二级 C语言分类模拟题 526答案解析(总分:55.0
16、0,做题时间:90 分钟)一、选择题(总题数:35,分数:55.00)1.以下选项中,合法的一组 C语言数值常量是_。(分数:1.00)A.028.5e-3-0xfB.12.0Xa234.5e0 C1774e1.50abcD.0x8A10,0003. e5解析:解析 C 语言中,八进制数其开头必须是数字“0”,其数字包括 07,因此选项 A错误。浮点数据的指数形式表示中,字母 e或 E之后的指数必须为整数,所以选项 C错误。选项 D中,整型数据10,000的表示形式是错误的。2.有以下程序: #includestdio.h int m1(int x, int y) if(x=y)return
17、2 * x+1; else return y; int m2(int x, int y) if(x=y)return 2 * y+1; else return x; main() int i, t1=10, t2=0; for(i=1; i=4; i+) t1=m1(i, t1); t2=m2(i, t2); printf(“t1=%d t2=%d/n“, t1, t2); 程序运行后的输出结果是_。(分数:1.00)A.t1=9 t2=4 B.t1=4 t2=9C.t1=9 12=9D.t1=1 t2=4解析:解析 由程序可知,main 函数的 for循环中 i的取值为 1、2、3、4。t1
18、 初值为 10,t2 初值为0,当 i=1时,传入函数 m1的参数为:1、10,因为 110,所以函数 m1的返回值为 21+1=3;传入函数m2的参数为 1、0,因为 10,所以返回值为 1;即第一轮循环后,t1=3,t2=1。当 i=2时,传入函数 m1的参数为 2、3,因为 23,所以函数返回值为 22+1=5;传入函数 m2的参数为 2、1,因为 21,所以函数返回值为 2;即第二轮循环后,t1=5,t2=2。当 i=3时,传入函数 m1的参数为 3、5,因为 35,所以返回值为 23+1=7;传入函数 m2的参数为 3、2,因为 32,所以返回值为 3;即第三轮循环后,t1=7,t2
19、=3。当 i=4时,传入函数 m1的参数为 4、7,因为 47,所以函数返回值为 24+1=9,传入函数 m2的参数为 4、3,因为 43,所以函数返回值为 4,即第四轮循环后,t1=9,t2=4。故答案选 A选项(仔细分析可以发现,对于 m1函数,由于第一次 110,导致后面每次参数 x都是 i,而参数 y都是2i-1,返回值都是 2i+1。同理,对于 m2函数,由于第一次 10,导致后面每次参数 x都是 i,而 y都是 i-1,返回值都是 i,所以最终结果为 t1=24+1,t2=4)。3.已有定义 int a=3;和输出语句 printf(“%8x“,a);以下正确的叙述是_。(分数:2
20、.50)A.整型变量的输出格式符只有%d 一种B.%x是格式符的一种,它可以适用于任何一种类型的数据C.%x是格式符的一种,其变量的值按十六进制数输出,但%8x 是错误的D.%8x是正确的格式符,其中数字 8规定了输出字段的宽度 解析:解析 本题考查 printf函数的格式。“%8x”表示以十六进制无符号形式输出整型数据。“8”表示指定输出数据的宽度为 8位。4.有以下程序: #include stdio.h main( ) int a=3; a+=a-=a*a; printf(“%d/n“,a); 程序的输出结果是_。(分数:1.00)A.0B.9C.3D.-12 解析:解析 等号“=”运算
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 分类 模拟 526 答案 解析 DOC
