[计算机类试卷]国家二级(C语言)机试模拟试卷157及答案与解析.doc
《[计算机类试卷]国家二级(C语言)机试模拟试卷157及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)机试模拟试卷157及答案与解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)机试模拟试卷 157及答案与解析 一、选择题 1 下列叙述中正确的是 ( )。 ( A)算法的效率只与问题的规模有关,而与数据的存储结构无关 ( B)算法的时间复杂度是指执行算法所需要的计算工作量 ( C)数据的逻辑结构与存储结构是一一对应的 ( D)算法的时间复杂度与空间复杂度一定相关 2 栈和队列的共同点是 ( )。 ( A)都是先进后出 ( B)都是先进先出 ( C)只允许在端点处插入和删除元素 ( D)没有共同点 3 对于现实世界中事物的特征,在实体 -联系模型中 使用 ( )。 ( A)属性描述 ( B)关键字描述 ( C)二维表格描述 ( D)实体描述 4 下列
2、关于队列的叙述中正确的是 ( )。 ( A)在队列中只能插入数据 ( B)在队列中只能删除数据 ( C)队列是 “先进先出 ”的线性表 ( D)队列是 “先进后出 ”的线性表 5 下列选项中属于面向对象设计方法主要特征的是 ( )。 ( A)继承 ( B)自顶向下 ( C)模块化 ( D)逐步求精 6 关系表中的每一横行称为一个 ( )。 ( A)元组 ( B)字段 ( C)属性 ( D)码 7 下列对软件测试和软件调试叙述中错误的是 ( )。 ( A)严格执行测试计划,排除测试的随意性 ( B)软件调试的目的是改正软件错误 ( C)软件测试不需要考虑测试成本 ( D)正确的执行测试用例 8
3、下列测试方法中, ( )均属于白盒测试的方法。 ( A)语句覆盖法和边界值分析法 ( B)条件覆盖法和基本路径测试法 ( C)边界值分析法和代码检查法 ( D)等价类划分和错误推测法 9 负责数据库中查询操作的数据库语言是 ( )。 ( A)数据定义语言 ( B)数据管理语言 ( C)数据操纵语言 ( D)数据控制语言 10 一般情况下,当对关系 R和 S进行自然连接时,要求 R和 S含有一个或者多个共有的 ( )。 ( A)记录 ( B)行 ( C)属性 ( D)元组 11 以下说法中正确的是 ( )。 ( A) C语言程序总是从第一个定义的函数开始执行 ( B)在 C语言程序中,要调用的函
4、数必须放在 main()函数中定义 ( C) C语言程序总是从 main()函数开始执行 ( D) C语言程序中的 main()函数必须放在程序的开始部分 12 以下叙述中正确的是 ( )。 ( A)在算法设计时,可以把复杂任务分解成一些简单的子任务 ( B)在 C语言程序设计中,所有函数必须保存在一个源文件中 ( C)只要包含三种基本结构的算法就是结构化程序 ( D)结构化程序必须包含所有三种基本结构,缺一不可 13 以下叙述中正确的是 ( )。 ( A)字符变量在定义时不能赋初值 ( B)字符常量可以参与任何整数运算 ( C)同一英文字母的大写和小写形式代表的是同一个字符常量 ( D)转义
5、字符用 符号开头 14 表达式 a+=a-=a=9的值是 ( )。 ( A) 0 ( B) -9 ( C) 18 ( D) 9 15 以下各项中,当 x为大于 1的奇数时,值为 0的表达式是 ( )。 ( A) x 2=0 ( B) x 2 ( C) x 21=0 ( D) x 2=1 16 若有定义语句: int x=12, y=8, z; 在其后执行语句: z=0 9+x y: 则 z的值为 ( )。 ( A) 1 ( B) 1 9 ( C) 2 ( D) 2 4 17 有以下程序段: int m=33, n=66; m=m n; n=n m; m=m n; 执行上述语句后, m和 n的值
6、分别是 ( )。 ( A) m=66, n=33 ( B) m=33, n=66 ( C) m=66, n=66 ( D) m=33, n=33 18 设有定义: double x=2 12;,以下不能完整输出变量 x值的语句是 ( )。 ( A) printf(“x= 5 0f n“, x); ( B) printf(“x= f n“, x); ( C) printf(“x= 1f n“, x); ( D) printf(“x= 0 5f n“, x); 19 有以下程序: #include stdio h main() intx =1, y=0; if(!x)y+; rise if(x=0
7、) if(x)y+=2; else y+=3; printf(“ d n“, y); 程序运行后的输出结果是 ( )。 ( A) 0 ( B) 2 ( C) 1 ( D) 3 20 有以下程序: #include stdio h void fun(int*p, int*q) p=p+1; *q=*q+1; main() int m=1, n=2, *r=&m; fun(r, &n); printf(“ d, d n“, m, n); 程序运行后的输 出结果是 ( )。 ( A) 1, 3 ( B) 2, 3 ( C) 1, 4 ( D) 1, 2 21 有以下程序: #include stdi
8、o h #define S(x)x*x void main() int k=5, j=2; printf(“ d, d n“, S(k+j+2), S(j+k+2); 程序的运行结果是 ( )。 ( A) 21, 18 ( B) 81, 81 ( C) 21, 21 ( D) 18, 18 ( E) D 22 有以下程序 #include stdio h main() int i=1; for(printf(“ d“, i); i 4; i+) printf(“ d“, i); printf(“ n“); 程序运行后的输出结果是 ( )。 ( A) 0123 ( B) 123 ( C) 112
9、3 ( D) 001 23 有以下程序: #include stdio h main() int i, array6=1, 5, 0, 4; for(i=0; i 5; i+) printf(“ d“, arrayi); printf(“ n“); 程序运行后的输出结果是 ( )。 ( A) 0 4 0 4 0 ( B) 1 5 0 4 0 ( C) 1 5 5 4 0 ( D) 1 2 1 2 0 24 以下数组定义中错误的是 ( )。 ( A) int x23=1, 2, 3, 4, 5, 6; ( B) int x 3=0; ( C) int x 3=1, 2, 3, 4, 5, 6;
10、( D) int x23=1, 2, 3, 4, 5, 6; 25 C语言程序中,运算对象必须是整型数的运算符是 ( )。 ( A) & ( B) ( C) ( D) * 26 对于函数声明: void fun(float array , int*ptr); 以下叙述中正确的是 ( )。 ( A)函数参数 array、 ptr都是指针变量 ( B)函数声明有语法错误,参数 array缺少数组大小定义 ( C)调用函数时, array数组中将存储从实参中复制来的元素值 ( D)调用函数时, array数组的元素和 ptr都是按值传送 27 下列定义数组的语句中,正确的是 ( )。 ( A) in
11、t x ; ( B) int N=10; int xN; ( C) int x010 ; ( D) #define N10 int xN; 28 有以下程序: #include stdio h main() int b33=0, 1, 2, 0, 1, 2, 0, 1, 2, i, j, t=1; for(i=0; i 3; i+) for(j=i; j =i; j+) t+=bij; pfinff(“ d n“, t); 程序运行后的输出结果是 ( )。 ( A) 4 ( B) 3 ( C) 1 ( D) 9 29 有以下程序段: int x, i; mr(i=1; i =100; i+)
12、$canf(“ d“, &x); if(x 0)continue; pfinff(“ 4d n“, x); 下列各项中,针对上述程序段的描述正确的是 ( )。 ( A)最多可以输出 100个非负整数 ( B)当 x 0时结束整个循环 ( C)当 x =0时没有任何输出 ( D) pfinff函数调用语句总是被跳过 30 有以下程序: #include stdio h #define N4 void fun(int aN) int i; mr(i=0; i N; i+) a0i+=aN-1N-1-i; void main() int xNN: 1, 2, 3, 4, 5, 6, 7, 8, 9,
13、 10, 11, 12, 13, 14, 15,16, i; fun(x); mr(i=0; i N; i+) pfintf(“ d“, xii); pfinff(“ n“); 程序运行后的输 ( A) 17 6 11 16 ( B) 1 6 11 16 ( C) 4 7 10 13 ( D) 5 13 21 29 31 有以下程序: #include stdio h int a=1, b=2; void fun1(int a, int b) pnnff(“ d d“, a, b); void fun2() a=3; b=4; main() fun1(5, 6); fun2(); pfintf
14、(“ d d n“, a, b); 程序运行后的输出结果是 ( )。 ( A) 5 6 3 4 ( B) 3 4 5 6 ( C) 1 2 5 6 ( D) 5 6 1 2 32 有以下程序: #include stdio h void fun(char*a, char*b) while(*a=*)a+; while(*b=*a) b+; a+; main() char *s=“*a*b*“ t80; fun(s, t); puts(t); 程序的运行结果是 ( )。 ( A) a*b* ( B) a*b ( C) *a*b ( D) ab 33 以下叙述中正确的是 ( )。 ( A)语句 p
15、=NULL;执行后,指针 p指向地址为 0的存储单元 ( B)指针变量只能通过求地址运算符 &来获得地 址值 ( C)语句 p=NULL;与 p= 0;是等价的语句 ( D) int*p1;、 int*p2;、 int*p3;都是合法的定义指针变量的语句 34 设有定义: int a=64, b=8;,则表达式 (a&b)和 (a|b)&(a|b)的值分别为 ( )。 ( A) 1和 1 ( B) 1和 0 ( C) 0和 1 ( D) 0和 0 35 有以下程序: #include stdio h main() int a=2, c=5; printf(“a= d, b= d n“, a,
16、c); 程序的输出结果是 ( )。 ( A) a=2, b=5 ( B) a= 2, b= 5 ( C) a= d, b= d ( D) a= d, b= d 36 有以下程序: #include stdio h main() char*s=“12134“; int k=0, a=0; while(sk+1) k+; if(k 2=O) a=a+(sk-0+1); continue; a=a+(sk-0); printf(“k= d a= d n“, k, a); 程序运行后的输出结果是 ( )。 ( A) k=5 a=15 ( B) k=4 a=12 ( C) k=6 a=11 ( D) k
17、=3 a=14 37 有以下程序段: struet float weight; char sex; char name10; rec, *ptr; ptr=&rec; 从键盘读入字符串给结构体变量 Fee的 name成员,错误的输入语句是 ( )。 ( A) scanf(“ s“, rec- name); ( B) scanf(“ s“, tec name); ( C) scanf(“ s“, (*ptr) name); ( D) scanf(“ s“, ptr- name); 38 若有以下程序: #include stdio h void fun(int a, int n) int i,
18、j, t; 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“); ( 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, (
19、 D) 10, 1, 8, 3, 6, 5, 4, 7, 2, 9, 39 有以下程序: #include stdio h int sum(int m) static intn=1; return n+=m: main() int i; for(i=1; i =1; i+) printf(“ d, “, sum(i); printf(“ n“); 程序运行后的输出结果是 ( )。 ( A) 2, ( B) 1, ( C) 4, ( D) 3, 40 设文件指针 fp已定义,执行语句 fp=fopen(“file“, “w“);后,以下针对文本文件 file操作叙述选项中正确的是 ( )。 (
20、A)只能写不能读 ( B)写操作结束后可以从头开始读 ( C)可以在原有内容后追加写 ( D)可以随意读和写 二、程序填空题 41 下列给定程序中,函数 fun的功能是:把形参 s所指字符串中 下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动 (注:字符串的长度大于等于 2)。 例如,形参 s所指字符串为 “abcdefgh“,执行结果为 “ahcbedgf“。 请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构 ! 试题程序: #include stdio h void fun
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 模拟 157 答案 解析 DOC
