[计算机类试卷]国家二级(C语言)机试模拟试卷135及答案与解析.doc
《[计算机类试卷]国家二级(C语言)机试模拟试卷135及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)机试模拟试卷135及答案与解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)机试模拟试卷 135及答案与解析 一、选择题 1 有关线性链表的叙述中正确的是 ( )。 ( A)进行插入与删除时,不需要移动表中的元素 ( B)各数据节点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续 ( C)各数据节点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致 ( D)以上说法均不正确 2 有关队列的叙述中正确的是 ( )。 ( A)循环队列是队列的一种链式存储结构 ( B)循环队列是队列的一种顺序存储结构 ( C)循环队列是非线性结构 ( D)循环队列 是一种逻辑结构 3 一棵二叉树共有 20个节点,其中 5个是叶子节点,则度为 1的节点数为
2、( )。 ( A) 15 ( B) 11 ( C) 6 ( D) 4 4 在下列模式中,能够给出数据库物理存储结构与物理存取方法的是 ( )。 ( A)内模式 ( B)外模式 ( C)概念模式 ( D)逻辑模式 5 在满足实体完整性约束的条件下 ( )。 ( A)一个关系中可以没有任何候选关键字 ( B)一个关系中有且只有一个候选关键字 ( C)一个关系中必须有多个候选关键字 ( D)一个关系中应该有一个或多个候选关键 字 6 有三个关系 R、 S和 T如下:则由关系 R和 S得到关系 T的操作是 ( )。 ( A)自然连接 ( B)差 ( C)除 ( D)交 7 在软件设计中不使用的工具是
3、( )。 ( A) PAD图 ( B)程序流程图 ( C)系统结构图 ( D)数据流图 (DFD图 ) 8 关于需求分析阶段任务的叙述中不正确的是 ( )。 ( A)确定软件系统的功能需求 ( B)确定软件系统的性能需求 ( C)需求规格说明书评审 ( D)制订软件测试计划 9 黑盒测试用例的主要根据是 ( )。 ( A)算法合理性 ( B)程序外部功能 ( C)相关数据结构 ( D)程序流程图 10 关于软件危机表现的叙述中不正确的是 ( )。 ( A)软件过程文件不规范 ( B)软件开发生产率低 ( C)软件质量难以控制 ( D)软件成本不断提高 11 关于程序模块化的叙述中错误的是 (
4、)。 ( A)可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序 ( B)把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块 ( C)把程序分成若干相对独立的模块,可便于编码和调试 ( D)可采用自底向上、逐步细化的 设计方法把若干独立模块组装成所要求的程序 12 关于 C语言程序格式的叙述中正确的是 ( )。 ( A)用 C语言编写的程序只能放在一个程序文件中 ( B) C程序书写格式严格,要求一行内只能写一个语句 ( C) C程序中的注释只能出现在程序的开始位置和语句的后面 ( D) C程序书写格式自由,一个语句可以写在多行上 13 设 int m=0;与其他三
5、个表达式的结果不同的是 ( )。 ( A) m+ ( B) m+=1 ( C) +m ( D) m+1 14 关于 C语言数据类型叙述中,错误的是 ( )。 ( A)若要处理如 “人员信息 ”等含有不同类型的相关数据,应自定义结构体类型 ( B)若要保存带有多位小数的数据,可使用双精度类型 ( C)若只处理 “真 ”和 “假 ”两种逻辑值,应使用逻辑类型 ( D)整数类型可以用来表示自然数 15 以下数值常量不符合 C语言语法的是 ( )。 ( A) 3 0E0 2 ( B) le3 ( C) 012 ( D) 0xabcd 16 有如下程序段: int x=12; double y=3 14
6、1593; printf( d 8 6f, x, y); 其输出结果是 ( )。 ( A) 12, 3 141593 ( B) 123 141593 ( C) 12 3 141593 ( D) 123 1415930 17 已知字符 A的 ASC 代码值是 65,字符变量 a的值是 A, b的值是 D。则执行语句 orintf( d, d, a, b一 2);的输出结果是 ( )。 ( A) A, D ( B) A, B ( C) 65, 68 ( D) 65, 66 18 当 x为大于 1的奇数时,值为 0的表达式是 ( )。 ( A) x 2=0 ( B) x 3 ( C) x 2! =0
7、 ( D) x 2=1 19 有以下程序: #include main() int x; scanf( d, &x); if(x =4); else if(x 8)printf( d n, x); 程序运行时,输入的值在哪个范围才会有输出结果 ?( ) ( A)小于 4的整数 ( B)不等于 8的整数 ( C)大于 4或等于 8的整数 ( D)大于 4且小于 8的整数 20 有以下程序: #include main() int a=7; while(a ); printf( d n, +a); 程序运行后的输出结果是 ( )。 ( A) 0 ( B)一 1 ( C) 1 ( D) 7 21 有
8、以下程序: #include main() char b, c; inti; b=a; c=A; for(i=0; i 6; i+) if(i 2)putehar(i+b); else putchar(i+c); printf( n); 程序运行后的输出结果是 ( )。 ( A) abcDEF ( B) ABcDEf ( C) aBcDeF ( D) AbCdEf 22 有以下程序: #include main() int i, j, x=0; for(i=0; i 2; i+) x+: for(j=0; j 4; j+) if(j 2)continue; x+: x+: printf(x:
9、d n, x); 程序执行后的输出结果是 ( )。 ( A) x: 4 ( B) x: 8 ( C) x: 6 ( D) x: 12 23 设有以下函数: int fun(int n, char*s) 则下面对函数 指针的定义和赋值均正确的是 ( )。 ( A) int(*pf)(int, char); pf=&fun; ( B) int*pf(); pf=fun; ( C) int*pf(); *pf=fun; ( D) int(*pf)(int, char*); pf=fun; 24 若用变量作为实参调用函数,以下正确的是 ( )。 ( A)函数的形参和实参分别占用不同的存储单元 ( B)
10、形参只是形式上的存在,不占用具体存储单元 ( C)同名的实参和形参占同一存储单元 ( D)函数的形参会覆盖实参存储空间的值 25 若要求定义 具有 10个 float型元素的一维数组 a,则以下定义语句中错误的是( )。 ( A) float a5+5; ( B) float n=10, an; ( C) #define n 5 float a2*n; ( D) #define N 10 float aN; 26 有以下程序: #include main() int i, t3=1, 2, 3, 4, 5, 6, 7, 8, 9; for(i=0; i 3; i+) printf( d, t2
11、一 ii); 程序 执行后的输出结果是 ( )。 ( A) 3 5 7 ( B) 7 5 3 ( C) 3 6 9 ( D) 7 5 1 27 有以下程序: #include void fun(int*s, int n1, int n2) int i, j, t; i=n1; j=n2; while(i j) t=si; si: sj; sj: t; i+; j main() int a10=9, 8, 7, 6, 5, 4, 3, 2, 1, 0, k; fun(a, 0, 2); fun(a, 7, 9); fun(a, 0, 7); for(k=0; k 10; k+) printf(
12、d, ak); printf( n); 程序运行后的输出结果是 ( )。 ( A) 2341098765 ( B) 03456987 12 ( C) 9876543210 ( D) 0987651234 28 有以下程序: #include main() int a44=1, 2, 3, 4, 1, 6, 5, 9, 3, 7, 2, 5, 4, 2, 4, l, i,k, t; for(i=0; i 3; i+) for(k=i+1; k 4; k+) if(aii akk) t=aii; aii=akk; akk=t; for(i=0; i 4; i+) printf( d, , a0i)
13、; 程序运行后的输出结果是 ( )。 ( A) 9, 1, 2, 6 ( B) 6, 2, 3, 4 ( C) 6, 4, 3, 2 ( D) 9, 3, 4, 6 29 以下关于字符串的表达式中正确的语句组是 ( )。 ( A) char*s; s=Chinese! ; ( B) char*s; s=Chinese! ; ( C) char s 10; s=Chinese! ; ( D) char s; s=Chinese! ; 30 若有以下定义和语句: #include char cl10=123, c2= n123 ; printf( d d n, strlen(c1), strlen
14、(c2); 则输出结果是 ( )。 ( A) 10 7 ( B) 10 5 ( C) 3 7 ( D) 3 5 31 有以下程序: #include void funl(char*p) char*q; q=p; while(*q! = 0) (*q)+; q+; main() char a=1234567, *P; p=&a3; funl(P); printf( s n, a); 程序执行后的输出结果是 ( )。 ( A) 1235678 ( B) 2345678 ( C) 1245678 ( D) 7654321 32 有以下函数: int sf(char*s) char*t=s; whil
15、e(*t+); t; return(t一 s); 以下关于 sf函数功能叙述正确的是 ( )。 ( A)将字符串 s复制到字符串 t ( B)求字符串的 ASC 码值 ( C)求字符串 s的长度 ( D)求字符串 s所占字节数 33 有以下程序: #include int fun(int x, int y) if(y=0)return x; else return(fun(一一 x,一一 y); main() printf( d n, fun(5, 3); 程序运行后的输出结果是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 34 关于函数的叙述中错误的是 ( )。 ( A
16、) C程序函数中定义的自动变量,系统不自动赋确定的初值 ( B)在 C程序的同一函数中,可以在复合语句内定义变量 ( C) C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值 ( D) C程序函数的形参不可以说明为 static型变量 35 有以下程序段: struct st int x; int*y; *ps; int a: 1, 2, b=3, 4; struct st c2=10, a, 15, b; ps=c; 以下选项中表达式的值为 15的是 ( )。 ( A) +ps一 x ( B) ps一 x ( C) *ps一 y ( D) (ps+)一 x 36 有以下程序:
17、#include struct STint n; int a20; ; void fun(int*a, int n) int i; for(i=0; i n一 1; i+) ai+=1; main() int i; struct ST s=10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10; fun(s a, s n); for(i=0; i s n; i+) printf( d, , s a i); 程序运行后的输出结果是 ( )。 ( A) 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, ( B) 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
18、 ( C) 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, ( D) 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 37 有以下程序: #include #include typedef structchar name9; char sex; float score2; ST; void fun(ST x) STU y=Tom, m, 98 0, 90 0; int i; strcpy(x name, y name); x sex=y sex: for(i=0; i 2; i+) x score i=y score 1; main() ST student=B
19、ob, f, 99 2, 89 0; fun(student); printf( s, c, 2 0f, 2 0f n, student name, student sex,student score0, student score1); 程序运行后的输出结果是 ( )。 ( A) Tom, m, 98, 90 ( B) Bob, f, 99, 89 ( C) Bob, f, 98, 90 ( D) Tom, f, 99, 89 38 设文件指针 fp=fopen(file, W),关于此文本文件操作的叙述中正确的是 ( )。 ( A)可以随意读和写 ( B)写操作结束后可以从头开始读 ( C
20、)可以在原有内容后追加写 ( D)只能写不能读 39 有以下程序: #include #define f(x)2*x*x main() int a=2, s, t; s=f(a+1); t=f(a+1); printf( d, d n, s, t); 程序运行后的输出结果是 ( )。 ( A) 7, 18 ( B) 18, 18 ( C) 7, 7 ( D) 18, 7 40 有以下程序: #include main() char x=4; printf( d n, x=x 2); 程序运行后的输出结果是 ( )。 ( A) 16 ( B) 8 ( C) 40 ( D) 4 二、程序填空题 4
21、1 函数 fun的功能是:将一副扑克牌编号为 1, 2, 3, , 53, 54,以某种特定的方式洗牌,这种方式是将这副牌分成两半,然后将它们交叉,并始终保持编号为1的牌在最上方,如第一次这样洗牌后的结果为: 1, 28, 2, 29, , 53, 27,54。第二次洗牌后的结果为: 1, 41, 28, 15, 2, 42, , 53, 40, 27, 14, 54。 程序的功能是:输出经过 n次这样洗牌后的结果。 请在程序的下划线处填入正确的内容,并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1 C中。不得增行或删行,也不得更改程序的试题程序: #in
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 模拟 135 答案 解析 DOC
