[计算机类试卷]国家二级(C语言)机试模拟试卷39及答案与解析.doc
《[计算机类试卷]国家二级(C语言)机试模拟试卷39及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)机试模拟试卷39及答案与解析.doc(30页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)机试模拟试卷 39及答案与解析 一、选择题 1 下列叙述中正确的是 ( A)一个算法的空间复杂度大,则其时间复杂度也必定大 ( B)一个算法的空间复杂度大,则其时间复杂度必定小 ( C)一个算法的时间复杂度大,则其空间复杂度必定小 ( D)算法的时间复杂度与空间复杂度没有直接关系 2 下列叙述中正确的是 ( A)循环队列中的元素个数随队头指针与队尾指针的变化而动态变化 ( B)循环队列中的元素个数随队头指针的变化而动态变化 ( C)循环队列中的元素个数随队尾指针的变化而动态变化 ( D)以上说法都不对 3 一棵二叉树中共有 80个叶子结点与 70个度为 1的结点,则该二叉树
2、中的总结点数为 ( A) 219 ( B) 229 ( C) 230 ( D) 231 4 对长度为 10的线性表进行冒泡排序,最坏情况下需要比较的次数为 ( A) 9 ( B) 10 ( C) 45 ( D) 90 5 构成计算机软件的是 ( A)源代码 ( B)程序和数据 ( C)程序和文档 ( D)程序、数据及相关文档 6 软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是 ( A)测试 ( B)设计 ( C)可行性研究 ( D)实现 7 下面不能作为结构化方法软件需求分析工具的是 ( A)系统结构图 ( B)数据字典 (DD) ( C)数据流程图 (DFD图 )
3、 ( D)判定表 8 在关系模型中,每一个二维表称为一个 ( A)关系 ( B)属性 ( C)元组 ( D)主码(键) 9 若实体 A和 B是一对多的联系,实体 B和 C是一对一的联系,则实体 A和 C的联系是 ( A)一对一 ( B)一对多 ( C)多对一 ( D)多对多 10 有三个关系 R、 S和 T如下:则由关系 R和 S得到关系 T的操作是 ( A)选择 ( B)投影 ( C)交 ( D)并 11 我们所写的每条 C语句,经过编译最终都将转换成二进制的机器指令。关于转换以下说法错误的是 ( A)一条 C语句可能会被转换成零条机器指令 ( B)一条 C语句可能会被转换成多条机器指令 (
4、 C)一条 C语句对应转换成一条机器指令 ( D)某种类型和格式的 C语句被转换成机器指令的条数是固定的 12 关于 “while(条件表达式 )循环体 “,以下叙述正确的是 ( A)循环体的执行次数总是比条件表达式的执行次数多一次 ( B)条件表达式的执行次数总是比循环 体的执行次数多一次 ( C)条件表达式的执行次数与循环体的执行次数一样 ( D)条件表达式的执行次数与循环体的执行次数无关 13 关于 C语言的符号常量,以下叙述中正确的是 ( A)符号常量的符号名是标识符,但必须大写 ( B)符号常量是指在程序中通过宏定义用一个符号名来代表一个常量 ( C)符号常量在整个程序中其值都不能再
5、被重新定义 ( D)符号常量的符号名必须是常量 14 若有以下程序 #include stdio.h main() int b=10, a=-11; a %= b %= 4; printf(“%d %dn“, a, b); 则程序的输出结果是 ( A) 1 2 ( B) -1 2 ( C) -3 ( D) 2015/1/2 15 若有以下程序 #include stdio.h main() int a=0,b=0,c=0; c= (a -= +a), (a+=b, b+=4); printf(“%d,%d,%dn“,a,b,c); 则程序的输出结果是 ( A) 0,4,0 ( B) 0,4,4
6、 ( C) 1,4,1 ( D) 1,4,4 16 若有以下程序 #include stdio.h main() int a=0,b=0,c=0,d; c= (a+=b, b+=a); /*第 4行 */ d=c; /*第 5行 */ ; /*第 6行 */ ;printf(“%d,%d,%dn“,a,b,c); /*第 7行 */ 编译时出现错误,你认为出错的是 ( A)第 4行 ( B)第 5行 ( C)第 6行 ( D)第 7行 17 若有以下程序 #include stdio.h main() int a=1,b=2,c=3,d=4; if (a=2) | (b=1) c=2; if
7、(c=3) printf(“%d,%d,%d,%dn“, a,b,c,d); 则程序的输出结果是 ( A) 1,2,3,4 ( B) 2,1,2,-1 ( C) 5,1,2,-1 ( D) 2,2,2,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; else; if (c!=3) r+=3; else; if (d=4) r+=4; printf(“%dn“, r); 则程序的输出结果是 ( A) 10 ( B) 7 ( C) 6 ( D) 3
8、19 若有以下程序 #include stdio.h main() int s=0, n; for (n=0; n 4; n+) switch(n) default: s+=4; case 1: s+=1; case 2: s+=2; case 3: s+=3; printf(“%dn“, s); 则程序的输出结果是 ( A) 6 ( B) 18 ( C) 10 ( D) 24 20 若有以下程序 #include stdio.h main() int a=-2, b=0; while(a+) +b ; printf(“%d,%dn“, a, b); 则程序的输出结果是 ( A) 1,2 (
9、B) 0,2 ( C) 1,3 ( 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) 1,14,3 ( B) 0,14,3 ( C) 0,18,3 ( D) 0,14,6 22 以下选项中非法的 C语言字符常量是 ( A) 007 ( B) b ( C) aa ( D) xaa 23 若有以下程序 #include stdio.h char f(char x) return x*x
10、+a; main() char a, b=0; for ( a=0; a 4; a+=1 ) b = f(a); putchar(b); 则程序的输出结果是 ( A) abcd ( B) ABEJ ( C) abej ( D) ABCD 24 若有以下程序 #include stdio.h void sp(int *a) int b=2; a= *a = *a * 2; printf(“%d,“, *a); main() int k=3, *p= sp(p); printf(“%d,%dn“, k, *p); 则程序的输出结果是 ( A) 4,3,3 ( B) 4,3,4 ( C) 6,3,6
11、 ( D) 6,6,6 25 若有以下程序 #include stdio.h int k=7; void f(int *s) int *t= *s=t; printf(“%d,%d,%d,“, k, *t, *s); main() int i=3,*p= f(r); printf(“%d,%d,%dn“, i, *p, *r); 则程序的输出结果是 ( A) 3,3,3,7,7,7 ( B) 3,7,7,7,7,7 ( C) 7,7,7,3,3,3 ( D) 7,7,7,3,7,7 26 若有以下程序 #include stdio.h int *f(int *s,int *t) int *k;
12、 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) 3,5,5,3,5 ( B) 3,5,3,5,5 ( C) 5,3,5,3,5 ( D) 5,3,3,5,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 = ai0; f
13、or(j=1; j N; j+) if (flag ? (bi aij) : (bi aij) bi = aij; 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,“, yi); fun(x, y, 0); for (i=0;i N; i+) printf(“%d,“, yi); printf(“n“); 则程序的输出结果是 ( A) 1,5,9,13,4,8,12,16, ( B) 4,8,12,16,1,5,
14、9,13, ( C) 1,2,3,4,13,14,15,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=1; i n; i+=2) for (j=i+2; j n; j+=2) if (ai 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“); 则程序的输
15、出结果是 ( A) 1,10,3,8,5,6,7,4,9,2, ( B) 10,9,8,7,6,5,4,3,2,1, ( C) 2,9,4,7,6,5,8,3,10,1, ( D) 10,1,8,3,6,5,4,7,2,9, 29 若有以下程序 #include stdio.h 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) Hay! ( B) Howareyou ( C) Howareyou! ( D) Ho
16、w are you! 30 若有以下程序 #include stdio.h char *a=“you“; char b =“Welcome you to China!“; main() int i, j=0; char *p; for ( i=0; bi !=0; i+ ) if (*a = bi) p=a; for (j=i; *p!=0; j+) if (*p != bj) break; p+; if (*p=0) break; printf(“%s“, 则程序的输出结果是 ( A) China! ( B) to China! ( C) me you to China! ( D) you
17、to China! 31 若有以下程序 #include stdio.h main() char a20, b =“The sky is blue.“; int i; for (i=0; i 7; i+) scanf(“%c“, gets(a); printf(“%s%sn“, a,b); 执行时若输入 : (其中 Enter表示回车符 ) Fig flower is red. Enter 则输出结果是 ( A) wer is red.Fig flo is blue. ( B) wer is red.Fig flo ( C) wer is red.The sky is blue. ( D) F
18、ig flower is red.The sky is blue. 32 若有以下程序 #include stdio.h main() char w20, a510=“abcdef“, “ghijkl“, “mnopq“, “rstuv“, “wxyz“; int p62=0,1,1,5,0,0,0,2,1,4,4,4, i; for (i=0; i 6; i+) wi=a pi0 pi1 ; puts(w); 则程序的输出结果是 ( A) catis ( B) ababj ( C) ckbdl ( D) black 33 若有以下程序 #include stdio.h void f(int
19、x) if (x = 10) printf(“%d-“, x%10); f(x/10); else printf(“%d“, x); main() int z = 123456; f(z); 则程序的输出结果是 ( A) 6-5-4-3-2-1- ( B) 6-5-4-3-2-1 ( C) 1-2-3-4-5-6 ( D) 1-2-3-4-5-6- 34 若有以下程序 #include stdio.h int a=2; int f(int m) static int n; n=0; n+; a+; return n+m+a; main() int k; for (k=0; k 4; k+) p
20、rintf(“%d,“, f(k); 则程序的输出结果是 ( A) 4,5,6,7, ( B) 4,7,10,13, ( C) 4,6,8,10, ( D) 3,5,7,9, 35 若有以下程序 #include stdio.h #define S(x) x*x #define T(x) S(x)*S(x) main() int k=5, j=2; printf(“%d,%dn“, S(k+j),T(k+j); 则程序的输出结果是 ( A) 17,289 ( B) 492,401 ( C) 17,37 ( D) 49,289 36 若有以 下程序 #include stdio.h #inclu
21、de stdlib.h #include string.h struct stu char *name, gender; int score; ; main() struct stu a=NULL, m, 290, b; a.name=(char *)malloc(10); strcpy(a.name, “Zhao“); b = a; b.gender = f; b.score = 350; strcpy(b.name, “Qian“); printf( “%s,%c,%d,“, a.name, a.gender, a.score ); printf( “%s,%c,%dn“, b.name,
22、 b.gender, b.score ); 则程序的输出结果是 ( A) Zhao,m,290,Zhao,f,350 ( B) Zhao,m,290,Qian,f,350 ( C) Qian,f,350,Qian,f,350 ( D) Qian,m,290,Qian,f,350 37 若有以下程序 #include stdio.h #include stdlib.h #include string.h typedef struct stu char *name, gender; int score; STU; void f(char *p) p=(char *)malloc(10); strc
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 模拟 39 答案 解析 DOC
