[计算机类试卷]国家二级C语言(函数和数组)机试模拟试卷16及答案与解析.doc
《[计算机类试卷]国家二级C语言(函数和数组)机试模拟试卷16及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言(函数和数组)机试模拟试卷16及答案与解析.doc(19页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言(函数和数组)机试模拟试卷 16及答案与解析 一、选择题 1 有以下程序 #include stdio.h void fun(int a, int b) int t; t=a; a=b; b=t; main() int c10=1,2,3,4,5,6,7,8,9,0), i; for (i=0; i 10; i+=2) fun(ci, ci+l); for (i=0; i 10; i+) printf(“%d,“, ci); printf(“n“); 程序的运行结果是 ( A) 2,1,4,3,6,5,8,7,0,9, ( B) 0,9,8,7,6,5,4,3,2,1, ( C
2、) 1,2,3,4,5,6,7,8,9,0, ( D) 0,1,2,3,4,5,6,7,8,9, 2 有下列程序: main( ) int i,s=0,t =l,2,3,4,5,6,7,8,9; for(i=0;i 9;i+ =2) s+ =*(t+i); printf(“%dn“,s); 程序执行后的输出结果是 ( A) 20 ( B) 45 ( C) 36 ( D) 25 3 下列选项中,能正确定义数组的语句是 ( A) int num; ( B) int N=2008; int numN; ( C) int num02008; ( D) #define N 2008 int numN;
3、4 若要求定义具有 10个 int型元素的一维数组 a,则以下定义语句中错误的是 ( A) #define n 5 int a 2*n; ( B) int a5+5; ( C) #define N 10 int aN; ( D) int n=10,an; 5 下列程序中函数 f的功能是:当 flag为 1时,进行由小到大排序;当 flag为 0时,进行由大到小排序。 void f(int b ,int n,int flag) int i,j,t; for(i=0;i n-1;i+ +) for(j=i+1;j n;j+ +) if(flag? bi bj:bi bj) t=bi;bi=bj;b
4、j=t; main( ) int a10=5,4,3,2,1,6,7,8,9,10,i; f( f(a,5,1); for(i=0;i 10;i+ +) printf(“%d,“,ai); 程序运行后的输出结果是 ( 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, 6 有以下程序 #include stdio.h main() int s12=1,2,3,4,4,3,2,1,1,1,2,3,c5=0,i; for(i=0;i 12;
5、i+)csi+; for(i=1;i 5;i+)printf(“%d“,ci); printf(“n“); ( A) 4 3 3 2 ( B) 2 3 4 4 ( C) 1 2 3 4 ( D) 1 1 2 3 7 有下列程序: #include stdio.h void fun(int *a,int n)/*fun函数的功能是将 a所指数组元素从大到小排序 */ int t,i,j; for(i=0;i n-1;j+ +) for(j=i+1;j n;j+ +) if(ai aj) t=ai;ai=aj;aj=t; main( ) int c10=1,2,3,4,5,6,7,8,9,0,i;
6、 fun(c+4,6); for(i=0;i 10;i+ +) printf(“%d,“,ci); 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, 8 有以下程序 #include stdio.h main() int c6=10,20,30,40,50,60, *p,*s; p = c; s = printf(“%dn“, s-p ); 程序运行后的输出结果是 ( A) 50 ( B) 6
7、( C) 5 ( D) 60 9 以下叙述中正确的是 ( A)一条语句只能定义一个数组 ( B)数组说明符的一对方括号中只能使用整型常量,而 不能使用表达式 ( C)每个数组包含一组具有同一类型的变量,这些变量在内存中占有连续的存储单元 ( D)在引用数组元素时,下标表达式可以使用浮点数 10 以下叙述中正确的是 ( A)语句 int a = 0;是不合法的,遗漏了数组的大小 ( B)语句 char a2 = “A“, “B“; 是合法的,定义了一个包含两个字符的数组 ( C)语句 int a8 = 0; 是合法的 ( D)语句 char a3; a = “AB“; 是合法的,因为数组有三个字
8、符空间的容量,可以保存两 个字符 11 如果定义 float a10, x; 则以下叙述中正确的是 ( A)表达式 a+1 是非法的 ( B)语句 a = 是非法的 ( C)三个表达式 a1、 *(a+1)、 * for(i=0;i =3;i+)ai=*p;p+; printf(“%dn“,a2); 程序运行后的输出结果是 ( A) 20 ( B) 30 ( C) 10 ( D) 40 13 若有以下程序 main() int i,j=0; char a=“How are you!“; for (i=0; ai; i+) if (ai != ) aj+=ai; aj=0; printf(“%s
9、n“,a); 则程序的输出结果是 ( A) Howareyou ( B) Hay! ( C) Howareyou! ( D) How are you! 14 若有以下程序 #include stdio.h main() int i, j=0; char a=“How are you!“, b10; for ( i=0; ai; i+ ) if (ai = ) bj+=ai+1; bj=0; printf(“%sn“,b); 则程序的输出结果是 ( A) Howareyou ( B) Hay! ( C) Howareyou! ( D) ay 15 若有以下程序 #include char *a=
10、“you“, b =“welcome#you#to#China!“; main() int i,j=0; char *p; for ( i=0; bi!=0; i+ ) if (*a = bi) p= for (j=0; aj!=0; j+) if (aj != *p) break; p+; if (aj=0) break; printf(“%sn“, p); 则程序的输出结果是 ( A) #you#to#China! ( B) me#you#to#China! ( C) #China! ( D) #to#China! 16 以下数组定义中错误的是 ( A) int x3=0; ( B) in
11、t x23=1,2,3,4,5,6; ( C) int x3=1,2,3,4,5,6; ( D) int x23=1,2,3,4,5,6; 17 有以下程序 #include stdio.h #define N 4 void fun(int aN,int b) int i; for(i=0;i N;i+) bi=aii-aiN-1-i; void main() int xNN=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,yN,i; fun(x,y); for(i=0;i N;i+) printf(“%d,“,yi); printf(“n“); 程序运行后的输出
12、结果是 ( A) -12,-3,0,0, ( B) -3,-1,1,3, ( C) 0,1,2,3, ( D) -3,-3,-3,-3, 18 有以下程序 #include main() int b33=0,1,2,0,1,2,0,1,2,i,j,t=1; for(i=0; i =i;j+) t+=bibji; printf(“%dn“,t); 程序运行后的输出结果是 ( A) 3 ( B) 1 ( C) 9 ( D) 4 19 以下定义数组的语句中错误的是 ( A) int num3= 1,2,3,4,5,6 ; ( B) int num= 1,2,3,4,5,6 ; ( C) int nu
13、m4=1,2,3,4,5,6; ( D) int num24= 1,2,3,4,5,6 ; 20 有下列程序: main( ) int x32=0,i; for(i=0;i 3;i+ +) scanf(“%d“,xi); printf(“%3d%3d%3dn“,x00,x01,x10); 若运行时输入: 2 4 6 CR,则输出 结果为 ( A) 2 0 0 ( B) 2 4 0 ( C) 2 0 4 ( D) 2 4 6 21 有以下程序 #include stdio.h int fun(int (*s)4,int n, int k) int m, i; m=s0k; for(i=l; i
14、n; i+) if(sik m) m=sik; return m; main() int a44=1,2,3,4),11,12,13,14,2l,22,23,24,31,32,33,34; printf(“%dn“, fun(a,4,0); 程序的运行结果是 ( A) 31 ( B) 34 ( C) 4 ( D) 32 22 有下列程序: main( ) int a44=l,4,3,2,8,6,5,7,3,7,2,5,4,8,6,1,i,j,k,t; for(i=0;i 4;i+ +) for(j=0;j 3;j+ +) for(k=j+1;k 4;k+ +) if(aji aki)t=aji
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 函数 数组 模拟 16 答案 解析 DOC
