[计算机类试卷]国家二级C语言(函数和数组)机试模拟试卷17及答案与解析.doc
《[计算机类试卷]国家二级C语言(函数和数组)机试模拟试卷17及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言(函数和数组)机试模拟试卷17及答案与解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言(函数和数组)机试模拟试卷 17及答案与解析 一、选择题 1 有以下程序 #include stdio.h #define N 3 void fun(int aN,int b) int i,j; for(i=0;i N;i+) bi=ai0; for(j=1;j N;j+) if(bi aij) bi=aij; main() int xNN=1,2,3,4,5,6,7,8,9,yN,i; fun(x,y); for(i=0;i N;i+) printf(“%d,“,yi); printf(“n“); ( A) 1,3,5, ( B) 2,4,8, ( C) 3,5,7 ( D)
2、 3,6,9, 2 以下语句中存在语法错误的是 ( A) char ss 20= “right?“; ( B) char *ss6; ss1= “right?“; ( C) char *ss = “right?“; ( D) char ss620; ss1= “right?“; 3 下列叙述中正确的是 ( A)两个连续的单引号( )是合法的字符常量 ( B)可以对字符串进行关系运算 ( C)两个连续的双引号( “)是合法的字符串常量 ( D)空字符串不占用内存,其内存空间大小是 0 4 以下选项中,能正确进行字符串赋值的是 ( A) char s5 = A, B, C, D, E ; ( B)
3、 char *s = “ABCDE“ ; ( C) char s45 = “ABCDE“ ; ( D) char *s ; gets( s ); 5 有以下程序 #include stdio.h int fun( char s ) char *p = s; while( *p != 0 ) p+; return ( p-s ); main() printf(“%dn“, fun(“0ABCDEF“) ); 程序运行后的输出结果是 ( A) 6 ( B) 7 ( C) 1 ( D) 0 6 若有以下程序段 char str412= “aa“,“bbb“,“ccccc“,“d“ , *strp4;
4、 int i; for( i = 0; i 4; i+ ) strpi = stri; 不能正确引用字符串的选项是 ( A) strp ( B) str0 ( C) strp3 ( D) *strp 7 以下叙述中正确的是 ( A)下面的语句用赋初值方式来定义字符串,其中 ,0是必须的 char str1 = s, t, r, 1, 0; ( B)有定义语句: char str1 = “str1“; ,数组 str1将包含 4个元素 ( C)字符 串常量 “str1“的类型是 :字符串数据类型 ( D)字符数组的每个元素可存放一个字符,并且最后一个元素必须是 0字符 8 以下叙述中正确的是 (
5、 A) char ca35 = “A“, “BB“, “CCC“; 是不合语法的 ( B)字符串数组,是指数组中的每个元素都是一个存放字符串的一维数组 ( C) char ca 5 = “A“, “BB“, “CCC“; 是不合语法的 ( D) char *ca3 = “A“, “BB“, “CCC“; 是不合语法的 9 以下叙 述中正确的是 ( A)函数调用 strlen(s);会返回字符串 s实际占用内存的大小(以字节为单位 ) ( B)两个字符串可以用关系运算符进行大小比较 ( C)当拼接两个字符串时,结果字符串占用的内存空间是两个原串占用空间的和 ( D) C语言本身没有提供对字符串进
6、行整体操作的运算符 10 以下叙述中正确的是 ( A)不能用字符串常量对字符数组名进行整体赋值操作 ( B)字符串常量 “Hello“会被隐含处理成一个无名字符型数组,它有 5个元素 ( C) char str7 = “string!“; 在语法上是 合法的,运行也是安全的 ( D) char *str; str = “Hello“;与 char str; str = “Hello“;效果是一样的 11 以下叙述中正确的是 ( A)语句 char str10 = “string!“; 和 char str10 = “string!“; 并不等价 ( B)对于一维字符数组,不能使用字符串常量来赋
7、初值 ( C)对于字符串常量 “string!“,系统已自动在最后加入了 0字符,表示串结尾 ( D)在语句 char str = “string!“;中,数组 str的大小等于字符串的长度 12 设有定义 char str = “Hello“; 则语句 printf(“%d %d“, sizeof(str), strlen(str); 的输出结果是 ( A) 6 6 ( B) 6 5 ( C) 5 5 ( D) 5 6 13 设有定义语句: char *aa2= “abcd“,“ABCD“; 则以下叙述正确的是 ( A) aa数组的两个元素只能存放含有 4个字符的一维数组的首地址 ( B)
8、aa数组的值分别是字符串 “abcd“和 “ABCD“ ( C) aa是指针变量,它指向含有两个元素的字符型数组 ( D) aa0存放了字符串 “abcd“的首地址 14 以下选项中,没有编译错误的是 ( 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“; 15 有 以下程序 main() char a510=“one“,“two“,“three“
9、,“four“,“five“; int i,j; char t; for(i=0;i 4;i+) for(j=i+1;j 5;j+) if(ai0 aj0) t=ai0;ai0=aj0;aj0=t; puts(a1); 程序运行后的输出结果是 ( A) fwo ( B) owo ( C) two ( D) fix 16 设 有定义: char s81; int i=0; 以下不能将一行(不超过 80个字符)带有空格的字符串正确读入的语句或语句组是 ( A) while(si+=getchar()!=n);si=0; ( B) scanf(“%s“,s); ( C) gets(s); ( D)
10、do scanf(“%c“, while(si+!=n); si=0; 17 设有定义: char p=1, 2, 3,*q=p; 以下不能计算出一个 char型数据所占字节数的表达式是 ( A) sizeof(p) ( B) sizeof(char) ( C) sizeof(*q) ( D) sizeof(p0) 18 有以下程序 #include stdio.h #include string.h void main() char str20=“One*World“,“One*Dream!“,*p=str1; printf(“%d,“,strlen(p); printf(“%sn“,p);
11、 程序运行后的输出结 果是 ( A) 9,One*Dream! ( B) 10,One*Dream! ( C) 9,One*World ( D) 10,One*World 19 有以下程序 #include stdio.h void main() char s=“012xy08s34f4w2“; int i,n=0; for(i=0;si!=0;i+) if(si =0 printf(“%dn“,n); 程序运行后的输出结果是 ( A) 0 ( B) 7 ( C) 3 ( D) 8 20 以下不能将 s所指字符串正确复制到 t所指存储空间的是 ( A) for(i=0;ti=si;i+); (
12、 B) while(*t=*s)t+;s+; ( C) for(i=0,j=0;ti+=sj+; ); ( D) do*t+=*s+;while(*s ); 21 下列语句组中,正确的是 ( A) char *s;s=“Olympic“; ( B) char s7;s=“Olympic“; ( C) char *s;s=“Olympic“; ( D) char s7;s=“Olympic“; 22 有以下程序 main( ) char ch =“uvwxyz“,*pc; pc=ch; printf(“%cn“,*(pc+5); 程序运行后的输出结果是 ( A) 0 ( B)元素 ch5的地址
13、( C) z ( D)字符 y的地址 23 有以下程序 #include stdio.h void main() char s=“012xy“;int i,n=0; for(i=0;si!=0;i+) if(si =a printf(“%dn“,n); 程序运行后的输出结果是 ( A) 0 ( B) 3 ( C) 5 ( D) 2 24 以下能正确定义字符串的语句是 ( A) char str=“x43“; ( B) char str=“0“; ( C) char str=; ( D) char str=064; 25 以下关于字符串的叙述中正确的是 ( A)两个字符串中的字符个数相同时才能进
14、行字符串大小的比较 ( B)可以用关系运算符对字符串的大小进行比较 ( C)空串比空格打头的字符串小 ( D) C语言中有字符串类型的常量和变量 26 若要求从键盘读入含有空格字符的字符串,应使用函数 ( A) getc() ( B) gets() ( C) getchar() ( D) scanf() 27 有以下程序 #include stdio.h main() char s=“abcde“; s+=2; printf(“%dn“,s0); 执行后的结果是 ( A)输出字符 c的 ASCII码 ( B)输出字符 c ( C)输出字符 a的 ASCII码 ( D)程序出错 28 有下列程序
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 函数 数组 模拟 17 答案 解析 DOC
