[计算机类试卷]国家二级C语言(函数和数组)机试模拟试卷9及答案与解析.doc
《[计算机类试卷]国家二级C语言(函数和数组)机试模拟试卷9及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言(函数和数组)机试模拟试卷9及答案与解析.doc(19页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言(函数和数组)机试模拟试卷 9及答案与解析 一、选择题 1 有以下程序 #include string h main() char p20=a, b, , c, d, q=“abc“, r=“abcde“; strcat(p, r); strcpy(p+strlen(q), q); printf(“ d n“, strlen(p); 程序运行后的输出结果是 ( A) 9 ( B) 11 ( C) 6 ( D) 7 2 下列选项中,能够满足 “只要字符串 s1等于字符串 s2,则执行 ST”要求的是 ( A) if(s1=s2)ST; ( B) if(strcpy(s1, s2)
2、=1)ST; ( C) if(strcmp(s2, s1)=0)ST; ( D) if(s1-s2=0)ST; 3 avg函数的功能是求整型数组中的前若干个元素的平均值,设数组元素个数最多不超过 10,则下列函数说明语句错误的是 ( A) int avg(int *a, int n); ( B) int avg(int a10, int n); ( C) int avg(int a, int n); ( D) int avg(int a, int n); 4 以下叙述中错误的是 ( A)用户定义的函数中可以没有 return语句 ( B)用户定义的函数中若没有 return语句,则应当定义函数
3、为 void类型 ( C)用户定义的函数中可以有多个 return语句,以便可以调用一次返回多个函数值 ( D)函数的 return语句中可以没有表达式 5 以下程序的主函数中调用了其前面定义的 fun函数 #include stdio h main() double a15, k; k=fun(a); 则以下选项中错误的 fun函数首部是 ( A) double fun(double a15) ( B) double fun(double*a) ( C) double fun(double a) ( D) double fun(double a) 6 有以下程序 int f(int x);
4、main()int n=1, m; m=f(f(f(n); pfintf(“ dhn“, m); int f(int x) retum x*2; 程序运行后的输出结果是 ( A) 1 ( B) 2 ( C) 4 ( D) 8 7 有以下程序 void fun(int a, int b, int c) a=b; b=c; c=a; main()int a=10, b=20, c=30; fun(a, b, c); printf(“ d, d, d n“, c, b, a); 程序运行后的输出结果是 ( A) 10, 20, 30 ( B) 20, 30, 10 ( C) 30, 20, 10 (
5、 D) 0, 0, 0 8 以下程序函数 f的功能是:当 flag为 1时,进行由小到大排序;当 flag为 0时,进行由大到小排序 void flint b, int n, int flag) main() int i, j, t; int a10=5, 4, 3, 2, 1, 6, 7, 8, 9, 10, i; for(i=0; i n-1; i+) f(&a2, 5, 0); f(a, 5, 1); for(j=i+1; j n; +) for(i=0; i 10; i+)printf(“ d, “, ai); if(flag?bi bj: bi bj) t=bi; bi=bj; bj
6、=t; 程序运行后的输出结果是 ( A) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ( B) 3,4, 5, 6, 7, 2, 1, 8, 9, 10, ( C) 5,4, 3, 2, 1, 6, 7, 8, 9, 10, ( D) 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 9 以下选项中函数形参不是指针的是 ( A) fun(int&p) ( B) fun(int a10) ( C) fun(int*a) ( D) fun(int p) 10 有以下程序 fun(int x) main() int p; if(x=0|x=1)return(3); pr
7、intf(“ d n“, fun(7); p=x-fun(x-2); return p; 执行后的输出结果是 ( A) 3 ( B) 7 ( C) 0 ( D) 2 11 有以下程序 int d=1; void fun(int p) main()int a=3: int d=5: fun(a); d+=p+; d+=a+; printf(“ d“, d); printf(“ d n“, d); 程序的输出结果是 ( A) 9 6 ( B) 9 4 ( C) 8 4 ( D) 8 5 12 有以下程序 #include stdio h func(int n) void main() static
8、 int num=1; func(3); func(4); printf(“ n“); num=num+n; printf(“ d“, num); 程序运行后的输出是 ( A) 4 5 ( B) 3 5 ( C) 4 8 ( D) 3 4 13 有以下程序 #include stdio h int fun()static int x=1; main()int i, s=1; x+=1; for(i=1; i =5; i+)s+=fun(); return x; printf(“ d n“, s); 程序运行后的输出结果是 ( A) 11 ( B) 21 ( C) 6 ( D) 120 14 已
9、有定义: char a=“xyz“, b=x, y, z);,以下叙述中正确的是 ( A)数组 a和 b长度相同 ( B) a数组长度小于 b数组长度 ( C) a数组长度大于 b数组长度 ( D)上述说法都不对 15 以下能正确定义一维数组的选项是 ( A) int a5=0, 1, 2, 3, 4, 5; ( B) char a=0, 1, 2, 3, 4, 5; ( C) char a=A, B, C; ( D) int a5=“0123“; 16 有下列程序: main() int i, s=0, t=1, 2, 3, 4, 5, 6, 7, 8, 9; for(i=0; i 9; i
10、+=2)s+=*(t+i); printf(“ d n“, s); 程序执行后的输出结果是 ( A) 20 ( B) 45 ( C) 36 ( D) 25 17 有下列程序: #include stdio h *fun函数的功能是将 a所指数组元素从大到小排序 * void fun(int*a, int n) main() int t, i, j; int c10=1, 2, 3, 4, 5, 6, 7, 8, 9, 0, i; for(i=0; i n 1; i+) fun(c+4, 6); for(j=i+1; j nj+) for(i=0; i 10; i+)printf(“ d, “,
11、 ci); if(ai aj)t=ai; ai=aj; aj=t; printf(“ n“); 程序的运行结果是 ( A) 1, 2, 3, 4, 9, 8, 7, 6, 5, 0, ( B) 0, 9, 8, 7, 6, 5, 1, 2, 3, 4, ( C) 0, 9, 8, 7, 6, 5, 4, 3, 2, 1, ( D) 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 18 有以下程序 #include stdio h main() int a=10, 20, 30, 40, *p=a, i; for(i=0; i =3; i+)ai=*p; p+; printf(“ d
12、 n“, a2); 程序运行后的输出结果是 ( A) 20 ( B) 30 ( C) 10 ( D) 40 19 若有以下说明和语句 int c45, (*p)5; p=c; 能够正确引用 c数组元素的是 ( A) p+1 ( B) *(p+3) ( C) *(p+1)+3 ( D) *(p0+2) 20 以下数组定义中错误的是 ( A) int x3=0; ( B) int x231=1, 2, 3, 4, 576; ( C) int x3=1, 2, 3, 4, 5, 6; ( D) int x23=1, 2, 3, 4, 5, 6; 21 有以下程序 #include stdio h i
13、nt fun(int(*s)4, int n, int k) int m, i; m=s0k; for(i=1; i n; i+)if(sik m)m=sik; return m; ) main() int a44=1, 2, 3, 4), 11, 12, 13, 14, 21, 22, 23, 24, 31, 32,33, 34; printf(“ d n“, fun(a, 4, 0); 程序的运行结果是 ( A) 31 ( B) 34 ( C) 4 ( D) 32 22 以下错误的定义语句是 ( A) int x43=1, 2, 3, 1, 2, 3), 1, 2, 3, 1, 2, 3)
14、; ( B) int x3=0, 1, 1, 2, 3; ( C) int x3=1, 2, 3, 4; ( D) int x4=1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3; 23 下面是有关 C语言字符数组的描述,其中错误的是 ( A)不可以用赋值语句给字符数组名赋字符串 ( B)可以用输入语句把字符串整体输入给字符数组 ( C)字符数组中的内容不一定是字符串 ( D)字符数组只能存放字符串 24 若有以下程序段 char str412=“aa“, “bbb“, “ccccc“, “d“), *strp4; int i; for(i=0; i 4; i+)strpi
15、=stri;不能正确引用字符串的选项是 ( A) strp ( B) str0 ( C) strp3 ( D) *strp 25 以下叙述中正确的是 ( A)语句 “char str10=“string?“; ”和 “char str10=“string!“); ”并不等价 ( B)对于一维字符数组,不能使用字符串常量来赋初值 ( C)对于字符串常量 “string?”,系统己自动在最后加入了 “ 0”字符,表示串结尾 ( D)在语句 char str=“string!“;中,数组 str的大小等于字符串的长度 26 设有定义: char s81; int i=0;以下不能将一行 (不超过 8
16、0个字符 )带有空格的字符串正确读入的语句或语句组是 ( A) while(si+=getchar()!=2n); si= 0; ( B) scanf(“ s“, s); ( C) gets(s); ( D) doscanf(“ c“, &si); while(si+!= n); si= 0; 27 下列语句组中,正确的是 ( A) char*s; s=“Olympic“; ( B) char s7; s=“Olympic“; ( C) char*s; s=“Olympic“; ( D) char s7; s=“Olympic“; 28 若要求从键盘读入含有空格字符的字符串,应使用函数 ( A
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 函数 数组 模拟 答案 解析 DOC
