[计算机类试卷]国家二级(C语言)机试模拟试卷97及答案与解析.doc
《[计算机类试卷]国家二级(C语言)机试模拟试卷97及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)机试模拟试卷97及答案与解析.doc(28页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)机试模拟试卷 97及答案与解析 一、选择题 1 下列叙述中正确的是 ( )。 ( A)算法就是程序 ( B)设计算法时只需要考虑数据结构的设计 ( C)设计算法时只需要考虑结果的可靠性 ( D)以上三种说法都不对 2 下列叙述中正确的是 ( )。 ( A)有一个以上根结点的数据结构不一定是非线性结构 ( B)只有一个根结点的数据结构不一定是线性结构 ( C)循环链表是非线性结构 ( D)双向链表是非线性结构 3 下列关丁二叉树的叙述中,正确的是 ( )。 ( A)叶子结点总是比 度为 2的结点少一个 ( B)叶子结点总是比度为 2的结点多一个 ( C)叶子结点数是度为 2的
2、结点数的两倍 ( D)度为 2的结点数是度为 1的结点数的两倍 4 软件生命周期中的活动不包括 ( )。 ( A)市场调研 ( B)需求分析 ( C)软件测试 ( D)软件维护 5 某系统总体结构图如下图所示: 该系统总体结构图的深度是 ( )。 ( A) 7 ( B) 6 ( C) 3 ( D) 2 6 程序调试的任务是 ( )。 ( A)设计测试用例 ( B)验证程序的正确性 ( C)发现程序中的错误 ( D)诊断和改 正程序中的错误 7 下列关于数据库设计的叙述中,正确的是 ( )。 ( A)在需求分析阶段建立数据字典 ( B)在概念设计阶段建立数据字典 ( C)在逻辑设计阶段建立数据字
3、典 ( D)在物理设计阶段建立数据字典 8 数据库系统的三级模式不包括 ( )。 ( A)概念模式 ( B)内模式 ( C)外模式 ( D)数据模式 9 有三个关系 R、 S和 T如下: 则由关系 R和 S得到关系 T的操作是 ( )。 ( A)自然连接 ( B)交 ( C)投影 ( D)并 10 下列选项中属于面向对象设计方法主要特征的 是 ( )。 ( A)继承 ( B)自顶向下 ( C)模块化 ( D)逐步求精 11 以下叙述中错误的是 ( )。 ( A)算法正确的程序可以有零个输入 ( B)算法止确的程序最终一定会结束 ( C)算法正确的程序可以有零个输出 ( D)算法正确的程序对于相
4、同的输入一定有相同的结果 12 以下叙述中正确的是 ( )。 ( A) C语句必须在一行内写完 ( B) C程序中的每一行只能写一条语句 ( C) C语言程序中的注释必须与语句写在同一行 ( D)简单 C语句必须以分号结束 13 以下选项中关于 C语言 常量的叙述错误的是 ( )。 ( A)经常被使用的变量可以定义成常量 ( B)常量分为整型常量、实型常量、字符常量和字符串常量 ( C)常量可分为数值型常量和非数值型常量 ( D)所谓常量,是指在程序运行过程中,其值不能被改变的量 14 以下选项中,不合法的 C语言用户标识符是 ( )。 ( A) a_b ( B) AaBc ( C) a-b
5、( D) _1 15 若变量均已正确定义并赋值,以下合法的 C语言赋值语句是 ( )。 ( A) x=y=5; ( B) x=n 2 5; ( C) x+n=i; ( D) x=5=4+1; 16 设有定义: int a; float b; 执行 scanf(“ 2d f“, &a, &b); 语句时,若从键盘输入 876 543 0回车 则 a和 b的值分别是 ( )。 ( A) 87和 6 0 ( B) 876和 543 0 ( C) 87和 543 0 ( D) 76和 543 0 17 有以下定义语句,编译时会出现编译错误的是 ( )。 ( A) char a= x2d; ( B) c
6、har a= n; ( C) char a=a; ( D) char a=“aa“; 18 当变量 c的值不为 2、 4、 6时,值也为 “真 “的表达式是 ( )。 ( A) (c =2& c =6)&(c 2!=1) ( B) (c=2)|(c=4)|(c=6) ( C) (c =2& c =6)&!(c 2) ( D) (c =2& c =6)|(c!=3)|(c!=5) 19 有以下计算公式 若程序前面已在命令行中包含 math h文件,不能够正确计算上述公式的程序段是 ( )。 ( A) if(X =0)y=sqrt(x); if(X 0)y=sqrt(-x); ( B) if(X
7、=0)y=sqrt(x); else y=sqrt(-x); ( C) y=sqrt(X); if(X 0)y=sqrt(-x); ( D) y=sqrt(x =0?x: -x); 20 有以下程序: #include stdio h main() int y=10; while(y-); printf(“y= d n“, y); 程序执行后的输出结果是 ( )。 ( A) y=-1 ( B) y=0 ( C) y=1 ( D) while构成无限循环 21 有以下程序: #ilMude stdio h main() int i; for(i=1; i =40; i+) if(i+ 5=0)
8、if(+i 8=0)printf(“ d“, i); printf(“ n“); 程序执行后的输出结果是 ( )。 ( A) 5 ( B) 24 ( C) 32 ( D) 40 22 有以下程序: #include stdio h main() int s; scanf(“ d“, &s); while(s 0) switch(s) case1: printf(“ d“, s+5); case2: printf(“ d“, s+4); break; case3: printf(“ d“, s+3); default: printf(“ d“, s+1); break; scanf(“ d“,
9、&s); 运行时,若输入 1 2 3 4 5 0回车,则输出结果是 ( )。 ( A) 66656 ( B) 6566456 ( C) 66666 ( D) 6666656 23 以下叙述中错误的是 ( )。 ( A)用户定义的函数中可以没有 return语句 ( B)用户定义的函数中可以有多个 return语句,以便可以调用一次返 回多个函数值 ( C)用户定义的函数中若没有 return语句,则应当定义函数为 void类型 ( D)函数的 return语句中可以没有表达式 24 有以下程序: #include stdio h void fun(char*c, int d) *c=*c+1;
10、 d=d+1; printf(“ c, c, “, *c, d); main() char b=a, a=A; fun(&b, a); printf(“ c, c n“, b, a); 程序运行后的输出结果是 ( )。 ( A) b, B, b, A ( B) b, B, B, A ( C) a, B, B, a ( D) a, B, a, B 25 下列选项中,能正确定义数组的语句是 ( )。 ( A) int nun0 2008; ( B) int Bum; ( C) intN=2008; int numN; ( D) #define N2008 int numN; 26 以下函数实现按每
11、行 8个输出 w所指数组中的数据: #include stdio h void fun(int*w, int n) int i; for(i=0; i n; i+) _ printf(“ d“, wi); printf(“ n“); 在横线处应填入的语句是 ( )。 ( A) if(i 8=0)printf(“ n“); ( B) if(i 8=0)continue; ( C) if(i 8=0)printf(“ n“); ( D) if(i 8=0)continue; 27 有以下程序: #include stdio h void fun(char*c) while(*c) if(*c =a
12、&*c =z) *c=*c-(a-A); c+: main() char s81; gets(s); fun(s); puts(s); 当执行程序时从键盘上输入 Hello Beijing回车,则程序运行后的输出结果是( )。 ( A) hello beijing ( B) Hello Beijing ( C) HELLO BEIJING ( D) hELLO Beijing 28 有以下程序: #include stdio h main() int a44=1, 4, 3, 2, 8, 6, 5, 7, 3, 7, 2, 5, 4, 8, 6, 1; inti, j, k, t; for(i
13、=0; i 4; i+) for(j=0; j 3; J+) for(k=j+1; k 4; k+) if(aji aki) t=aji; aji=aki; aki=t; *按列排序 * for(i=0; i 4; i+) printf(“ d, “, aii); 程序运行后的输出结果是 ( )。 ( A) 1, 6, 2, 1, ( B) 8, 7, 3, 1, ( C) 4, 7, 5, 2, ( D) 1, 6, 5, 7, 29 有以下程序 (strcat函数用于连接两个字符串 ): #include stdio h #include string h main() char a20=
14、“ABCD 0EFG 0“, b=“IJK“; strcat(a, b); printf(“ s n“, a); 程序运行后的输出结果是 ( )。 ( A) UK ( B) ABCDE OFG OUK ( C) ABCDUK ( D) EFGIJK 30 有以下程序段: char name20; int nun; scanf(“name= s num= d“, name, &num); 当执行上述程序段,并从键盘输入: name=Lili Hum=1001回车后, name的值为 ( )。 ( A) name=Lili num=1001 ( B) name=Lili ( C) Lili nun
15、= ( D) Lili 31 有以下程序: #include stdio h main() char ch=“uvwxyz“, *pc; pc=ch; fwintf(“ c n“, *(pc+5); 程序运行后的输出结果是 ( )。 ( A) z ( B) 0 ( C)元素 ch5的地址 ( D)字符 y的地址 32 有以下程序: #include stdio h main() char s=“012xy“; int i, n=0: for(i=0; i!=0; i+) if(si =a&si =z) n+: printf(“ d n“, n); 程序运行后的输出结果是 ( )。 ( A) 0
16、 ( B) 2 ( C) 3 ( D) 5 33 有以下程序: #include sldio h int fun(int n) if(n=1) return1; else return(n+fun(n-1); main() int x; scanf(“ d“, &x); x=fun(x); prinff(“ d n“, x); 执行程序时,给变量 x输入 10,程序运行后的输出结果是 ( )。 ( A) 55 ( B) 54 ( C) 65 ( D) 45 34 有以下程序: #include stdio h int f(int m) static int n=0: n+=m: return
17、n; main() int n=0: printf(“ (1, “, f(+n); printf(“ d n“, f(n+); 程序运行后的输出结果是 ( )。 ( A) 3, 3 ( B) 1, 1 ( C) 2, 3 ( D) 1 2 35 设有以下语句: typedef struct TT char c; int a4; CIN: 则下面叙述中正确的是 ( )。 ( A) CIN是 strut TT类型的变量 ( B) TT是 strut类型的变量 ( C)可以用 TT定义结构体变量 ( D) 可以用 CIN定义结构体变量 36 有以下程序: #include stdio h Struc
18、t ord int x, y; dt2=; 1, 2, 3, 4; main() struct ord*p=dt: printf(“ d, “, +(p- x); printf(“ d n“, +(p- y); 程序运行后的输出结果是 ( )。 ( A) 3, 4 ( B) 4, 1 ( C) 2, 3 ( D) 1 2 37 有以下程序: #include sidio h #define SUB(A)(a)-(a) main() int a=2, b=3, c=5, d: d=SUB(a+1)*c; printf(“ d n“, d): 程序运行后的输出结果是 ( )。 ( A) 0 ( B
19、) -12 ( C) -20 ( D) 10 38 有以下程序: #include stdio h main() int a=2, b; b=a 2; printf(“ d n“, b): 程序运行后的输出结果是 ( )。 ( A) 2 ( B) 4 ( C) 6 ( D) 8 39 下列关于 C语言文件的叙述中正确的是 ( )。 ( A)文件由一系列数据依次排列组成,只能构成二进制文件 ( B)义件由结构序列组成,可以构成二进制文件或文本文件 ( C)文件由数据序列组成,可以构成二进制义件或文本文件 ( D)文件由字符序列组成,其类型只能是文本文件 40 )有以下程序: #include s
20、tdio h main() FILE*fp: int a10=1, 2, 3, 0, 0, i: fp=fopen(“d2 dat“, “wb“): fwrite(a, sizeof(int), 5, fp); fwrite(a, sizeof(int), 5, fp); fclose(fp): fp=fopen(“d2 dat“, “rb“); frefld(a, sizeof(int), 10, fp); fclose(fp); for(i=0; i 10; i+) printf(“ d, “, ai); 程序运行后的输出结果是 ( )。 ( A) 1, 2, 3, 0, 0, 0, 0,
21、 0, 0, 0, ( B) 1, 2, 3, 1, 2, 3, 0 0 0, 0, ( C) 123, 0, 0, 0, 0, 123, 0, 0, 0, 0, ( D) l, 2, 3, 0, 0, 1, 2, 3, 0, 0, 二、程序填空题 41 下列给定程序中,函数 fun的功能是:把形参 a所指数组中的最小值放在元素a0中,接着把 a所指数组中的最大值放在 a1元素中;再把 a所指数组元素中的次小值放在 a2中,把 a所指数组元素中的次大值放在 a3,以此类推。 例如,若 a所指数组中的数据最初排列为: 9、 1、 4、 2、 3、 6、 5、 8、 7;则按规则移动后,数据排列为
22、: 1、 9、 2、 8、 3、 7、 4、 6、 5。彤参 n中存放 a所指数组中数据的个数。 规定 fun函数中的 max存放当前所找的最大值, px存放当前所找最大值的下标。 请在程序的下划线处填入 正确的内容并将下划线删除,使程序得出正确的结果。 注意:部分源程序在文件 BLANK1 C中。 不得增行或删行,也不得更改程序的结构 ! #include stdio h #define N9 void fun(int a, int n) int i, j, max, min, px, pn, t; for(i=0; i n-1; i+=2) *found* max=min=1; px=pn
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 模拟 97 答案 解析 DOC
