【计算机类职业资格】二级C语言分类模拟题557及答案解析.doc
《【计算机类职业资格】二级C语言分类模拟题557及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言分类模拟题557及答案解析.doc(16页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言分类模拟题 557 及答案解析(总分:57.50,做题时间:90 分钟)一、选择题(总题数:40,分数:57.50)1.以下正确的字符串常量是_。(分数:2.00)A.“/“B.“abc“C.Olympic GamesD.“2.在一个 C 源程序文件中,定义一个只允许本源文件中所有函数使用的全局变量的存储类别是_。(分数:2.00)A.externB.staticC.registerD.auto3.以下关于 return 语句的叙述中正确的是_。(分数:1.00)A.没有 return 语句的自定义函数在执行结束时不能返回到调用处B.一个自定义函数中必须有一条 return 语句
2、C.定义成 void 类型的函数中可以有带返回值的 return 语句D.一个自定义函数中可以根据不同情况设置多条 return 语句4.设变量 x 为 long int 型并已正确赋值,以下表达式中能将 x 的百位上的数字提取出的是(分数:2.00)A.x/10%100B.x%10/100C.x%100/10D.x/100%105.某系统结构图如下图所示。 (分数:1.00)AnB.1C.3D.46.下列选项中不符合良好程序设计风格的是_。(分数:2.00)A.源程序要文档化B.数据说明的次序要规范化C.避免滥用 go to 语句D.模块设计要保证高耦合,高内聚7.以下数组定义中错误的是_。
3、(分数: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;8.以下关于结构化程序设计的叙述中正确的是_。(分数:1.00)A.一个结构化程序必须同时由顺序、分支、循环三种结构组成B.结构化程序使用 GOTO 语句会很便捷C.在 C 语言中,程序的模块化是利用函数实现的D.由三种基本结构构成的程序只能解决小规模的问题9.有以下程序,程序中库函数“islower (ch)”用以判断 ch 中的字母是否为小写字母 #include stdio.h #include ctype.h void
4、 fun(char *P) int i=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 !10.有以下程序: #includestdio.h double fun(int n) static double f=1; f*=n; return f; main() int i; double s=0; for(i=1; i6; i+)
5、 s+=fun(i); printf(“%If/n“, s); 程序计算的是_。(分数:1.00)A.s=1!+2!+3!+4!+5!B.s=1+2+3+4+5C.s=1*2*3*4*5D.s=1!*2!*3!*4!*5!11.设变量均已正确定义,若要通过 scanf(“%d%c%d%c“, 语句为变量 a1 和 a2 赋数值 10 和 20,为变量 c1 和 c2 赋字符 x 和 y。以下所示的输入形式中正确的是_。(注:代表空格字符)(分数:1.00)A.10X回车20Y回车B.10X20YC.10X回车20Y回车D.10X20Y回车12.有以下程序 main() int x=1,3,5,
6、7,2,4,6,0,i,j,k; for(i=0; i3 ; i+) for(j=2; j=i ; j-) if(xj+1xj) k=xj; xj=xj+1; xj+1=k; for(i=0; i3; i+) for(j=4; j7-i; j+) if(xjxj+1) k=xj; xj=xj+1; xj+1=k; for(i=0; i8; i+) printf(“%d“,xi); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.75310246B.01234567C.76310462D.1357024613.算法的有穷性是指_。(分数:2.00)A.算法程序的运行时
7、间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用14.有以下程序: #includestdio.h struct tt int x; struct tt *y; s2=1,0,2,0; main() struct tt *p=s; p-y=s; printf(“%d“,+p-x); 程序运行后的输出结果是_。(分数:1.00)A.2B.0C.1D.315.设有一个商店的数据库,记录客户及其购物情况,由三个关系组成:商品(商品号,商品名,单价,商品类别,供应商),客户(客户号,姓名,地址,电邮,性别,身份证号),购买(客户号,商品号,购买数量),
8、则关系购买的键为_。(分数:1.00)A.客户号B.商品号C.客户号,商品号D.客户号,商品号,购买数量16.以下叙述中正确的是_。(分数:2.00)A.赋值语句是一种执行语句,必须放在函数的可执行部分B.scanf 和 printf 是 C 语言提供的输入和输出语句C.由 printf 输出的数据都隐含左对齐D.由 printf 输出的数据的实际精度是由格式控制中的域宽和小数的域宽来完全决定的17.设有下列程序段: char str=“HelloWorld“; char*ptr; ptr=str; 执行上面的程序段后,*(ptr+10)的值为_。(分数:2.50)A.“/0“B.“0“C.不
9、确定的值D.“0“的地址18.下列关于栈的叙述正确的是_。(分数:1.00)A.栈按“先进先出”组织数据B.栈按“先进后出”组织数据C.只能在栈底插入数据D.不能删除数据19.以下程序的输出结果是_。 试题程序#include stdio.h main() int a, b, c; a=10; b=50; c=30; if(ab) a=b, b=c; c=a; printf(“a=% d, b=% d, c=% d“, a, b, c); (分数:1.00)A.a=10,b=50,c=10B.a=10,b=30,c=10C.a=50,b=30,c=10D.a=50,b=30,c=5020.有嵌
10、套的 if 语句: if(ab) if(ac)k=a; else k=c; else if(bc)k=b; else k=c; 以下选项中与上述 if 语句等价的语句是_。(分数:2.50)A.k=(ab)?(bc)?a:b):(bc)?b:c);B.k=(ab)?(ac)?a:c):(bc)?b:c);C.k=(ab)?a:b;k=(bc)?b:c;D.k=(ab)?a:b;k=(ac)?a:c;21.有以下程序: #includestdio.h #define SUB(A)(a)-(a) main() int a=2,b=3,c=5,d; d=SUB(a+b)*c; printf(“%d/
11、n“,d); 程序运行后的输出结果是_。(分数:1.00)A.0B.-12C.-20D.1022.有以下程序 #includestdio.h main() int a=2, c=5; printf(“a=%d, b=%d/n“, a, c); 程序的输出结果是_。(分数:2.00)A.a=2, b=5B.a=%2, b=%5C.a=%d, b=%dD.a=%d, b=%d23.下列叙述中正确的是_。(分数:2.50)A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态
12、变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定24.关系数据模型_。(分数:1.00)A.只能表示实体间 1:1 联系B.只能表示实体间 1:m 联系C.可以表示实体间 m:n 联系D.能表示实体间 1:n 联系而不能表示实体间 n:1 联系25.以下叙述中正确的是_。(分数:1.00)A.C 语言源程序即使不编译,也是可以直接运行的B.一个程序要被称为结构化程序,则只能包含循环结构、选择结构、顺序结构C.使用 N-S 流程图只能描述简单的算法D.复杂算法是指不能分解成子任务的算法26.若 i、j 已定义成 int 型,则下列程序段中内循环体的总执行次数是_。 for(i=6;
13、 i0; i-) for(j=0; j4; j+)(分数:2.50)A.20B.24C.25D.3027.下面不能作为结构化方法软件需求分析工具的是_。(分数:1.00)A.系统结构图B.数据字典(DD)C.数据流程图(DFD 图)D.判定表28.下列叙述中正确的是 _ 。(分数:2.00)A.break 语句只能用于 switch 语句体中B.continue 语句的作用是使程序的执行流程跳出包含它的所有循环C.break 语句只能用在循环体内和 switch 语句体内D.在循环体内使用 break 语句和 continue 语句的作用相同29.以下选项中,不正确的实型常量是_。(分数:1.
14、00)A.123B.1e4C.3.640E-1D.0.3530.有以下程序: #includestdio.h main() int sum,pad,pAd; sum=pad=5; pAd=+sum,pAd+,+pad; printf(“%d/n“,pad); 程序运行后的输出结果是_。(分数:1.00)A.5B.6C.7D.831.以下叙述中正确的是_。(分数:1.00)A.用户自己定义的函数只能调用库函数B.实用的 C 语言源程序总是由一个或多个函数组成C.不同函数的形式参数不能使用相同名称的标识符D.在 C 语言的函数内部,可以定义局部嵌套函数32.下面 4 个关于 C 语言的结论中错误的
15、是_。(分数:2.50)A.可以用 do.while 语句实现的循环一定可以用 while 语句实现B.可以用 for 语句实现的循环一定可以用 while 语句实现C.可以用 while 语句实现的循环一定可以用 for 语句实现D.do.while 语句与 while 语句的区别仅是关键字“while”出现的位置不同33.以下选项中能表示合法常量的是_。(分数:1.00)A.整数: 1,200B.实数: 1.5E2.0C.字符斜杠: “D.字符串: “/007“34.以下叙述中错误的是_。(分数:1.00)A.书写风格良好的程序执行效率高B.书写风格良好的程序易读性好C.C 程序可以在一行
16、上写多条语句D.C 程序允许将一条语句分写在多行上35.以下程序的输出结果是( )。 struct HAR int x, y; struct HAR *p; h2; main() h0.x=1; h0.y=2; h1.x=3; h1.y=4; h0.p=h1; h1.p=h; printf(“%d%d/n“, (h0.p) -x, (h1.p) -y); (分数:1.00)A.12B.23C.14D.3236.某二叉树有 5 个度为 2 的节点,则该二叉树中的叶子节点数是_。(分数:1.00)A.10B.8C.6D.437.有以下程序: #includestdio.h main() int x
17、; scanf (“%d“,B.int x3=0;C.int x23=1,2,3,4,5,6; D.int x23=1,2,3,4,5,6;解析:解析 C 选项中 x23定义的是一个 2 行 3 列的二维数组,而在给数组元素赋值时却赋成了 3 行,因此错误。8.以下关于结构化程序设计的叙述中正确的是_。(分数:1.00)A.一个结构化程序必须同时由顺序、分支、循环三种结构组成B.结构化程序使用 GOTO 语句会很便捷C.在 C 语言中,程序的模块化是利用函数实现的 D.由三种基本结构构成的程序只能解决小规模的问题解析:解析 结构化程序设计是指将待开发的软件系统划分为若干个相互独立的模块,与具体
18、的语句结构无关。goto 语句的滥用会导致程序的可读性降低。三种基本结构构成的程序依然可以解决大规模的问题,只是不利于复用。9.有以下程序,程序中库函数“islower (ch)”用以判断 ch 中的字母是否为小写字母 #include stdio.h #include ctype.h void fun(char *P) int i=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
19、!C.aB cD EFG ! D.ab cd EFg !解析:解析 fun 函数将空格之前的小写字母修改为大写字母,所以答案选 C。10.有以下程序: #includestdio.h double fun(int n) static double f=1; f*=n; return f; main() int i; double s=0; for(i=1; i6; i+) s+=fun(i); printf(“%If/n“, s); 程序计算的是_。(分数:1.00)A.s=1!+2!+3!+4!+5! B.s=1+2+3+4+5C.s=1*2*3*4*5D.s=1!*2!*3!*4!*5!解
20、析:解析 函数 fun()中的变量 f 是静态变量,所以只初始化一次,之后每次调用 fun(),f 的初值就是上一次 fun()结束时的值。对于 fun()函数,当传入 n=1 时,f=1,返回值为 1;当传入 n=2 时,f=12=2,返回值为 2;当传入 n=3 时,f=23=6,返回值为 6;当传入 n=4 时,f=64=24,返回值为24。所以每次调用 fun()函数时,f 变量在上一次 fun()函数运行结束时保留值的基础上,再与 n 相乘,并重新赋值给 f,所以可以将 f 理解为记录当前的累乘值,即当 main()函数中 i=1 时,f=1!=1;当 main()函数中 i=2 时
21、,f=2!=2,当 main()函数中 i=3 时,f=3!=6另外 main()函数中的 s 记录调用 fun()函数的返回值之和,所以 s=1!+2!+i!,由于 i 最大值为 5,所以 s=1!+2!+3!+4!+5!,故答案为 A 选项。11.设变量均已正确定义,若要通过 scanf(“%d%c%d%c“, 语句为变量 a1 和 a2 赋数值 10 和 20,为变量 c1 和 c2 赋字符 x 和 y。以下所示的输入形式中正确的是_。(注:代表空格字符)(分数:1.00)A.10X回车20Y回车B.10X20YC.10X回车20Y回车 D.10X20Y回车解析:解析 输入数据的格式必须
22、与 scanf()的格式控制串完全匹配,如果 A、B、C 选项中在数字 10 后面均输入了空格,则会将空格赋给变量 c1,而不是把 X 赋给 c1,所以选择 C 选项。12.有以下程序 main() int x=1,3,5,7,2,4,6,0,i,j,k; for(i=0; i3 ; i+) for(j=2; j=i ; j-) if(xj+1xj) k=xj; xj=xj+1; xj+1=k; for(i=0; i3; i+) for(j=4; j7-i; j+) if(xjxj+1) k=xj; xj=xj+1; xj+1=k; for(i=0; i8; i+) printf(“%d“,x
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 分类 模拟 557 答案 解析 DOC
