[计算机类试卷]国家二级(C语言)机试模拟试卷147及答案与解析.doc
《[计算机类试卷]国家二级(C语言)机试模拟试卷147及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)机试模拟试卷147及答案与解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)机试模拟试卷 147及答案与解析 一、选择题 1 下列叙述中正确的是 ( )。 ( A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的 ( B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 ( C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构 ( D)线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性 2 下列叙述中正确的是 ( )。 ( A)栈是一种先进先出的线性表 ( B)队列是一种后进先出的线性表 ( C)栈与队列都 是非线性结构 ( D)以上三种说法都不对 3 软件测试的目的是 ( )。 ( A)评估软件可靠性 (
2、 B)发现并改正程序中的错误 ( C)改正程序中的错误 ( D)发现程序中的错误 4 在软件开发中,需求分析阶段产生的主要文档是 ( )。 ( A)软件集成测试计划 ( B)软件详细设计说明书 ( C)用户手册 ( D)软件需求规格说明书 5 软件生命周期是指 ( )。 ( A)软件产品从提出、实现、使用维护到停止使用退役的过程 ( B)软件从需求分析、设计、实现到测试完成的过程 ( C)软件的开发过程 ( D)软件的运行维护过程 6 面向对象方法中,继承是指 ( )。 ( A)一组对象所具有的相似性质 ( B)一个对象具有另一个对象的性质 ( C)各对象之间的共同性质 ( D)类之间共享属性
3、和操作的机制 7 层次型、网状型和关系型数据库划分原则是 ( )。 ( A)记录长度 ( B)文件的大小 ( C)联系的复杂程度 ( D)数据之间的联系方式 8 一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是 ( )。 ( A)一对一 ( B)一对多 ( C)多对多 ( D)多对一 9 数据库设计中反映用户对数据要求的模式是 ( )。 ( A)内模式 ( B)概念模式 ( C)外模式 ( D)设计模式 10 有三个关系 R、 S和 T如下: 则由关系 R和 S得到关系 T的操作是 ( )。 ( A)自然连接 ( B)差 ( C)交 ( D)并
4、 11 计算机能直接执行的程序是 ( )。 ( A)源程序 ( B)目标程序 ( C)汇编程序 ( D)可执行程序 12 以下叙述中正确的是 ( )。 ( A) C语言规定必须用 main作为主函数名,程序将从此开始执行 ( B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 ( C) C语言程序将从源程序中第一个函数开始执行 ( D) mmn的各种大小写拼写形式都可以作为主函数名,如 MAIN, Main等 13 以下选项中可用做 C程序合法实数的是 ( )。 ( A) 3 0e0 2 ( B) 1eo ( C) E9 ( D) 9 12E 14 下列定义变量的语句中错误的
5、是 ( )。 ( A) int_int; ( B) double int_; ( C) char For; ( D) float US$; 15 表达式: (int)(double)9 2)-9 2的值是 ( )。 ( A) 0 ( B) 3 ( C) 4 ( D) 5 16 设变量均已正确定义,若要通过 scanf(“ d c d c“, &a1, &c1, &a2, &c2); 语句为变量 a1和 a2赋数值 10和 20,为变量 c1和 c2赋字符 X和 Y。以下所示的输入形式中正确的是 ( )。 (注: 代表空格字符 ) ( A) 10X回车 20Y回车 ( B) 10X20Y回车 (
6、 C) 10X回 车 20Y回车 ( D) 10X20Y回车 17 以下选项中不能作为 C语言合法常量的是 ( )。 ( A) 0 1e+6 ( B) cd ( C) a ( D) 011 18 if语句的基本形式是: if(表达式 )语句,以下关于 “表达式 ”值的叙述中正确的是( )。 ( A)必须是逻辑值 ( B)必须是整数值 ( C)必须是正数 ( D)可以是任意合法的数值 19 有如下嵌套的 if语句: if(a b) if(a e) k=a; else k=c; else if(b c)k=b; else k=c; 以下选项中与上述 if语句等价的语句是 ( )。 ( A) k=(
7、a b)?(b c)?a: b): (b c)?b: c); ( B) k=(a b)?(a e)?a: c): (b c)?b: c); ( C) k=(a b)?a: b; k=(b c)?b: c; ( D) k=(a b)?a: b; k=(a c)a: c; 20 有以下程序: #include stdio h main() int k=5; while(-k)printf(“ d“, k-=3); printf(“ n“); 程序执行后的输出结果是 ( )。 ( A) 1 ( B) 2 ( C) 4 ( D)死循环 21 有以下程序: #include stdio h main()
8、 int i, j; for(i-3; i =1; i-) for(j=1; j =2; j+)printf(“ d“, i+j); printf(“ n“); 程序运行后的输出结果是 ( )。 ( A) 4 3 2 5 4 3 ( B) 4 5 3 4 2 3 ( C) 2 3 3 4 4 5 ( D) 2 3 3 4 2 3 22 有以下程序: #include stdio h main() int k=5, n=0; do switch(k) case1: case3: n+=1; k-; break; default: n=0; k-; ease2: case4: n+=2; k-;
9、break; printf(“ d“, n); while(k 0&n 5); 程序运行后的输出结果是 ( )。 ( A) 02356 ( B) 0235 ( C) 235 ( D) 2356 23 以下关于 return语句的叙述中正确的 是 ( )。 ( A)一个自定义函数中必须有一条 return语句 ( B)一个自定义函数中可以根据不同情况设置多条 return语句 ( C)定义成 void类型的函数中可以有带返回值的 return语句 ( D)没有 return语句的自定义函数在执行结束时不能返回到调用处 24 已定义以下函数: int fun(int*p) return*p; fu
10、n函数的返回值是 ( )。 ( A)一个整数 ( B)不确定的值 ( C)形参 P中存放的值 ( D)形参 P的地址值 25 以下程序段完全正确的是 ( )。 ( A) int*p; seanf(“ d“, &p); ( B) int*p; searrf(“ d“, P); ( C) int k, *p=&k; seanf(“ d“, p); ( D) int k, *p; *p=&k; seanf(“ d“, p); 26 设有定义: double a10, *s=a; 以下能够代表数组元素 a3的是 ( )。 ( A) (*s)3 ( B) *(s+3) ( C) *s3 ( D) *s+
11、3 27 有以下程序: #include stdio h void f(int*q) im i=0; for(; i 5; i+)(*q)+; main() int a5=1, 2, 3, 4, 5, i; f(a); for(i=0; i 5; i+)printf(“ d, “, ai); 程序运行后的输出结果是 ( )。 ( A) 6, 2, 3, 4, 5, ( B) 2, 2, 3, 4, 5, ( C) 1, 2, 3, 4, 5, ( D) 2, 3, 4, 5, 6, 28 有以下程序: #include stdio h int fun(int(*s)4, int n, int
12、k) int m, i; m=s0k; for(i=1; i n; i+) if(sik m) m=sik; return m; main() int a44=1, 2, 3, 4, 11, 12, 13, 14, 2l, 22, 23, 24, 3l, 32, 33, 34; printf(“ d n“, fun(a, 4, 0); 程序运行后的输出结果是 ( )。 ( A) 4 ( B) 34 ( C) 31 ( D) 32 29 以下选项中正确的语句组是 ( )。 ( A) char*s; s=“BOOK!“; ( B) char*s; s=“BOOK!“; ( C) char s10;
13、 s=“BOOK!“; ( D) char s; s=“BOOK!“; 30 若有定义语句: char*s1=“OK“, *s2=“ok“; 以下选项中,能够输出 “OK”的语句是 ( )。 ( A) if(strcmp(s1, s2)!=0)puts(s2); ( B) if(strcmp(s1, s2)!=0)puts(s1); ( C) if(strcmp(s1, s2)=1)puts(s1); ( D) if(strcmp(s1, s2)=0)puts(s1); 31 有以下程序: #inelude stdio h void fur, (char*p) +p; printf(“ s n
14、“, *p); main() char*a=“Morning“, “Afternoon“, “Evening“, “Night“; fun(a); 程序运行后的输出结果是 ( )。 ( A) Afternoon ( B) fternoon ( C) Morning ( D) orning 32 有以下程序,程序中库函数 islower(ch)用以判断 ch中的字母是否为小写字母: #include stdio h #include ctype h void fun(char*p) int i=0; while(pi) if(pi=&islower(pi-1) pi-1=pi-1-a+A; i+
15、; main() char s1100=“ab cd EFG!“; fun(s1); printf(“ s n“, s1); 程序运行后 的输出结果是 ( )。 ( A) ab cd EFg! ( B) Ab Cd EFg! ( C) ab cd EFG! ( D) aB cD EFG! 33 有以下程序: #include stdio h int f(int x) int y; if(x=0|x=1)return(3); y=x*x-f(x-2); return y; main() int z; z=f(3); printf(“ d n“, z); 程序运行后的输出结果是 ( )。 ( A)
16、 0 ( B) 9 ( C) 6 ( D) 8 34 有以下程序: #include stdio h int fun(int x, int n) static int sum=0, i; for(i=0; i n; i+)sum+=xi; return sum; main() int a=1, 2, 3, 4, 5, b=6, 7, 8, 9, s=0; s=fun(a, 5)+fun(b, 4); printf(“ d n“, s); 程序执行后的输出结果是 ( )。 ( A) 55 ( B) 50 ( C) 45 ( D) 60 35 有以下结构体说明、变量定义和赋值语句: struet
17、STD char name10; int age; char sex; s5, *ps; ps=&s0; 则以下 scaanf函数调用语句有错误的是 ( )。 ( A) seanf(“ s“, s0 name); ( B) seanf(“ d“, &s0 age); ( C) scanf(“ c“, &(ps- sex); ( D) seanf(“ d“, ps- age); 36 若有以下语句: typedef struetS int g; char h; T; 以下叙述中正确的是 ( )。 ( A)可用 S定义结构体变量 ( B)可用 T定义结构体变量 ( C) S是 struct类型的变
18、量 ( D) T是 struct S类型的变量 37 有以下程序: #include stdio h #include string h struet A int a; char b10; double c: ; struct A f(struet A t); main() struet A a=1001, “ZhangDa“, 1098 0; a=f(a); printf(“ d, s, 6 1f n“, a a, a b, a c); struet A f(struet A t) t a=1002: strcpy(t b, “ChangRong“); t c=1202 0; return
19、t; 程序运行后的输出结果是 ( )。 ( A) 1002, ZhangDa, 1202 0 ( B) 1002, ChangRong, 1202 0 ( C) 1001, ChangRong, 1098 0 ( D) 1001, ZhangDa, 1098 0 38 设有宏定义: #define IsDIV(k, n)(k n=1)?1: 0) 且变量 m已正确定义并赋值,则宏调用: IsDIV(m, 5)&IsDIV(m, 7) 为真时所要表达的是 ( )。 ( A)判断 m是否能被 5和 7整除 ( B)判断 m被 5和 7整除是否都余 1 ( C)判断 m被 5或者 7整除是否余 1
20、( D)判断 m是否能被 5或者 7整除 39 有以下程序: #include stdio h main() int a=1, b=2, c=3, x; x=(ab)&c; printf(“ d n“, x); 程序运行后的输出结果是 ( )。 ( A) 3 ( B) 1 ( C) 2 ( D) 0 40 有以下程序: #include stdio h main() FILE*fp; int k, n, a6=1, 2, 3, 4, 5, 6; fp=fopen(“d2 dat“, “w“); fprintf(fp, “ d d d n“, a0, a1, a2); fprintf(fp, “
21、 d d d n“, a3, a4, a5); felose(fp); fp=fopen(“d2 dat“, “r“); fscanf(fp, “ d d“, &k, &n); printf(“ d d n“, k, n); fclose(fp); 程序运行后的输出结果是 ( )。 ( A) 1 2 ( B) 1 4 ( C) 123 4 ( D) 123 456 二、程序填空题 41 下列给定程序中,函数 fun的功能是:在形参 ss所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串数组中的位置 (即下标值 ),若未找到则返回 -1。 ss所指字符串数组中共有 N个内容不
22、同的字符串,且串长 小于M。 请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:部分源程序在文件 BLANK1 C中。 不得增行或删行,也不得更改程序的结构 ! #include stdio h #include string h #define N5 #define M8 int fun(char(*ss)M, char*t) int i; *found* for(i=0; i【 1】; i+) *found* if(stremp(ssi, t)=0)return【 2】; return-1; main() char chNM=“if“, “while“, “sw
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
本资源只提供5页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 模拟 147 答案 解析 DOC
