[计算机类试卷]国家二级(C语言)笔试模拟试卷112及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷112及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷112及答案与解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 112及答案与解析 1 在计算机中,算法是指 _。 ( A)查询方法 ( B)加工方法 ( C)解题方案的准确而完整的描述 ( D)排序方法 2 栈和队列的共同点是 _。 ( A)都是先进后出 ( B)都是先进先出 ( C)只允许在端点处插入和删除元素 ( D)没有共同点 3 已知二叉树 BT的后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是 _。 ( A) cedba ( B) acbed ( C) decab ( D) deabc 4 在下列几种排序方法中,要求内存量最大的是 _。 ( A)插入排序 ( B)选择排序 ( C)快速
2、排序 ( D)归并排序 5 在设计程序时,应采纳的原则之一是 _。 ( A)程序结构应有助于读者理解 ( B)不限制 goto语句的使用 ( C)减少或取消注解行 ( D)程序越短越好 6 下列不属于软件调试技术的是 _。 ( A)强行排错法 ( B)集成测试法 ( C)回溯法 ( D)原因排除法 7 下列叙述中,不属于软件需求规格说明书的作用的是 _。 ( A)便于用户、开发人员进行理解和交流 ( B)反映出用户问题的结构,可以作为软件开发工作的基础和依据 ( C)作为确认测试和验收的依据 ( D)便于开发人员进行需求分析 8 在数据流图 (DFD)中,带有名字的箭头表示 _。 ( A)控制
3、程序的执行顺序 ( B)模块之间的调用关系 ( C)数据的流向 ( D)程序的组成成分 9 SQL语言又称为 _。 ( A)结构化定义语言 ( B)结构化控制语言 ( C)结构化查询语言 ( D)结构化操纵语言 10 视图设计一般有 3种设计次序 ,下列不属于视图设计的是 _。 ( A)自顶向下 ( B)由外向内 ( C)由内向外 ( D)自底向上 11 能将高级语言程序转换成目标语言程序的是 _。 ( A)调试程序 ( B)解释程序 ( C)编译程序 ( D)编辑程序 12 是构成 C语言程序的基本单位。 ( A)函数 ( B)过程 ( C)子程序 ( D)子例程 13 可以在 C语言中用做
4、用户标识符的是 _。 ( A) void define WORD ( B) as_b3 _123 If ( C) for -abc cas ( D) 2c Do SIG 14 下面语句的输出结果是 _。 printf(“%dn“,strlen(“t“065xffn“); ( A) 14 ( B) 8 ( C) 5 ( D)输出项不合法,无正常输出 15 下列程序的输出结果是 _。 #defineA 100main()int i=0,sum=0; do if(i=(i/2)*2)continue; sum+=i; while(+i A) ; printf(“%dn“,sum); ( A) 250
5、0 ( B) 2050 ( C) 4 ( D) 0 16 下列程序的输出结果是 _。 main() int i=3; switch(i) case 1: casc 2: printf(“%d“,i); case 3: case 4: break; defanlt:printf(“OK“); ( A) 0 ( B) 3 ( C) OK ( D)没有任何输出 17 出下列程序执行后的输出结果是 _。 mare()int m3=1,4,7,2,5,8,3,6,9; int i,k=2; for(i0;i 3; i+) printf(“%d“,mki); ( A) 456 ( B) 258 ( C)
6、369 ( D) 789 18 已知字母 A的 ASCII码值是 65,字母 a的 ASCII码值是 97,以下程序_。 main() char a=A; int b=20; printf(%d,%0“,(a=a+a,a+b,B) , a+a-A, B) ; ( A)表达式非法,输出零或不确定值 ( B)因输出项过多,无输出或输出不确定值 ( C)输出结果为 20, 141 ( D)输出结果为 20, 141,20 19 下列程序执行后输出的结果是 _。 int d=1; fun(int p) int d=5; d+=p+; printf(“%d,“,D) ;main() int a=3; f
7、un(A) ; d+=a+; printf(“%dn“,D) ; ( A) 8, 12 ( B) 9, 13 ( C) 8,4 ( D) 9, 5 20 已知下面的程序段,正确的判断是 _。 #define A 3#define B(A) (A+1)*A) int a=3 ; X=3*(A+B(7); ( A)程序错误,不允许嵌套定义 ( B) X=93 ( C) X=81 ( D)程序错误,宏定义不允许有参数 21 有以下程序: #include stdio.h main() char c6; int i=0; for(;i 6;ci=getchar(),i+); for(i=0;i 6;i
8、+)putchar(ci); printf(“n“); 如果从键盘上输入: ab回车 c回车 def回车 则输出结果为_。 ( A) a b c d e f ( B) a b c d ( C) ab c d ( D) abcdef 22 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是_。 ( A)地址传递 ( B)单向值传递 ( C)由实参传递给形参,再由形参传递给实参 ( D)传递方式由用户指定 23 以下程序 #include stdio.h #include string.h main() char*p1=“abc“,*p2=“ABC“,str50=“xyz“; st
9、rcpy(str+2,strcat(p1,p2); printf(“%ssn“,str); 的输出是 _。 ( A) xyzabcABC ( B) zabcABC ( C) yzbcABC ( D) xyabcABC 24 下面程序 main() int x=100,a=10,b=20,ok1=5,ok2=0; if(a b) if(b!=15) if(!ok1) x=1: else if(ok2)x=10; x=-1; printf(“%dn“,x); 的输出是_。 ( A) -1 ( B) 0 ( C) 1 ( D)不确定的值 25 下面程序 main() int x=32; printf
10、(“%dn“,x=x 1); 的输出是_。 ( A) 100 ( B) 160 ( C) 120 ( D) 64 26 以下程序的输出结果是 _。 #include stdio.h #define FUDGE(y) 2.84+y #define PR(a) printf(“%dn“,(int)(a) #define PRINT1(a) PR(a);putchar(n) main() int x=2; PRINT1(FUDGE(5)*x); ( A) 11 ( B) 12 ( C) 13 ( D) 15 27 以下程序段给数组所有的元素输入数据,请选择正确答案填入。 #includestdio.
11、h main() int a10, i=0; while(i10)scanf(“%d“,_); : : ( A) a+(i+) ( B) ( B) enum a one=9,two=1,three; ( C) enum a=“one“,“two“,“three“; ( D) enum a“one“,“two“,“three“; 29 字符 (char)型数据在微机内存中的存储形式是 _。 ( A)反码 ( B)补码 ( C) EBCDIC码 ( D) ASCII码 30 不能把字符串 “Hello!“赋给数组 b的语句是 _。 ( A) char b10=H,e,l,l,o,!; ( B) c
12、har b10=h,e,l,l,o,!; ( C) char b10; strcpy(b,“Hello!“); ( D) char b10=“Hello!“: 31 下面程序的输出是 _。 mare() int x=3 y=6,a=0; while(x+!=(y=1) a+=1; if(y x)break; printf(“x=%d,y=%d,a=%dn“,x,y,a); ( A) x=4,y=4, a=1 ( B) x=5,y=5,a=1 ( C) x=5,y=4,a=3 ( D) x=5,y=4,a=1 32 若有程序 fun(int a,int b static int c=0; c+=
13、a+b; return c; main() int x=5,y=3,z=7,r, r=fun(y, x+y), z); r=fun(xy); printf(“%dn“,r); 上面程序的输出结果是 _。 ( A) 23 ( B) 15 ( C) 19 ( D) 18 33 下面程序的输出是 _。 main() char *s=“12134211“; int v1=0, v2=0, v3=0,v4=0,k; for(k=0; sk; k+) switch(sk) default,v4+; case1: v1+; case3: v3+; case2: v2+; printf(“vl=%d,v2=%
14、d,v3=%d,v4=%dn“,v1, v2, v3, v4); ( A) v1=4,v2=2, v3=1, v4=1 ( B) v1=4,v2=9,v3=3,v4=1 ( C) v1=5,v2=8,v3=6,v4=1 ( D) v1=8,v2=8,v3=8,v4=8 34 fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是_。 ( A)只读 ( B)追加 ( C)读或读写 ( D)以上均正确 35 若有下面的说明和定义,则 sizeof(struct aa)的值是 _。 struct aa int r1; double r2; float r3; union uuchar
15、ul5; longu22ua; mya; ( A) 30 ( B) 29 ( C) 24 ( D) 22 36 下面程序的输出是 _。 main() int k=11; printf(“k=%d,k=%xn“,k,k,k); ( A) k=11,k=12,k=11 ( B) k=-11,k=13,k=13 ( C) k=11,k=013,k=0xb ( D) k=11,k=13,k=B 37 下面程序段中 C的二进制值是 _。 char a=3, b=6.c: c=ab 1; ( A) 1011 ( B) 1111 ( C) 11110 ( D) 11100 38 以下叙述中正确的是 _。 (
16、 A) C语言比其他语言高级 ( B) C语言可以不用编译就能被计算机识别执行 ( C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 ( D) C语言出现的最晚,具有其他语言的一切优点 39 下列可用于 C语言用户标识符的一组是 _。 ( A) void define WORD ( B) a3_b3 _123 Car ( C) For -abc IFCase ( D) 2a DO sizeof 40 以下程序运行后,输出结果是 _。 main() char* d=“ab“,“cde“; printf(“%x“,d1); ( A) cde ( B)字符 C的 ASCII码值 (
17、C)字符 c的地址 ( D)出错 41 在数据的存储结构中,不仅需要存储各数据元素的信息,还要存放各元素之间 _的 信息。 42 按照 “先进先出 ”的原则组织数据的结构是 _。 43 深度为 5的满二叉树中,叶子结点的个数为 _。 44 在面向对象的方法中, _描述的是具有相似属性与操作的一组对象。 45 Jackson方法是一种面向 _的结构化方法。 46 若 x和 a均是 int型变量,则计算完 x=(a=4,6*2)后的 x值为 _。 47 若 a是 int型变量,则下列表达式的值为 _。 (a=2*3,a*2), a+4 48 下列程序段是从键盘输入 的字符中统计小写字母的个数,用换
18、行符结束循环。请填空。 int n=0, c; c=getchar(); while(c!=n) if(_) n+; 49 下列程序的运行结果是 _。 #include stdio.h main() int a, b, c, n; a=2; b=0; c=1; n=1; while(n =3) c=c*a; b=b+ c; +n; printf(“b=%d“, B) ; 50 下列程序的 输出结果是 _。 main() int i=0, a=0; while(i 20) for(; ) if(i%10)=0)break; else i-; i+=11; a+=i; printf(“%dn“,
19、A) ; 51 下列程序的运行结果是 _。 #include stdio.h long func(int x) long p; if(x=0 x=1) return(1); p=x*func(x-1); return(p); main() printf(“%dn“, func(4); 52 下列程序将二维数组 a的行和列元素互换后存放到另一个二维数组 b中。请填空。 main() int a23=1,2, 3), 4, 5, b32, i,j; for(i=0; i 2; i+) for(j=0; j 30+) _; 53 下列程序的运行结果是 _。 #include stdio.h main
20、() int fun(); fun(); fun() static int a4=1, 2, 3, 4); int i: for(i: 0; i 4; i+)ai+=ai; for(i=0; i 4; i+)printf(“%d, “, ai); printf(“n“); 54 设有下列程序: #include stdio.h #include string.h main() int i; char s10, t10; gets(t); for(i=0; i 2; i+) gets(s); if(strcmp(t, s) 0)strcpy(t, s); printf(“%sn“, t); 程序
21、运行后,从键盘上输入 ( CR代表回车符 ): DEF CR BADEF CRQTHRG CR,则程 序的输出结果是 _。 55 下列程序的运行结果是 _。 #define P(A) printf(“%d“, A) main() int j, a=1,2, 3, 4, 5, 6, 7), i=5; for(j=3; j 1; j-) switch(j) case 1: case 2: P(ai+); break; case 3: P(a-i); 国家二级( C语言)笔试模拟试卷 112答案与解析 1 【正确答案】 C 【试题解析】 计算机算法是指解题方案的准确而完整的描述,它有以下几个基本特征
22、:可行性、确定性、有穷性和拥有足够的情报。 2 【正确答案】 C 【试题解析】 栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是:栈是一种 “后进先出 ”的线性表;而队列是一种 “先进先出 ”的线性表。 3 【正确答案】 A 【试题解析】 二叉树 BT的后序遍历序列为 dabec,故 BT的根结点为 C;而 BT的中序遍历序列是 debac,即遍历序列中最后一个结点为跟结点,说明 BT的右子树 为空。由 BT的后序遍历序列和中序遍历序列可知 BT的左子树 (LST)的后序遍历序列和中序遍历序列分别为 dabe和 deba(树是递归定义的 ):故 LST的根结点
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 112 答案 解析 DOC
