[计算机类试卷]国家二级(C语言)机试模拟试卷37及答案与解析.doc
《[计算机类试卷]国家二级(C语言)机试模拟试卷37及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)机试模拟试卷37及答案与解析.doc(32页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)机试模拟试卷 37及答案与解析 一、选择题 1 下列叙述中正确的是 ( A)算法的效率只与问题的规模有关,而与数据的存储结构无关 ( B)算法的时间复杂度是指执行算法所需要的计算工作量 ( C)数据的逻辑结构与存储结构是一一对应的 ( D)算法的时间复杂度与空间复杂度一定相关 2 下列叙述中正确的是 ( A)线性表链式存储结构的存储空间一般要少于顺序存储结构 ( B)线性表链式存储结构与顺序存储结构的存储空间都是连续的 ( C)线性表链式存储结构的存储空间可以是连续的,也可以是不连 续的 ( D)以上说法均错误 3 某二叉树共有 12个结点,其中叶子结点只有 1个。则该二叉
2、树的深度为(根结点在第 1层) ( A) 3 ( B) 6 ( C) 8 ( D) 12 4 对长度为 n的线性表作快速排序,在最坏情况下,比较次数为 ( A) n ( B) n-1 ( C) n(n-1) ( D) n(n-1)/2 5 结构化程序设计中,下面对 goto语句使用描述正确的是 ( A)禁止使用 goto语句 ( B)使用 goto语句程序效率高 ( C)应避免滥用 goto语句 ( D)以上说法均错误 6 下面不属 于软件测试实施步骤的是 ( A)集成测试 ( B)回归测试 ( C)确认测试 ( D)单元测试 7 下面不属于软件需求分析阶段主要工作的是 ( A)需求变更申请
3、( B)需求分析 ( C)需求评审 ( D)需求获取 8 一般情况下,当对关系 R和 S进行自然连接时,要求 R和 S含有一个或者多个共有的 ( A)记录 ( B)行 ( C)属性 ( D)元组 9 有三个关系 R、 S和 T如下:则由关系 R和 S得到关系 T的操作是 ( A)选择 ( B)差 ( C)交 ( D)并 10 有表示公司和职员及工作的三 张表,职员可在多家公司兼职。其中公司 C(公司号,公司名,地址,注册资本,法人代表,员工数),职员 S(职员号,姓名,性别,年龄,学历),工作 W(公司号,职员号,工资),则表 W的键(码)为 ( A)公司号,职员号 ( B)职员号,工资 (
4、C)职员号 ( D)公司号,职员号,工资 11 关于算法,以下叙述中错误的是 ( A)某个算法可能会没有输入 ( B)同一个算法对于相同的输入必须得出相同的结果 ( C)一个算法对于某个输入的循环次数是可以事先估计出来的 ( D)任何算法都能转换成计算机高级语言的程序,并 在有限时间内运行完毕 12 关于 C语言的变量,以下叙述中错误的是 ( A)变量所占的存储单元地址可以随时改变 ( B)所谓变量是指在程序运行过程中其值可以被改变的量 ( C)程序中用到的所有变量都必须先定义后才能使用 ( D)由三条下划线构成的符号名是合法的变量名 13 关于 do 循环体 while (条件表达式 );
5、以下叙述中正确的是 ( A)条件表达式的执行次数总是比循环体的执行次数多一次 ( B)循环体的执行次数总是比条件表达式的执行次数多一次 ( C)条件表达式的执行次数与循环体的 执行次数一样 ( D)条件表达式的执行次数与循环体的执行次数无关 14 若有以下程序 #include stdio.h main() int a=-11, b=10; a /= b /= -4; printf(“%d %dn“, a, b); 则程序的输出结果是 ( A) 4 -3 ( B) -3 ( C) 2015/5/2 ( D) 2015/5/3 15 若有以下程序 #include stdio.h main()
6、int a=0,b=0,c=0 c= (a+=+b, b+=4); printf(“%d,%d,%dn“,a,b,c); 则程序的输出结果是 ( A) 1,5,1 ( B) 1,5,5 ( C) -1,4,4 ( D) -1,4,-1 16 若有定义 int a; float b; double c; 程序运行时输入: 3 4 5回车 能把值 3输入给变量 a、 4输入给变量 b、 5输入给变量 c的语句是 ( A) scanf(“%d%f%lf“, ( B) scanf(“%d%lf%lf“, ( C) scanf(“%d%f%f“, ( D) scanf(“%lf%lf%lf“, 17 若
7、有以下程序 #include stdio.h main() int a=1,b=2,c=3,d=4; if (a=2) if (c=3) | (d=-1) a=5; printf(“%d,%d,%d,%dn“, a,b,c,d); 则程序的输出结果是 ( A) 2,2,2,4 ( B) 2,1,2,-1 ( C) 5,1,2,-1 ( D) 1,2,3,4 18 若有以下程序 #include stdio.h main() int a=1,b=2,c=3,d=4, r=0; if (a!=1) ; else r=1; if (b=2) r+=2; if (c!=3); r+=3; if (d=
8、4) r+=4; printf(“%dn“, r); 则程序的输出结果是 ( A) 3 ( B) 7 ( C) 6 ( D) 10 19 若有以下程序 #include stdio.h main() int s=0, n; for (n=0; n 4; n+) switch(n) default: s+=4; case 1: s+=1; break; case 2: s+=2; break; case 3: s+=3; printf(“%dn“, s); 则程序的输出结果是 ( A) 10 ( B) 11 ( C) 13 ( D) 15 20 若有以下程序 #include stdio.h m
9、ain() int a=-2, b=0; do +b ; while(a+); printf(“%d,%dn“, a, b); 则程序的输出结果是 ( A) 1,3 ( B) 0,2 ( C) 1,2 ( D) 2,3 21 若有以下程序 #include stdio.h main() int a=6, b=0, c=0; for ( ;a ) b += a; a -= c+; printf(“%d,%d,%dn“, a,b,c); 则程序的输出结果是 ( A) 5,6,0 ( B) 6,0,0 ( C) 6,6,1 ( D) 5,6,1 22 以下选项中非法的 C语言字符常量是 ( A) x
10、9d ( B) 9 ( C) x09 ( D) 09 23 若有以下程序 #include stdio.h char f(char x) return x*x%10 + 0; main() char a; int b=0; for ( a=0; a 5; a+=1 ) b = f(a); putchar(b); 则程序的输出结果是 ( A) 014916 ( B) 1234 ( C) 1496 ( D) 0 24 若有以下程序 #include stdio.h void sp(int *a) int b=2; *a = *a * 2; printf(“%d,“, *a); a= *a = *a
11、 * 2; printf(“%d,“, *a); main() int k=3; sp( printf(“%dn“, k); 则程序的输出结果是 ( A) 6,12,12 ( B) 6,4,3 ( C) 6,4,6 ( D) 9,4,9 25 若有以下程序 #include stdio.h int k=7,m=5; void f(int *s) int *t= s= *s= printf(“%d,%d,%d,“, k, *t, *s); main() int i=3,*p= f(r); printf(“%d,%d,%dn“, i, *p, *r); 则程序的输出结果是 ( A) 7,5,7,3
12、,5,7, ( B) 7,5,7,3,3,3, ( C) 7,5,5,3,3,3, ( D) 7,7,5,3,3,3, 26 若有以下程序 #include stdio.h int *f(int *s, int *t) int k; if (*s *t) k = *s; *s=*t; *t=k; return s; main() int i=3, j=5, *p= r=f(p,q); printf(“%d,%d,%d,%d,%dn“, i, j, *p, *q, *r); 则程序的输出结果是 ( A) 5,3,3,5,5 ( B) 3,5,5,3,5 ( C) 3,5,3,5,5 ( D) 5
13、,3,5,3,5 27 若有以下程序 #include stdio.h #define N 4 void fun( int aN, int b, int flag ) int i,j; for( i=0; i N; i+ ) bi = a0i; for( j=1; j N; j+ ) if (flag ? (bi aji) : (bi aji) bi = aji; main() int xNN=1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15,16, yN,i; fun(x, y, 1); for (i=0;i N; i+) printf(“%d,“, y
14、i); fun(x, y, 0); for (i=0;i N; i+) printf(“%d,“, yi); printf(“n“); 则程序的输出结果是 ( A) 4,8,12,16,1,5,9,13, ( B) 1,2,3,4,13,14,15,16, ( C) 1,5,9,13,4,8,12,16, ( D) 13,14,15,16,1,2,3,4, 28 若有以下程序 #include stdio.h void fun(int a , int n) int t, i, j; for ( i=0; i n; i+=2 ) for ( j=i+2; j n; j+=2 ) if ( ai
15、aj ) t=ai; ai=aj; aj=t; main() int c10=10,9,8,7,6,5,4,3,2,1,i; fun(c, 10); for ( i=0; i 10; i+ ) printf(“%d,“, ci); printf(“n“); 则程序的输出结果是 ( A) 1,10,3,8,5,6,7,4,9,2, ( B) 10,9,8,7,6,5,4,3,2,1, ( C) 10,1,8,3,6,5,4,7,2,9, ( D) 2,9,4,7,6,5,8,3,10,1, 29 若有以下程序 #include stdio.h main() int i, j=0; char a=
16、“How are you!“, b10; for ( i=0; ai; i+ ) if (ai = ) bj+=ai+1; bj=0; printf(“%sn“,b); 则程序的输出结果是 ( A) Howareyou! ( B) Howareyou ( C) Hay! ( D) ay 30 若有以下程序 #include stdio.h char *a=“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+)
17、 if (aj != *p) break; p+; if (aj=0) break; printf(“%sn“, p); 则程序的输出结果是 ( A) #to#China! ( B) #you#to#China! ( C) me#you#to#China! ( D) #China! 31 若有以下程序 #include stdio.h main() char a20, b =“The sky is blue.“; int i; for (i=0; i 10; i+) scanf(“%c“, ai=0; gets(b); printf(“%s%sn“, a,b); 执行时若输入: Fig flo
18、wer is red. 回车 则输出结果是 ( A) Fig flower is red.is blue. ( B) Fig flower is red. ( C) Fig floweris red. ( D) Fig floweris 32 若有以下程序 #include stdio.h main() char w20=“dogs“, a510=“abcdef“, “ghijkl“, “mnopq“, “rstuv“, “wxyz .“; int i, j, k; for (i=0; wi; i+) for (j=0; j 5; j+) for (k=0; ajk; k+) if (wi=a
19、jk) break; if (wi=ajk) break; printf(“%d,%d,“, j,k); 则程序的输出结果是 ( A) 0,3,2,2,1,0,3,1, ( B) 1,4,3,3,2,1,4,2, ( C) 5,6,5,6,5,6,5,6, ( D) 6,7,6,7,6,7,6,7, 33 若有以下程序 #include stdio.h int f(int a, int n) if (n 1) int t; t=f(a, n-1); return t an-1 : t : an-1; else return a0; main() int a = 8,2,9,1,3,6,4,7,
20、5; printf(“%dn“, f(a, 9); 则 程序的输出结果是 ( A) 9 ( B) 1 ( C) 8 ( D) 5 34 若有以下程序 #include stdio.h int f(int m) static int n=0; int a=2; n+; a+; return n+m+a; main() int k; for (k=0; k 4; k+) printf(“%d,“, f(k); 则程序的输出结果是 ( A) 3,5,7,9, ( B) 4,7,10,13, ( C) 4,5,6,7, ( D) 4,6,8,10, 35 若有以下程序 #include stdio.h
21、 #define S(x) (x)*(x) #define T(x) S(x)/S(x)+1 main() int k=3, j=2; printf(“%d,%dn“, S(k+j),T(k+j) ); 则程序的 输出结果是 ( A) 11,2 ( B) 25,2 ( C) 11,12 ( D) 25,26 36 若有以下程序 #include stdio.h typedef struct stu char name10, gender; int score; STU; void f(STU a, STUB) b = a; printf( “%s,%c,%d,“, b.name, b.gend
22、er, b.score ); main() STU a=“Zhao“, m, 290, b=“Qian“, f, 350; f(a,b); printf(“%s,%c,%dn“, b.name, b.gender, b.score); 则程序的输出结果是 ( A) Qian,f,350,Qian,f,350 ( B) Zhao,m,290, Zhao,m,290 ( C) Zhao,m,290,Qian,f,350 ( D) Zhao,m,290,Zhao,f,350 37 若有以下程序 #include stdio.h #include string.h typedef struct stu
23、 char name10, gender; int score; STU; void f( char *p ) strcpy( p, “Qian“ ); main() STU a=“Zhao“, m, 290, b; b=a; f(b.name); b.gender = f; b.score = 350; printf(“%s,%c,%d,“, a.name, a.gender, a.score); printf(“%s,%c,%dn“, b.name, b.gender, b.score); 则程序的输出结果是 ( A) Zhao,m,290,Qian,f,350 ( B) Zhao,m,2
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 模拟 37 答案 解析 DOC
