[计算机类试卷]国家二级(C语言)机试模拟试卷158及答案与解析.doc
《[计算机类试卷]国家二级(C语言)机试模拟试卷158及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)机试模拟试卷158及答案与解析.doc(26页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)机试模拟试卷 158及答案与解析 一、选择题 1 下列叙述中正确的是 ( )。 ( A)程序执行的效率与数据的存储结构密切相关 ( B)程序执行的效率只取决于程序的控制结构 ( C)程序执行的效率只取决于所处理的数据量 ( D)以上说法均错误 2 软件按功能可以分为应用软件、系统软件和支撑软件 (或工具软件 )。下列各项中属于应用软件的是 ( )。 ( A)学生成绩管理系统 ( B) C语言编译程序 ( C) UNIX操作系统 ( D)数据库管理系统 3 通常软件测试实施的步骤 是 ( )。 ( A)集成测试、单元测试、确认测试 ( B)单元测试、集成测试、确认测试 ( C
2、)确认测试、集成测试、单元测试 ( D)单元测试、确认测试、集成测试 4 下列叙述中错误的是 ( )。 ( A)系统总体结构图支持软件系统的详细设计 ( B)软件设计是将软件需求转换为软件表示的过程 ( C)数据结构与数据库设计是软件设计的任务之一 ( D) PAD图是软件详细设计的表示工具 5 对长度为 n的线性表作快速排序,在最坏情况下,比较次数为 ( )。 ( A) n ( B) n-1 ( C) n(n-1) ( D) n(n-1) 2 6 某二叉树共有 7个结点,其中叶子结点只有 1个,则该二叉树的深度为 (假设根结点在第 1层 )( )。 ( A) 3 ( B) 4 ( C) 6
3、( D) 7 7 下列关于栈的叙述中,正确的是 ( )。 ( A)栈顶元素最先能被删除 ( B)栈顶元素最后才能被删除 ( C)栈底元素永远不能被删除 ( D)栈底元素最先能被删除 8 在数据库中,数据模型包括数据结构、数据操作和 ( )。 ( A)数据约束 ( B)数据类型 ( C)关系运算 ( D)查询 9 一名教师可讲授多门课程,一门课程可由多名教师讲授。则实体教师和课程间的联系是 ( )。 ( A) 1: 1联系 ( B) 1: m联系 ( C) m: 1联系 ( D) m: n联系 10 支持子程序调用的数据结构是 ( )。 ( A)栈 ( B)树 ( C)队列 ( D)二叉树 11
4、 以下正确的说法是 ( )。 ( A)用户若需要调用标准库函数,调用前必须重新定义 ( B)用户可以重新定义标准库函数,但若重新定义,该函数将失去原有意义 ( C)用户系统根本不允许用户重新定义库函数 ( D)用户若 需要调用库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统会自动寻找该文件 12 下列叙述中错误的是 ( )。 ( A) C程序可以由一个或多个函数组成 ( B) C程序可以由多个程序文件组成 ( C)一个 C语言程序只能实现一种算法 ( D)一个 C函数可以单独作为一个 C程序文件存在 13 设有定义: int a; float b; 执行 scanf(“
5、 2d f“, &a, &b);语句时,若从键盘输入 876543 0,则 a和 b的值分别是 ( )。 ( A) 87和 6 0 ( B) 876和 543 0 ( C) 87和 543 0 ( D) 76和 543 0 14 若变量均已正确定义并赋值,以下各项中属于合法的 C语言赋值语句是 ( )。 ( A) x=n 2 5; ( B) x=y=5; ( C) x+n=i; ( D) x=5=4+1; 15 以下各项中,属于合法的转义字符是 ( )。 ( A) x41 ( B) 0x41 ( C) X41 ( D) 0X41 16 有以下程序: #include stdio h main(
6、) int a=3: a+=a-=a*a; printf(“ d n“, a); 程序的输出结果是 ( )。 ( A) 0 ( B) 9 ( C) 3 ( D) -12 17 设有定义: char s81; int i=0; 以下不能将一行 (不超过 80个字符 )带有空格的字符串正确读入的语句或语句组是( )。 ( A) gets(s); ( B) while(si+=getchar()!= n); si= 0; ( C) scanf(“ s“, s); ( D) doscanf(“ c“, &si); while(si+!= n); si= 0; 18 有以下程序: #include st
7、dio h main() char c1, c2, c3, c4, c5, c6; scanf(“ c c c c“, &c1, &c2, &c3, &c4); c5=getchar(); c6=getchar(); putchar(e1); putchar(c2); printf(“ c c n“, c5, c6); 程序运行后,若从键盘输入 (从第 1列开始 ): 123回车 45678回车 则输出结果是 ( )。 ( A) 1256 ( B) 1245 ( C) 1278 ( D) 1267 19 有以下程序: #include stdio h main() int a, b; for(
8、a=0; a 3; a+) scanf(“ d“, &b); switch(b) default: printf(“ d“, +b); case1: printf(“ d“, +b); case2: printf(“ d“, +b); 执行时输入: 1 2 3回车,则输出结果是 ( )。 ( A) 2 3 3 4 5 6 ( B) 2 3 4 ( C) 2 2 3 4 4 4 ( D) 2 3 4 3 4 4 20 对于 if(表达式 )语句,以下叙述中正确的是 ( )。 ( A) “表达式 ”的值可以是任意合法的数值 ( B)变量不能出现在 “表达式 ”中 ( C)常量不能出现在 “表达式
9、”中 ( D)如果 “表达式 ”的值不是逻辑值,程序会出编译错误 21 若有以下程序: #include stdio h main() int c; C=13|15; printf(“ d n“, c); 则程序的输出结果是 ( )。 ( A) 13 ( B) 15 ( C) 18 ( D) 5 22 有以下程序: #include stdio h main() int a=1, b=0; if(-a)b+; else if(a=0)b+=2; else b+=3; printf(“ d n“, b); 程序运行后的输出结果是 ( )。 ( A) 0 ( B) 1 ( C) 2 ( D) 3
10、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)数组说明符的一对方括号中只能使用整型常量,而不能使用表达式 ( B)一条语句只能定义一个数组 ( C)每个数组包含一组具有同一类型的变量,这些变量在内存中占有连续的存储单元
11、( D)在引用数组元素时,下标表达式 可以使用浮点数 25 若有定义语句: int m 3=1, 2, 3, 4, 5, 6, 7;,则与该语句等价的是( )。 ( A) int m 3=1, 2, 3, 4, 5, 6, 7; ( B) int m 3=1, 2, 3, 4, 5, 6, 7; ( C) int m 3=1, 2, 3, 4, 5, 6, 7; ( D) int m 3=1, 2, 3, 4, 5, 6, 7; 26 以下叙述中正确的是 ( )。 ( A) char, c1, c2, *c3, c440;是合法的变量定义语句 ( B)数组下标的下限由数组中第一个非零元素的位置
12、决定 ( C)数组下标的下限由数组中第一个被赋值元素的位置决定 ( D)数组下标的下限是 1 27 有以下程序: #include stdio h main() int a=3; do printf(“ d, “, a-=2); while(!(-a); printf(“ n“); 程序运行后的输出结果是 ( )。 ( A) 1, -3, ( B) 1, -2, ( C) 3, 0, ( D) 1, 0, 28 若有定义: char s30=0; 运行时输入: This is a string回车 则以下不能正确读入整个字符串 This is a string到字符数组 s中的语句组是 ( )
13、。 ( A) scanf(“ s“, s); ( B) gets(s); ( C) for(i=0; (c=getchar()!= n; i+)si=c; ( D) i=0; while(c=getchar()!= n)si+=c; 29 有以下程序: #include stdio h main() int x; for(x=3; x 6; x+) printf(x 2)?(“* d“): (“# d“), x); printf(“ n“); 程序的输出结果是 ( )。 ( A) *3#4*5 ( B) #3*4#5 ( C) *3*4#5 ( D) *3#4#5 30 有以下程序: #inc
14、lude stdio h void fun(int a, int b) int t; t=a; a=b; b=t; main() int c10=1, 2, 3, 4, 5, 6, 7, 8, 9, 0, i; for(i=0; i 10; i+=2) fun(ci, ci+1); for(i=0; i 10; i+) printf(“ d“, ci); printf(“ n“); 程序的运行结果是 ( )。 ( A) 1 2 3 4 5 6 7 8 9 0 ( B) 2 1 4 3 6 5 8 7 0 9 ( C) 0 9 8 7 6 5 4 3 2 1 ( D) 0 1 2 3 4 5 6
15、 7 8 9 31 有以下程序: #include stdio h int fun(int n) int a; if(n=1)return1; a=n+fun(n-1); return(a); main() printf(“ d n“, fun(5); 程序的输出结果是 ( )。 ( A) 10 ( B) 14 ( C) 15 ( D) 9 32 以下选项中,没有编译错误的是 ( )。 ( A) char str3=d, e, b, u, g, 0; ( B) char str15=“pass“, str26; str2=str1; ( C) char name10; name=“china“
16、; ( D) char str4; str4=“hello world“; 33 有以下程序: #include stdio h int add(int a, int b) return(a+b); main() int k, (*f)(), a=5, b=10; f=add; 则以下函数调用语句中错误的是 ( )。 ( A) k=*f(a, b); ( B) k=add(a, b); ( C) k=(*f)(a, b); ( D) k=f(a, b); 34 以下关 于 C语言函数参数传递方式的叙述中正确的是 ( )。 ( A)数据只能从实参单向传递给形参 ( B)数据可以在实参和形参之间双
17、向传递 ( C)数据只能从形参单向传递给实参 ( D) C语言的函数参数既可以从实参单向传递给形参,也可以在实参和形参之间双向传递,可视情况选择使用 35 设已有定义: float x; 则以下对指针变量 p进行定义且赋初值的语句中正确的是 ( )。 ( A) float*p=&; x; ( B) int*p=(float)x; ( C) float p=&; x; ( D) float*p=1024: 36 以下叙述中正确的是 ( )。 ( A)在 C语言中,预处理命令行都以 #开头 ( B)预处理命令行必须位于 C源程序的起始位置 ( C) #include stdio h必须放在 C程序
18、的开头 ( D) C语言的预处理不能实现宏定义和条件编译的功能 37 有以下程序: #include stdio h int fun1(int a, int b) return a+b; int fun2(int a, int b) return a-b; int fun(int(*t)(int, int), int x, int y) return(*t)(x, y); main() int x; X=fun(fun1, 9, 3); x+=fun(fun2, 8, 3); printf(“ d n“, x); 程序运行后的输出结果是 ( )。 ( A) 24 ( B) 23 ( C) 17
19、 ( D) 22 38 有以下程序: #include stdio h void sp(int*a) int b=2; a=&b; *a=*a*2; printf(“ d, “, *a); main() int k=3, *p=&k; sp(p); pfinff(“ d, d n“, k, *p); 则程序的输出结果是 ( )。 ( A) 4, 3, 3 ( B) 4, 3, 4 ( C) 6, 3, 6 ( D) 6, 6, 6 39 有以下程序: #include stdio h void my() char ch; ch=getchar(); if(ch!=c)my(); putchar
20、(ch); main() my(); 执行时,输入 abc回车,则输出结果是 ( )。 ( A) abc ( B) ababc ( C) bca ( D) cba 40 有以下程序: #include stdio h main() unsigned char a=8, c; c=a 3: printf(“ d n“, c); 程序运行后的输出结果是 ( )。 ( A) 32 ( B) 16 ( C) 1 ( D) 0 二、程序填空题 41 下列给定程序中,函数 fun的功能是:有 NN矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为 0。 例如,若 N=3,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 模拟 158 答案 解析 DOC
