[计算机类试卷]国家二级(C语言)机试模拟试卷75及答案与解析.doc
《[计算机类试卷]国家二级(C语言)机试模拟试卷75及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)机试模拟试卷75及答案与解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)机试模拟试卷 75及答案与解析 一、选择题 1 下列叙述中正确的是 ( )。 ( A)程序可以作为算法的一种表达方式 ( B)算法的有穷性是指算法的规模不能太大 ( C)算法的复杂度用于衡量算法的控制结构 ( D)算法的效率与数据的存储结构无关 2 某循环队列的存储空间为 Q(1: m),初始状态为: front=rear=m。现经过一系列的入队操作和退队操作后, front=m-1, rear=m,则该循环队列中的元素个数为( )。 ( A) m-1 ( B) 1 ( C) m ( D) 0 3 能从任意一个结点开始没有重复地扫描到所有结点的数据结构是 ( )。 ( A)
2、循环链表 ( B)双向链表 ( C)二叉链表 ( D)有序链表 4 某棵树中共有 25个结点,且只有度为 3的结点和叶子结点,其中叶子结点有 7个,则该树中度为 3的结点数为 ( )。 ( A)不存在这样的树 ( B) 7 ( C) 8 ( D) 6 5 在最坏情况下,二分查找法的时间复杂度为 ( )。 ( A) log2n ( B) n 2 ( C) log2n ( D) n 6 某二叉树共有 730个结点,其中度 为 1的结点有 30个,则叶子结点个数为( )。 ( A)不存在这样的二叉树 ( B) 351 ( C) 1 ( D) 350 7 软件开发中需求分析的主要任务是 ( )。 (
3、A)定义和描述目标系统 “做什么 ” ( B)获取需求 ( C)给出软件解决方案 ( D)需求评审 8 软件按功能可以分为应用软件、系统软件和支撑软件 (或工具软件 )。下面属于系统软件的是 ( )。 ( A)学生成绩管理系统 ( B) ERP系统 ( C)办公自动化系统 ( D) UNIX系统 9 医生可以为病人开不同的药,而 同一种药也可由不同医生开给病人,则实体医生和实体药之间的联系是 ( )。 ( A)多对多 ( B)一对一 ( C)多对一 ( D)一对多 10 学生选课成绩表的关系模式是 SC(S#, C#, G),其中 S#为学号, C#为课号, G为成绩,检索课号为 2且成绩及格
4、的学生学号的表达式为 ( )。 ( A) S#(C#=2 G60(SC) ( B) G60(SC) ( C) C#=2 G60(SC) ( D) S#(C#=2(SC) 11 若想定义 int型变量 a, b, c, d并都赋值为 1,以下 写法中错误的是 ( )。 ( A) int a=b=c=d=1; ( B) int a=1, b=1, c=1, d=1; ( C) int a, b, c, d; a=b=c=d=1; ( D) int a, b, c, d=1; a=b=c=d; 12 若有定义: char c; double d;程序运行时输入: 1 2回车,能把字符 1输入给变量
5、c、数值 2输入给变量 d的输入语句是 ( )。 ( A) scanf(“ d lf“, &c, &d); ( B) scanf(“ c lf“, &c, &d); ( C) scanf(“ c f“, C, &d); ( D) scanf(“ d f“, &c, &d); 13 输出语句: printf(“ d n“, 11+011);的输出结果是 ( )。 ( A) 20 ( B) 22 ( C) 022 ( D) 021 14 以下叙述正确的是 ( )。 ( A)有些算法不能用三种基本结构来表达 ( B) C语言程序不编译也能直接运行 ( C)结构化程序的三种基本结构是循环结构、选择结构
6、、顺序结构 ( D)如果 C语言程序实现的算法很简单,则计算机不进行任何代码转换就能执行程序 15 若有定义: double x;,则表达式: x=0, x+10, x+的值是 ( )。 ( A) 11 0 ( B) 10 0 ( C) 0 0 ( D) 1 0 16 有以下程序: #include stdio h main() int x=1, y=0, a=0, b=0; switch(x) case1: switch(y) case0: a+; break; case1: b+; break; case2: a+; b+; break; case3: a+; b+; printf(“a=
7、 d, b= d n“, a, b); 程序的运行结果是 ( )。 ( A) a=2, b=2 ( B) a=2, b=1 ( C) a=1, b=1 ( D) a=1, b=0 17 以下程序段中的变量已正确定义 folr(i=0; i 4; i+, i+) for(k=1; k 3; k+); printf(“*“); 该程序段的输出结果是 ( )。 ( A) * ( B) * ( C) * ( D) * 18 有以下程序: #include stdio h main() char c; for(; (c=getchar( )!=#; ) if(c =a&c =z)c=c-a+A; put
8、char(+c); 执行时输入: aBcDefG#回车,则输出结果是 ( )。 ( A) AbCdEFg ( B) ABCDEFG ( C) BCDEFGH ( D) bodefgh 19 有以下程序: #include stdio h int f(int x); main() int n=1, m; m=f(f(f(n); printf(“ d n“, m); int f(int x) return x*2; 程序运行后的输出结果是 ( )。 ( A) 4 ( B) 2 ( C) 8 ( D) 1 20 关于地址和指针,以下叙述正确的是 ( )。 ( A)可以通过强制类型转换让 char型指
9、针指 double型变量 ( B)函数指针 p指向一个同类型的函数 f时,必须写成: p=&f; ( C)指针 p指向一个数组 f时,必须写成: p=&f; ( D)一个指针变量 p可以指向自身 21 有以下程序: #inchude sttdio h #define N4 int fun(int aN) int i, j, x=0; for(i=0; i N; i+) for(j=0; J N; J+) if(i=j) x+=aN-1-ji; return x; main() int xNN=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
10、17, y; y=fun(x); printf(“ d n“, y); 程序运行后的输出结果是 ( )。 ( A) 34 ( B) 35 ( C) 28 ( D) 59 22 有以下程序: #include stdio h #define N3 void fun(int xN, int*r1, int*r2) int i, j; *r1=*r2=0: for(i=0; i N; i+) j=N-(i+1); if(x*r1*r2 xij)*r1=i; *r2=j; main() int aNN=1, 5, 7, 9, 2, 6, 4, 3, 8, i, j; fun(a, &i, &j); p
11、rintf(“ d n“, aij); 程序运行后的输出结果是 ( )。 ( A) 8 ( B) 6 ( C) 7 ( D) 9 23 对于以下函数声明 void fun(int array4, int*ptr); 以下叙述中正确的是 ( )。 ( A) array, ptr都是指针变量 ( B)调用 fun函数时,实参的值将逐一复制给 array ( C)调用 fun函数时, array按值传送, ptr按地址传送 ( D) array是数组, ptr是指针,它们的性质不同 24 设有定义: int x10, *p=x, i;,若要为数组 x读入数据,以下选项正确的是( )。 ( A) fo
12、r(i=0; i 10; i+)scanf(“ d“, p+i); ( B) for(i=0; i 10; i+)scanf(“ d“, *p+i); ( C) for(i=0; i 10; i+)scanf(“ d“, *(P+i); ( D) for(i: O; i 10; i+)scanf(“ d“, xi); 25 有以下程序: #include stdio h main() char s=“012xy 08s34f4w2“; int i, n=0; for(i=0; si!=0; i+) if(si =0&si =9)n+; printf(“ d n“, n); 程序运行后的输出结果
13、是 ( )。 ( A) 7 ( B) 0 ( C) 3 ( D) 8 26 有以下程序段: char str412=“aaa“, “bbb“, “ccc“, “ddd“, *p4; int i; for(i=0; i 4; i+)pi=stri; 以下选项中不能正确引用字符串的是 ( )。 ( A) *p3 ( B) p3 ( C) str2 ( D) *p 27 有以下程序: #include stdio h int mul(int val) static int init=1; return init*=val; main() int i; for(i=1; i =5; i+) print
14、f(“ d, “, mul(i); 程序运行后的输出结果是 ( )。 ( A) 1, 2, 6, 24, 120, ( B) 1, 2, 3, 4, 5, ( C) 1, 1, 1, 1, 1, ( D) 1, 2, 4, 6, 8, 28 有以下程序: #include stdio h void fun(int n) static int k=0; if(n 0)printf(“-“); n=-n; k+=n 10; printf(“ d, “, k); if(n 10)fun(n 10); main() int x=-12; fun(x); printf(“ n“); 程序运行后的输出结果
15、是 ( )。 ( A) -2, 3, ( B) -1, -2, ( C) -2, -3, ( D) -2, 1 29 有以下程序: #include stdio h stmct Sint n; int a20; ; void f(stmct S*p) int i, j, t; for(i=0; i p- n-1; i+) for(j=i+1; j p- n; j+) if(p- ai p- aj)t=p- ai; p- ai=p- aj; p- aj=t; main() int i; struct S s=10, 2, 3, 1, 6, 8, 7, 5, 4, 10, 9; f(&s); fo
16、r(i=0; i s n; i+)printf(“ d, “, s ai); 程序运行后的输出结果是 ( )。 ( A) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ( B) 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, ( C) 2, 3, 1, 6, 8, 7, 5, 4, 10, 9, ( D) 10, 9, 8, 7, 6, 1, 2, 3, 4, 5, 30 有以下程序: #include stdio h typedef struet stu char name10; char gender; int score; STU; void f(STU a
17、, STU*b, STU c) *b=c=a; printf(“ s, c, d, “, b- name, b- gender, b- score); printf(“ s, c, d, “, c name, c gender, c score); main() STU a=“Zhao“, m, 290, b=“Qian“, f, 350, c=“Sun“, m, 370; f(a, &b, c); printf(“ s, c, d, “, b name, b gender, b score); printf(“ s, c, d n“, c name, c gender, c score);
18、程序运行后的输出结果是 ( )。 ( A) Zhao, m, 290, Zhao, m, 290, Zhao, m, 290, Sun, m, 370 ( B) Zhao, m, 290, Zhao, m, 290, Zhao, m, 290, Zhao, m, 290 ( C) Zhao, m, 290, Zhao, m, 290, Qian, f, 350, Sun, in, 370 ( D) Zhao, m, 290, Zhao, m, 290, Qian, f, 350, Zhao, m, 290 31 有以下程序 #inelude stdio h #define SUB(x, y)(
19、x)*(y) main() int a=3, b=4; printf(“ d n“, SUB(a+, b+); 程序运行后的输出结果是 ( )。 ( A) 15 ( B) 12 ( C) 16 ( D) 20 32 有以下程序 #include stdio h main() struct cmint x; int y; a2=4, 3, 2, 1; printf(“ d n“, a0 y a0 x*a1 x); 程序运行后的输出结果是 ( )。 ( A) l ( B) 4 ( C) 0 ( D) 3 33 以下选项中的编译预处理命令行,正确的是 ( )。 ( A) #define E 2 38
20、 ( B) #define PI_2 1 56 ( C) #define int INT ( D) #DEFINE TRUE 34 设有以下程序段: struct book float price; char language; char title20; rec, *ptr; ptr=&rec; 要求输入字符串给结构体变量 rec的 title成员,错误的输入语句是 ( )。 ( A) scanf(“ s“, ptr title); ( B) scanf(“ s“, rec title); ( C) scanf(“ s“, (*ptr) title); ( D) scanf(“ s“, pt
21、r- title); 35 有以下程序: #include stdio h #include string h struet computer char CPU10; ; main() struet computer pc1, pc2; strepy(pc1 CPU, “3 2G“); strcpy(pc2 CPU, “?“); pc1=pc2; printf(“ s n“, pc1 CPU); 程序运行后的输出结果是 ( )。 ( A) ? ( B) 3 2G ( C) ? ( D) 7 2G 36 有以下程序: #include stdio h main() int a=2, b; b=(
22、a =1)+4; printf(“ d, d“, a, b); 程序运行后的输出结果是 ( )。 ( A) 1, 5 ( B) 2, 4 ( C) 2, 6 ( D) 2, 5 37 若要建立下图所示的存储结构,以下正确的程序段是 ( )。( A) char*q, *p, C; p=&c; q=&p; ( B) char*q, *p, C; p=&c; q=*p; ( C) char*q, *p, C; p=&c; *q=p; ( D) char*q, *p, C; q=p; p=*C; 38 有以下程序: #include stdio h struct tt int x; struct tt
23、*y; s3=1, 0, 2, 0, 3, 0; main() struct tt*p=s+1; p- y=s; printf(“ d, “, p- x); p=p- y; printf(“ d n“, p- x); 程序运行后的输出结果是 ( )。 ( A) 2, 3 ( B) 2, 1 ( C) 1, 2 ( D) 3, 1 39 有以下程序: #include stdio h main() int x=3, y=5; x=xy; y=xy; x=xy; printf(“ d, d n“, x, y); 程序运行后的输出结果是 ( )。 ( A) 3, 5 ( B) 5, 3 ( C) 3
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 模拟 75 答案 解析 DOC
