[计算机类试卷]国家二级C语言机试(数组)模拟试卷2及答案与解析.doc
《[计算机类试卷]国家二级C语言机试(数组)模拟试卷2及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言机试(数组)模拟试卷2及答案与解析.doc(28页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言机试(数组)模拟试卷 2及答案与解析 一、选择题 1 若有定义语句: int m 3=1,2,3,4,5,6,7;,则与该语句等价的是( )。 ( A) int m 3=1,2,3,4,5,6,7; ( B) int m 3=1,2,3, 4 ,5, 6,7; ( C) int m 3=1,2,3,4,5,6,7; ( D) int m 3=1,2,3,4,5,6,7; 2 设有定义: char p=1, 2, 3,*q=p; 以下不能计算出一个 char型数据所占字节数的表达式是( )。 ( A) sizeof(p) ( B) sizeof(char) ( C) sizeof
2、(*q) ( D) sizeof(p0) 3 有以下程序 #include #include main() char str20=“One*World“,“One*Dream!“,*p=str1; printf(“%d,“,strlen(p); printf(“%sn“,p); 程序运行后的输出结果是( )。 ( A) 10,One*Dream! ( B) 9,One*Dream! ( C) 9,One*World ( D) 10,One*World 4 有以下程序 #include main() char s=“012xy08s34f4w2“; int i, n=0; for ( i=0;
3、si!=0; i+ ) if(si = 0 strcat(p, r); strcpy(p+strlen(q), q); printf(“%dn“, strlen(p); 程序运行后的输出结果是( )。 ( A) 6 ( B) 9 ( C) 11 ( D) 7 7 若有定义语句: char *s1=“OK“, *s2=“ok“; 以下选项中,能够输出 “OK“的语句是( )。 ( A) if (strcmp(s1,s2)!=0) puts(s1); ( B) if (strcmp(s1,s2)!=0) puts(s2); ( C) if (strcmp(s1,s2)=1) puts(s1); (
4、 D) if ( strcmp(s1,s2)=0) puts(s1); 8 有以下程序,程序中库函数 islower (ch)用以判断 ch中的字母是否为小写字母 #include #include void fun(char *p ) int i=0; while(pi) if(pi= i+; main() char s1100=“ab cd EFG !“; fun(s1); printf(“%sn“,s1); 程序运行后的输出结果是( )。 ( A) aB cD EFG ! ( B) Ab Cd EFg ! ( C) ab cd EFG ! ( D) ab cd EFg ! 9 有以下程序
5、( strcat函数用以连接两个字符串 ) #include #include main() char a20=“ABCD0EFG0“,b=“IJK“; strcat(a,b); printf(“%sn“,a); 程序运行后的输出结果是( )。 ( A) ABCDIJK ( B) ABCDE0FG0IJK ( C) IJK ( D) EFGIJK 10 有以下程序 #include main() char s=“012xy“; int i,n=0; for(i=0;si!=0;i+) if(si=a else return(n+fun(n-1); main() int x; scanf(“%d
6、“, x=fun(x); printf(“%dn“,x); 执行程序时,给变量 x输入 10,程序的输出结果是( )。 ( A) 55 ( B) 54 ( C) 65 ( D) 45 12 以下能正确定义字符串的语 句是( )。 ( A) char str=“0“; ( B) char str=“x43“; ( C) char str=; ( D) char str=064; 13 以下关于字符串的叙述中正确的是( )。 ( A)空串比空格打头的字符串小 ( B)两个字符串中的字符个数相同时才能进行字符串大小的比较 ( C)可以用关系运算符对字符串的大小进行比较 ( D) C语言中有字符串类型
7、的常量和变量 14 若要求从键盘读入含有空格字符的字符串,应使用函数( )。 ( A) gets() ( B) getc() ( C) getchar() ( D) scanf() 15 若有以下程序 #include main() int i,j=0; char a=“How are you!“; for (i=0; ai; i+) if (ai != ) aj+=ai; aj=0; printf(“%sn“,a); 则程序的输出结果是( )。 ( A) Howareyou! ( B) Howareyou ( C) Hay! ( D) How are you! 16 若有以下程序 #incl
8、ude main() char a20, b =“The sky is blue.“; int i; for (i=0; i表示回车符 ) Fig flower is red. 则输出结果是( )。 ( A) wer is red.Fig flo is blue. ( B) wer is red.Fig flo ( C) wer is red.The sky is blue. ( D) Fig flower is red.The sky is blue. 17 若有以下程序 #include main() int i, j=0; char a=“How are you!“, b10; for
9、( i=0; ai; i+ ) if (ai = ) bj+=ai+1; bj=0; printf(“%sn“,b); 则程序的输出结果是( )。 ( A) ay ( B) Howareyou ( C) Hay! ( D) Howareyou! 18 若有以下程序 #include main() char a20, b =“The sky is blue.“; int i; for (i=0; i 则输出结果是( )。 ( A) Fig flower is red. ( B) Fig flower is red.is blue. ( C) Fig floweris red. ( D) Fig
10、floweris 19 若有以下程序 #include main() char w20=“dogs“, a510=“abcdef“, “ghijkl“, “mnopq“, “rstuv“, “wxyz .“; int i, j, k; for (i=0; wi; i+) for (j=0; j #include main() char a10 = “abc“, b10 = “012“, c10 = “xyz“; strcpy( a+1, b+2 ); puts( strcat( a, c+1 ) ); 程序运行后的输出结果是( )。 ( A) a2yz ( B) bc2yz ( C) a12x
11、yz ( D) 12yz 26 以下选项中,没有编译错误的是( )。 ( A) char str3 = d, e, b, u, g, 0; ( B) char str15 = “pass“, str26; str2 = str1; ( C) char name10; name = “china“; ( D) char str4; str4 = “hello world“; 27 有以下程序 #include main() char a510 = “one“, “two“, “three“, “four“, “five“ ; int i, j; char t; for ( i=0; ia j0
12、) t=ai0; ai0=aj0; aj0=t; puts(a1); 程序运行后的输出结果是( )。 ( A) fwo ( B) owo ( C) two ( D) fix 28 有以下程序 #include #include main() int i; char a=“How are you!“; for (i=0; ai; i+) if (ai = ) strcpy(a, printf(“%sn“,a); 程序的运行 结果是( )。 ( A) are you! ( B) Howareyou! ( C) areyou! ( D) you! 29 有以下程序 #include main() c
13、har b310; int i; for (i=0; i 则输出结果是( )。 ( A) Figflower is red. ( B) Figfloweris red. ( C) Figflowerisred. ( D) Fig flower is red. 30 有以下程序 #include #include main() char w20, a510=“abcdef“, “ghijkl“, “mnopq“, “rstuv“, “wxyz.“; int i; for (i=0; i #include main() int i; char a=“How are you!“; for (i=0;
14、 ai; i+) if (ai = ) strcpy(a, i=0; printf(“%sn“,a); 程序的运行结果是( )。 ( A) you! ( B) Howareyou! ( C) areyou! ( D) are you! 32 有以下程序 #include main() char b410; int i; for (i=0; i则输出结果是( ) 。 ( A) Figflowerisred. ( B) Figfloweris red. ( C) Figflower is red. ( D) Fig flower is red. 33 有以下程序 #include #include
15、 main() char w20, a510=“abcdef“, “ghijkl“, “mnopq“, “rstuv“, “wxyz.“; int i; for (i=0; i #include main() char str12 = s,t , r , i , n , g ; printf(“%dn“, strlen( str ) ); 程序运行后的输出结果是( )。 ( A) 6 ( B) 7 ( C) 11 ( D) 12 35 有以下程序 #include #include main() char s=“Beijing“; printf(“%dn“, strlen(strcpy( s,
16、“China“) ); 程序运行后的输出结果是( )。 ( A) 5 ( B) 7 ( C) 12 ( D) 14 36 有如下程序 #include main() char name10 = S, T, R, I, N, G; name3 = E; name5 = 0; printf(“%sn“, name); 程序运行后的输出结果是( )。 ( A) STREN ( B) STRIEG ( C) STRENG ( D) STREN0 37 设有以下定义 char s1=“0123“; char s2=0,1,2,3; 则以下叙述正确的是( )。 ( A)数组 s1的长度大于 s2的长度 (
17、 B)数组 s1和 s2的长度相同 ( C)数组 s1的长 度小于 s2的长度 ( D)数组 s1和 s2完全等价 38 有以下程序 #include main() char *mm4=“abcd“,“1234“,“mnop“,“5678“; char *pm=mm; int i; for(i=0; i读入到 str中的程序段是( )。 ( A) char str80; scanf(“%s“,str) ; ( B) char str80; int i=0; while(stri+=getchar()!=n); stri=0; ( C) char str80; gets(str); ( D) c
18、har str80, *ps=str; do scanf(“%c“,ps); while(*ps+ !=n); *(ps)=0; 国家二级 C语言机试(数组)模拟试卷 2答案与解析 一、选择题 1 【正确答案】 A 【试题解析】 考查二维数组的初始化。初始化二维数组的时候若给数组的全部元素均赋初值,此时第一维的元素个数可以不指定,部分赋值时,最后一行元素不写完整,此时数组第一维元素个数仍然可以不指定。题中为按行给数组 m赋值,最后一行只有部分赋初值,答案选 A。 【知识模块】 数组 2 【正确答案】 A 【试题解析】 数组名表示该数组的首地址,是一个地址常量,所以 sizeof(p)求得的是
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 数组 模拟 答案 解析 DOC
