【计算机类职业资格】二级C语言-循环结构、数组(二)及答案解析.doc
《【计算机类职业资格】二级C语言-循环结构、数组(二)及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-循环结构、数组(二)及答案解析.doc(42页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-循环结构、数组(二)及答案解析(总分:74.00,做题时间:90 分钟)一、B选择题/B(总题数:34,分数:34.00)1.下面程序输出的结果是_。main() int i;int a33=1,2,3,4,5,6,7,8,9;for(i=0; iprintf(“% d“, a2-ii); A.1 5 9 B.7 5 3 C.3 5 7 D.5 9 1(分数:1.00)A.B.C.D.2.以下数组定义错误的是_。 A.int x3=0; B.int x23=1,2, 3,4, 5,6; C.int x3=1,2,3, 4, 5,6; D.int x3=1,2,3,4,5,6;(
2、分数:1.00)A.B.C.D.3.以下能正确定义数组并正确赋初值的选项是_。 A.int N =5,bNN; B.int a12 = 1, 3; C.int c2=1,2, 3,4; D.int d32=1,2, 3,4;(分数:1.00)A.B.C.D.4.以下能对二维数组 a 进行正确初始化的选项是_。 A.int a2=1,0,1, 5,2,3; B.int a3=1,2,3, 4,5,6; C.int a24=1,2,3, 4,5,6; D.int a3=1,0,1, , 1,1;(分数:1.00)A.B.C.D.5.已知 int 类型的变量占 4 个字节有下面的程序段:main()
3、 int a3=1,2,3, 4,5, 6, (8;printf(“% d“, sizeof(9);则程序段的输出结果是_。 A.12 B.24 C.48 D.64(分数:1.00)A.B.C.D.6.有以下程序:main()int m3=1,4,7,2,5,8,3,6,9;int i, j, k=2;for(i=0; i3; i+) printf(“% d“, mki);执行后输出的结果是_。 A.4 5 6 B.2 5 8 C.3 6 9 D.7 8 9(分数:1.00)A.B.C.D.7.已知字母 A 的 ASCII 码是 65,则有下面的程序段:#include stdio.hmain
4、() char c5=65, 66, 67, 68, 69;int i;for (i=0; i=4; i+)printf(“% c“, ci);则程序段的输出结果是_。 A.1 2 3 4 B.0 1 2 3 C.A B C D D.65 66 67 68(分数:1.00)A.B.C.D.8.下面程序输出的结果是_。#include stdio.hmain() char c9=T, h, a, /0, k, , y, o, u;printf(“% s“, c); A.Thank you B.Thank C.Tha D.无输出(分数:1.00)A.B.C.D.9.以下程序的输出结果是_。char
5、 c5=a, b, /0, c, /0;printf(“% s“, c); A.a B.b C.ab D.abc(分数:1.00)A.B.C.D.10.下面程序输出的结果是_。#include stdio.hmain() char w10=“ABCD“, “EFGH“, “IJKL“, “MNOP“;for(k=1; k3; k+) printf(“% s“, A.ABCD FGH KL B.ABC EFG IJ M C.EFG JK 0 D.FGH KL(分数:1.00)A.B.C.D.11.以下程序的输出结果是_。main() char a=“abcdefg“, b10=“abcdefg“
6、;printf(“% d% d/n“, sizeof(a), sizeof(b); A.77 B.88 C.810 D.1010(分数:1.00)A.B.C.D.12.下面程序输出的结果是_。#include stdio.h#include string.hmain() char c20=T, h, a, /0, k, u, y, o, u;printf(“% d“, strlen(c); A.20 B.9 C.3 D.4(分数:1.00)A.B.C.D.13.s1 和 s2 已正确定义并分别表示两个字符串。若要求当 s1 所指字符串大于 s2 所指字符串时,执行语句 S,则以下选项中正确的是
7、_。 A.if(s1s2)S; B.if(strcmp(s1, s2)S; C.if(strcmp(s2, s1)0)S; D.if(strcmp(s1, s2)0)S;(分数:1.00)A.B.C.D.14.调用函数 strlen(“abcd/0ef/0g“)的返回值为_。 A.4 B.5 C.8 D.9(分数:1.00)A.B.C.D.15.有以下程序:#include stdio.h#include string.hmain() char a=a, b, c, d, e, f, g, h, /0;int i, j;i=sizeof(a); j=strlen(a);printf(“% d,
8、 % d/n“, i, j);程序运行后的输出结果是_。 A.9,9 B.8,9 C.1,8 D.9,8(分数:1.00)A.B.C.D.16.以下程序中函数 reverse()的功能是将 a 所指数组中的内容进行逆置存放。#include stdio.hvoid 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,3,4,5,6,7,8,9,10; int i, s=0;reverse(b, 8);for(i=6; i10; i+)s+=bi;printf
9、(“% d/n“, s);则程序运行后的输出结果是_。 A.22 B.10 C.34 D.30(分数:1.00)A.B.C.D.17.有以下程序:main( int argc, char * argv) int n, i=0;while(argv1i!=/0) n=fun(); i+;printf(“% d/n“, n * argc);int fun() static int s=0;s+=1;return s;假设程序经编译、连接后生成可执行文件 exam.exe,若输入以下命令行 exam 123 回车则运行结果为_。 A.6 B.8 C.3 D.4(分数:1.00)A.B.C.D.18.
10、以下程序的输出结果是_。# include stdio, h# include string, hmain() char str12=s, t, r, i, n, g;printf(“% d/n“, strlen(str); A.6 B.7 C.11 D.12(分数:1.00)A.B.C.D.19.若有说明:int a34;,则对数组 a 元素非法引用的是_。 A.a02*1 B.a13 C.a4-20 D.a04(分数:1.00)A.B.C.D.20.若有说明:int a4=0,0;,则以下选项中,不正确的是_。 A.数组 a 的每个元素都可得到初值。 B.二维数组 a 的第一维大小为 1
11、C.因为二维数组 a 中初值的个数不能被第二维大小的值整除,则第一维的大小等于所得商数再加1,故数组 a 的行数为 1 D.只有元素 a00和 a01可得到初值 0,其余元素均得不到初值 0(分数:1.00)A.B.C.D.21.以下程序中有错误的一行是_。(1)main()(2)(3)int a3=1;(4)int i;(5)scanf(“% d“, (6)for(i=1; i3; i+) a0=a0+ai;(7)printf(“% f/n“, a0);(8) A.3 B.6 C.7 D.5(分数:1.00)A.B.C.D.22.若有说明:int a3=1,2,3,4,5,6,7;,则 a
12、数组第一维的大小是_。 A.2 B.3 C.4 D.无确定值(分数:1.00)A.B.C.D.23.若有数组定义:char array=“China“;,则数组 array 所占的空间为_。 A.4 个字节 B.5 个字节 C.6 个字节 D.7 个字节(分数:1.00)A.B.C.D.24.以下程序的输出结果是_。#include stdio.h#include string.hmain() char arr24;strcpy(arr, “you“); strcpy(arr1, “me“);arr03=printf( “% s/n“, arr); A.youfor(i=0; ik; i+)n
13、i=ni+i;printf(“% d/n“, nk);该程序的输出结果是_。 A.不定值 B.2 C.1 D.0(分数:1.00)A.B.C.D.26.以下程序的输出结果是_。#include stdio.hmain() int a33=1,2, 3,4, 5,6, i, j, s=0;for(i=1; i3; i+)for(j=0; ji; j+)s+=aij;printf(“% d/n“, s); A.14 B.19 C.20 D.21(分数:1.00)A.B.C.D.27.当执行以下程序时,如果输入 ABC,则输出结果是_。#include stdio.h#include string.
14、hmain() char ss10=“1,2,3,4,5“;gets(ss); strcat(ss, “6789“); printf(“% s/n“, ss); A.ABC6789 B.ABC67 C.12345ABC6 D.ABCA56789(分数:1.00)A.B.C.D.28.以下程序的输出结果是_。#include stdio.hf(int b, int m, int n) int i, s=0;for(i=m; in; i=i+2)s=s+bi;return s;main() int x, a=1,2,3,4,5,6,7,8,9;x=f(a,3,7);printf(“% d/n“,
15、x); A.10 B.18 C.8 D.15(分数:1.00)A.B.C.D.29.以下程序中函数 sort()的功能是对数组 a 中的数据进行由大到小的排序。#include stdio.hvoid sort (int a, int n) int i, j, t;for(i=0; in-1; i+)for(j=i+1; jn; j+)if(aiaj) t=ai; ai=aj; aj=t;main() int aa10=1,2,3,4,5,6,7,8,9,10, i;sort(for(i=0; i10; i+) printf(“% d,“, aai);printf(“/n“);程序运行后的输出
16、结果是_。 A.1,2,3,4,5,6,7,8,9,10, B.10,9,8,7,6,5,4,3,2,1, C.1,2,3,8,7,6,5,4,9,10, D.1,2,10,9,8,7,6,5,4,3,(分数:1.00)A.B.C.D.30.对两个数组 a 和 b 进行以下初始化:char a=“ABCDEF“;char b=A, B, C, D, E, F;则以下叙述正确的是_。 A.数组 a 与数组 b 完全相同 B.数组 a 与数组 b 长度相同 C.数组 a 与数组 b 中都存放字符串 D.数组 a 比数组 b 长度长(分数:1.00)A.B.C.D.31.有以下程序段:char a3
17、, b=“China“;a=b;printf(“% s“, a);则_。 A.运行后将输出 China B.运行后将输出 Ch C.运行后将输出 Chi D.编译出错(分数:1.00)A.B.C.D.32.判断字符串 s1 是否大于字符串 s2,应当使用_。 A.if(s1s2) B.if(strcmp(s1, s2) C.if(strcmp(s2, s1)0) D.if(strcmp(s1, s2)0)(分数:1.00)A.B.C.D.33.以下程序的输出结果是_。#include stdio.hmain() char ch7=“12ab56“;int i, s=0;for(i=0; chi
18、=0 i+=2)s=10*s+chi-0;printf(“% d/n“, s); A.1 B.1256 C.12ab56 D.1(分数:1.00)A.B.C.D.34.当运行以下程序时,从键盘输入:AhaMA空格Aha 回车,则程序的输出结果是_。#include stdio.hmain() char s80, c=a;int i=0;scanf(“% s“, s);while(si! =/0) if(si=c) si=si-32;else if(si=c-32) si=si+32;i+;puts (s); A.ahAMa B.AbAMa C.AhAMa空格ahA D.ahAMa空格ahA(分
19、数:1.00)A.B.C.D.二、B操作题/B(总题数:15,分数:40.00)35.以下程序的功能是:从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入,请填空。试题程序#include stdio.hmain() float x, amax, amin;scanf(“% f“, amax=x; amin=x;while(_) if(xamax) amax=x;if(_) amin=x;scanf(“% f“, printf(“/namax=% f/n amin=% f/n“, amax, amin);(分数:5.00)填空项 1:_36.下列给定程序中函数 fu
20、n 的功能是:计算正整数 num 各位上的数字之积。例如,若输入 252,则输出应该是 20。若输入 202,则输出应该是 0。请改正程序中的错误,使它能得出正确的结果。注意:不要改动 main()函数,不得增行或删行,也不得更改程序的结构。试题程序#include stdio.h#include conio.hlong fun long num) /* * * * *found* * * * * /long k;do k*=num% 10;/* * * * *found* * * * * /num /=10;while(num);return(k);main() long n;printf(
21、“please enter a number:“);scanf(“% ld“, printf(“/n% ld/n“, fun(n);_37.请编写函数 fun(),其功能是:找出 2M 整型二维数组中最大元素的值,并将此值返回调用函数。注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun()的花括号中填入你编写的若干语句。试题程序#define M 4#include stdio.hint fun(int aMvoid main() int arr2M=5, 8, 3, 45, 76, -4, 12, 82;printf(“max=% d/n“, fun
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 循环 结构 数组 答案 解析 DOC
