[计算机类试卷]国家二级(C语言)机试历年真题试卷汇编7及答案与解析.doc
《[计算机类试卷]国家二级(C语言)机试历年真题试卷汇编7及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)机试历年真题试卷汇编7及答案与解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)机试历年真题试卷汇编 7及答案与解析 一、选择题 1 下列关于算法复杂度叙述正确的是 ( )。 ( A)最坏情况下的时间复杂度一定高于平均情况的时间复杂度 ( B)时间复杂度与所用的计算工具无关 ( C)对同一个问题,采用不同的算法,则它们的时间复杂度是相同的 ( D)时间复杂度与采用的算法描述语言有关 2 设有栈 S和队列 Q,初始状态均为空。首先依次将 A, B, C, D, E, F入栈,然后从栈中退出 3个元素依次入队,再将 X, Y, Z入栈后,将栈中所有元素退出并依次入队,最后将队列中所有 元素退出,则退队元素的顺序为 ( )。 ( A) DEFXYZABC (
2、 B) FEDZYXCBA ( C) FEDXYZCBA ( D) DEFZYXABC 3 下列叙述中正确的是 ( )。 ( A)有两个指针域的链表称为二叉链表 ( B)循环链表是循环队列的链式存储结构 ( C)带链的栈有栈顶指针和栈底指针,因此又称为双重链表 ( D)节点中具有多个指针域的链表称为多重链表 4 某二叉树共有 845个节点,其中叶子节点有 45个,则度为 1的节点数为 ( )。 ( A) 400 ( B) 754 ( C) 756 ( D)不确定 5 软件需求分析阶段的主要任务是 ( )。 ( A)确定软件开发方法 ( B)确定软件开发工具 ( C)确定软件开发计划 ( D)确
3、定软件系统的功能 6 下面对软件测试描述错误的是 ( )。 ( A)严格执行测试计划,排除测试的随意性 ( B)随机地选取测试数据 ( C)软件测试的目的是发现错误 ( D)软件测试是保证软件质量的重要手段 7 结构化程序的 3种基本控制结构是 ( )。 ( A)顺序、选择和重复 (循环 ) ( B)过程、子程序和分程序 ( C)顺 序、选择和调用 ( D)调用、返回和转移 8 数据库中对概念模式内容进行说明的语言是 ( )。 ( A)数据定义语言 ( B)数据操纵语言 ( C)数据控制语言 ( D)数据宿主型语言 9 某个工厂有若干个仓库,每个仓库存放有不同的零件,相同零件可能放在不同的仓库
4、中。则实体仓库和零件间的联系是 ( )。 ( A)多对多 ( B)一对多 ( C)多对一 ( D)一对一 10 有 3个关系 R、 S和 T如下:则由关系 R和 S得到关系 T的操作是 ( )。 ( A)交 ( B)差 ( C)并 ( D)选 择 11 以下叙述正确的是 ( )。 ( A)计算机只接收由 0和 1代码组成的二进制指令或数据 ( B)计算机只接收由 0和 1代码组成的十进制指令或数据 ( C)计算机可直接接收并运行 C源程序 ( D)计算机可直接接收并运行任意高级语言编写的源程序 12 若有 C语言表达式 2+3 * 4+7 3,以下选项中叙述正确的执行顺序是 ( )。 ( A)
5、先执行 3 * 4得 12,再执行 7 3得 27 5,最后执行 2+12+2 5得 16 5 ( B)先执行 3半 4得 12,再执行 2+12得 14,再执行 7 3得 2,最 后执行 14+2得 16 ( C)先执行 7 3得 2,再执行 3*4得 12,再执行 12+2得 14,最后执行 2+14得16 ( D)先执行 2+3得 5,再执行 5*4得 20,再执行 20+7得 27,最后执行 27 3得9 13 若有定义: char c; int d;程序运行时输入: c=1, d=2,能把字符 1输入给变量 c、整数 2输入给变量 d的输入语句是 ( )。 ( A) scanf(“c
6、= d d= d“, c, d); ( B) seanf(“c= c d= d“|, re, d); ( C) seanf(“c= d, d= d“, c, d); ( D) seanf(“c= c, d= d“, c, d); 14 以下选项中,与 n=i+完全等价的表达式是 ( )。 ( A) n=i, i=i+1 ( B) n+=i+1 ( C) i=i+1, n=i ( D) n=+i 15 设有定义: int n=1234; double x=3 1415;则语句 printf(“ 3d, 1 3f n“, n, x); 的输出结果是 ( )。 ( A) 1234, 3 142 (
7、B) 123, 3 142 ( C) 1234, 3 141 ( D) 123, 3 141 16 有以下程序: #include main() int a, b; for(a=0; a,则输出结果是 ( )。 ( A) 2, 2, 3, 4, 4, 4, ( B) 2, 3, 4, ( C) 2, 3, 3, 4, 5, 6, ( D) 2, 3, 4, 3, 4, 4, 17 设变量 m为 float类型,变量 n为 int类型,则以下能实现将 m中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是 ( )。 ( A) m=(m*100+0 5) 100 0 ( B) n=m*100
8、+0 5, m=n 100 0 ( C) n=m 100+0 5, m=n*100 0 ( D) m=m *1013+0 5 100 0 18 有以下程序: #include main() int a=1, b=1; for(; a一一; ) b一一; printf(“ d, d n“, a, b); 程序运行后的输出结果是 ( )。 ( A)一 1, 0 ( B) 0, 0 ( C)一 1,一 1 ( D) 1, 1 19 若有定义: char s30=0; 运行时输入: This is a string 则以下不能正确读入整个字符串: This is a string 到字符数组 S中的语
9、句组是 ( )。 ( A) i=0; while(c=getchar()!= n)si+=c; ( B) gets(S); ( C) for(i=0; (c=getchar()!= n; i+)si=c; ( D) scanf(“ s“, s); 20 有如下程序: #include main() int a=0, b=1; if(a+&b+) printf(“TRUE“); else printf(“FALSE“); printf(“_OUT: a= d, b= d n“, a, b); 程序运行后的输出结果是 ( )。 ( A) FALSE_OUT: a=1, b=1 ( B) FALSE
10、_OUT: a=0, b=2 ( C) TRUE_OUT: a=1, b=2 ( D) TRUE_OUT: a=0, b=1 21 有如下程序: #include main() int i, data; scanf(“ d“, &data); for(i=0; i后,程序输出结果为 ( )。 ( A) 34一 ( B) 123一 ( C) 012一 ( D) 0一 123一 22 有以下程序: #include main() int a=0, b=1; if(+a=b+) printf(“1“); else printf(“0“); printf(“a= d, b= d n“, a, b);
11、程序运行后的输出结果是 ( )。 ( A) 1a=0, b=1 ( B) 0a=1, b=2 ( C) 1a=1, b=2 ( D) 0a=0, b=2 23 有如下程序段: for(i=0; i5)break; 则循环结束后 i的值为 ( )。 ( A) 10 ( B) 5 ( C) 9 ( D) 6 26 有以下程序段: int x, i; for(i=1; i=0时没有任何输出 ( D) printf函数调用语句总是被跳过 27 关于地址和指针,以下说法正确 的是 ( )。 ( A)通过强制类型转换可以将一种类型的指针变量赋值给另一种类型的指针变量 ( B)可以取一个常数的地址赋值给同类
12、型的指针变量 ( C)可以取一个表达式的地址赋值给同类型的指针变量 ( D)可以取一个指针变量的地址赋值给基类型相同的指针变量 28 有以下程序: #include #define N 4 void fun(int aN) int i; for(i=0; i main() int a=2, *ptr; ptr=&a; *ptr=8: a=(*ptr)+; printf(“ d, d n“, a, *ptr); 程序运行后的输出结果是 ( )。 ( A) 9, 9 ( B) 8, 9 ( C) 2, 4 ( D) 0, 4 32 有以下程序 I #include main() int i, *p
13、tr; int array4=0, 1; for(ptr=array, i=0; i char*a=“you“: char*b=“Welcome you to Beijing“: main() char*p; p=b; while(*p!=* a)p+; printf(“ s n“, P); 程序运行后的输出结果是 ( )。 ( A) you to Beijing! ( B) to Beijing! ( C) Welcome you to Beijing! ( D) Beijing! 35 有以下程序: #include void f(int x, int n) if(n1) printf(“
14、 d, “, xn一 1); f(x, n1); printf(“ d, “, xn一 1); else printf(“ d, “, x0); main() int z3=1, 2, 3; f(z, 3); printf(“ n“); 程序运行后的输出结果是 ( )。 ( A) 3, 1, 3 ( B) 3, 2, 1, 2, 3 ( C) 1, 2, 3, 1, 2, 3 ( D) 1, 2, 3, 2, 1 36 有以下程序: #include int a=2; int f(int k) static int n; int m; m=n=0: n+; a+; m+; k+; return
15、 n+m+a+k: main() int k; for(k=0; k int sum(int*array, int len) if(len=1) retum array1; else return array1+sum(array+1, len一 1); main() int array5=0, 9, 1, 2, re$; res=sum(array, 3); printf(“ d n“, res); 程序运行后的输出结果是 ( )。 ( A) 27 ( B) 11 ( C) 8 ( D) 12 38 有以下程序: #include mmn() char s10=“verygood“, *ps
16、=s; ps=“too“: s4= 0; puts(ps); 程序的运行结果是 ( )。 ( A) too ( B) verygood ( C) very ( D) good 39 以下叙述中错误的是 ( )。 ( A)函数中的形参属于局部变量 ( B)在函数内部定义的变量只能在本函数范围内使用 ( C)在函数外部定义的变量在所有函数中都有效 ( D)在不同的函数中可以使用相同名字的变量 40 有以下程序: #include mmn() FILE*fp; int i, a6=1, 2, 3, 4, 5, 6, k; fp=fopen(“data dat“, “W+“); fprintf(fp,
17、 “ d n“, a0); for(i=1; i #include #define N 20 void fun(int*a) int i, x, n=0; x=rand() 20; *found* while(n #include #include typedef struet aa int data; struct aa *next: NODE; int fun(NODE; lch) int sum=0; NODE*p; p=h一 next; *found* while(p一 next) if(p一 dam 2=0) sum+=p一 data; *found* p=h一 next; retu
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 历年 汇编 答案 解析 DOC
