[计算机类试卷]国家二级(C语言)笔试模拟试卷225及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷225及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷225及答案与解析.doc(26页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 225 及答案与解析 1 下列数据结构中,能用二分法进行查找的是 ( )。 ( A)顺序存储的有序线性表 ( B)结性链表 ( C)二叉链表 ( D)有序线性链表 2 结构化程序设计的主要特点是 _。 ( A)模块化 ( B)每个控制结构具有封装性 ( C)每个控制结构具有独立性 ( D)每个控制结构只有一个入口和一个出口 3 编制一个好的程序,首先要保证它的正确性和可靠性,还应强调良好的编程风格,在书写功能性注释时应考虑 ( A)仅为整个程序作注释 ( B)仅为每个模块作注释 ( C)为程序段作注释 ( D)为每个语句作注释 4 下面四个选项中,不属于数据库
2、管理系统提供的数据语言的是 ( A)数据定义语言 ( B)数据查询语言 ( C)数据操纵语言 ( D)数据控制语言 5 对以下二叉树 进行中序遍历的结果是 ( )。 ( A) ACBDFEG ( B) ACBDFGE ( C) ABDCGEF ( D) FCADBEG 6 下列叙述中正确的是 ( )。 ( A)线性链表中的各元素在存储空间中的位置必须是连续的 ( B)线性链 表中的表头元素一定存储在其他元素的前面 ( C)线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面 ( D)线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意
3、的 7 串的长度是 ( ) ( A)串中不同字符的个数 ( B)串中不同字母的个数 ( C)串中所含字符的个数且字符个数大于零 ( D)串中所含字符的个数 8 公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是 ( ) ( A)多对多 ( B)一对一 ( C)多对一 ( D)一对多 9 下列叙述中正确的是 ( )。 ( A)数据库系统是一个独立的系统,不需要操作系统的支持 ( B)数据库技术的根本目标是要解决数据的共享问题 ( C)数据库管理系统就是数据库系统 ( D)以上三种说法都不对 10 简单的交换排序方法是 ( )。 ( A)快速排序
4、 ( B)选择排序 ( C)堆排序 ( D)冒泡排序 11 下列程序的运行结果是 ( )。 main() int x=1,y=3,a=0; while(x+!=(y-=1) a+=1; if(y x)break; printf(“%d,%d,%dn“,x,y,a); ( A) 2,3,2 ( B) 2,3,1 ( C) 1,3,3 ( D) 3,1,2 12 下列程序的运行结果为 ( )。 #include void abc(char*str) int a,b, i, j; for(i=j=0; stri!= 0; i+) if(stri!=a) strj+=stri; strj= 0: vo
5、id main() char str=“abcdef”; abc(str); printf(“str= s”, str); ( A) str=bcdef ( B) str=abcdef ( C) str=a ( D) str=ab 13 数字字符 0的 ASCII值为 48,若有以下程序: main() char a=1,b=2; printf(“%c,“,b+); printf(“%dn“,b-a); 程序运行后的输出结果是 _。 ( A) 3,2 ( B) 50,2 ( C) 2,2 ( D) 2,50 14 下列叙述中,正确的是 ( )。 ( A)软件交付使用后还需要进行维护 ( B)软
6、件一旦交付使用就不需要再进行维护 ( C)软件交付使用后其生 命周期就结束 ( D)软件维护是指修复程序中被破坏的指令 15 关于 C语言中数的表示 ,以下叙述中正确的是 ( A)只要在允许范围内整型数和实型数都能精确的表示 ( B)只有整型数在允许范围内能精确无误的表示 ,实型数会有误差 ( C)只有实型数在允许范围内能精确无误的表示 ,整型数会有误差 ( D)只有用八进制表示的数才不会有误差 16 C语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述正确的是 ( )。 ( A)预定义标识符 (如库函数中的函数名 )可用做用户标识符,但失去原有含义 ( B)用户标识符可以由字母和数
7、字任意顺序组成 ( C)在标识符中大写字母和小写字母被认为是相同的字符 ( D)关键字可用做用户标识符,但失去原有含义 17 有定义语句: int b;char c10;,则正确的输入语句是 ( )。 ( A) scanf(“%d%s“, ( B) scanf(“%d%s“, ( C) scanf(“%d%s“,b,c); ( D) scanf(“%d%s“,b, 18 下列程序的输出结果是 _。 #include stdio.h #define FUDGE(y) 2.84+y#define PR(a) printf(“%d“, (int)(a)#define PRINTl(a) PR(a);
8、 putchar(n)main () int x=2; PRINT1(FUDGE(5)*x); ( A) 11 ( B) 12 ( C) 13 ( D) 15 19 下列描述中不正确的是 _。 ( A)字符型数组中可以存放字符串 ( B)可以对字符型数组进行整体输入、输出 ( C)可以对整型数组进行整体输入、输出 ( D)不能在赋值语句中通过赋值运算符 “=”对字符型数组进行整体赋值 20 下列可用于 C语言标识符的一组是 _。 ( A) void WORD define ( B) a 6$sys For ( C) 2a sizeof abc ( D) Int define sizeof 21
9、 有以下程序 main( ) int a=1,b=2,m=0,n=0,k; k=(n=ba)|(m=a printf(“%d,%dn“,k,m); 程序运行后的输出结果 是 ( A) 0,0 ( B) 0,1 ( C) 1,0 ( D) 1,1 22 下列程序的输出结果是 ( )。 #include stdio.h #include string.h main() char a=“n123“; printf (“%d,%dn“,strlen(a),sizeof(a); ( A) 5,6 ( B) 5,5 ( C) 6,6 ( D) 6,5 23 以下程序运行后,输出结果是 _。 main()
10、char*d=“ab“, “cde“; printf(“%x“,d1); ( A) cde ( B)字符 c的 ASC 的值 ( C)字符 c的地址 ( D)出错 24 设有定义: char*c;,以下选项中能够使字符型指针 c正确指向一个字符串的是 ( )。 ( A) charstr=“string“; c=str; ( B) scanf(“%s“, C); ( C) c=getchar(); ( D) char str=“string“; strcpy(“C, str“) 25 以下程序的输出结果是 ( )。 #include stdio.h int m=13; int fun(int x
11、,int y) int m=2; return(x*y-m); main() int a=7, b=6; printf(“%d“,fun(a, B)/m); ( A) 1 ( B) 3 ( C) 7 ( D) 10 26 有以下程序 void f(int *q) inti=0; for(; i 5; i+) (*q)+; main() int a5=1, 2, 3, 4, 5, i; f(a); for(i=0; i 5; i+)printf(“%d, “,ai); 程序运行后的输出结果是 ( A) 2, 2, 3, 4, 5, ( B) 6, 2, 3, 4, 5, ( C) 1, 2, 3
12、, 4, 5, ( D) 2, 3, 4, 5, 6, 27 若 a、 b、 c、 d都是血型变量且都已经正确赋初值,则下列不正确的赋值语句是( )。 ( A) a+d; ( B) a+; ( C) a=b=c=d=100; ( D) a=(b=3) +(d=5); 28 定义结构体数组: struct stu int num; charname20; x5 1,“LI“,2,“ZHAO“,3,“WANG“,4,“ZHANG“,5,“LIU“; for(i 1;i 5;i+) printf(“%d%C“,xi num,xiname2); 以上程序段的输出结果为 ( )。 ( A) 2A3N4A
13、5U ( B) 112A3H41 ( C) 1A2N3A4U ( D) 2H3A4H51 29 数据结构中,与所使用的计算机无关的是数据的 _。 ( A)存储结构 ( B)物理结构 ( C)逻辑结构 ( D)物理和存储结构 30 下列程序执行后的输出结果是 _。 #define MA(x) x*(x-1) main()int a=1,b=2; printf(“%dn“,MA(1+a+b); ( A) 6 ( B) 8 ( C) 10 ( D) 12 31 有 以下程序: void fun(int a, int b, int c) a=456, b=567, c=678; main() int
14、x=10, y=20, z=30; fun(x, y, z); printf(“ d, d, dn“, x, y,z); 输出结果是 ( A) 30, 20, 10 ( B) 10, 20, 30 ( C) 456,567,678 ( D) 678,567,456 32 有以下程序: #include stdio.h main() int c; while(c=getchar()!=n) switch(c-2) case 0: case 1:putchar(c+4); case 2: putchar(c+4); break; case 3: putchar(c+3); case 4: putc
15、har(c+3); break; printf(“n“) 从第一列开始输入以下数据 CR代表一个回车符。 2743 CR 程序的输出结果是 ( A) 66877 ( B) 668966 ( C) 6677877 ( D) 6688766 33 若变量已正确定义并赋值,对库函数错误调用的是 ( ) ( A) k=scanf(“%d%d“, ( D) putchar(ch); 34 下面程序输出的结果是 ( )。 #include stdio.h main() char *a=“1234“; fun(a); printf(“n“); fun(char *s) char t; if(*s) t=*S
16、+; fun(s); else return; if(t!=0) putchar(t); ( A) 1234 ( B) 4321 ( C) 1324 ( D) 4231 35 两次运行下面的程序后,如果从键盘上分别输入 7和 3,则输 出结果是_。 main() int x; scanf(“%d“, float fun(int a,int b) ( B) float fun(int a,int b) main( ) x fun(i,j); ( C) float fun(int, int); main( ) x=fun(2,10); float fun(int a, int b) ( D) ma
17、in( ) float fun(int i,int j); x=fun(i,j); float fun(int a, int b) 39 在位运算中,操作数每左移两位,其结果相当于 ( )。 ( A)操作数乘以 2 ( B)操作数除以 2 ( C)操作数除以 4 ( D)操作数乘以 4 40 设有如下说明 typedef struct int n; char c; double x;STD;则以下选项中 ,能正确定义结构体数组并赋初值的语句是 ( A) STD tt2=1,A,62,2,B,75; ( B) STD tt2=1,“A“,62,2,“,75; ( C) struct tt2=1,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 225 答案 解析 DOC
