[计算机类试卷]国家二级(C语言)笔试模拟试卷96及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷96及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷96及答案与解析.doc(33页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 96 及答案与解析 1 算法中的每一个步骤都必须是有明确意义的,不允许有模棱两可的解释,也不允许有多义性,这个性质称为 ( A)可行性 ( B)有穷性 ( C)正确性 ( D)确定性 2 以下数据结构中,属于线性数据结构的是 ( A)集合 ( B)线性表 ( C)二叉树 ( D)图 3 设有下列二叉树: 对此二叉树先序遍历的结果是 ( A) ABCDEF ( B) BDAECF ( C) ABDCEF ( D) DBEFCA 4 下面对对象概念描述,不正确的是 ( A)任何 对象都必须有继承性 ( B)对象是属性和方法的封装体 ( C)对象间的通讯靠消息传递
2、( D)操作是对象的动态属性 5 对建立良好的程序设计风格,描述正确的是 ( A)程序应简单、清晰、可读性好 ( B)符号名的命名只要符合语法即可 ( C)充分考虑程序的执行效率 ( D)程序的注释可有可无 6 检查软件产品是否符合需求定义的过程称为 ( A)确认测试 ( B)集成测试 ( C)验证测试 ( D)验收测试 7 在结构化程序设计方法中,下面哪种内聚性最弱 ? ( A)逻辑内聚 ( B)时间内聚 ( C)偶然内聚 ( D)过程内聚 8 在数据库管理系统提供的数据语言中,负责数据的完整性、安全性的定义与检查以及并发控制、故障恢复等功能的是 ( A)数据定义语言 ( B)数据转换语言
3、( C)数据操纵语言 ( D)数据控制语言 9 数据库系统可分为三级模式,下列选项中不属于数据库三级模式的是 ( A)抽象模式 ( B)外模式 ( C)概念模式 ( D)内模式 10 在关系数据库中,用来表示实体之间联系的是 ( A)树形结构 ( B)网状结构 ( C)线性表 ( D)二维表 11 一个算法应该 具有 “确定性 ”等 5个特性,下面对另外 4个特性的描述中错误的是 ( A)有零个或多个输入 ( B)有零个或多个输出 ( C)有穷性 ( D)可行性 12 以下叙述中正确的是 ( A) C语言的源程序不必通过编译就可以直接运行 ( B) C语言中的每条可执行语句最终都将被转换成二进
4、制的机器指令 ( C) C源程序经编译形成的二进制代码可以直接运行 ( D) C语言中的函数不可以单独进行编译 13 以下符合 C语言语法的实型常量是 ( A) 1.2E0.5 ( B) 3.14159E ( C) 5.00E-03 ( D) E15 14 以下 4组用户定义标识符中,全部合法的一组是 ( A) _main enclude sin ( B) If _max turbo ( C) txt REAL 3COM ( D) int k_2 _001 15 若以下选项中的变量已正确定义,则正确的赋值语句是 ( A) x1=26.8%3; ( B) 1+2=x2; ( C) x3=0x12
5、; ( D) x4=1+2=3; 16 设有 以下定义 int a=0; double b=1.25; charc c=A; #define d 2 则下面语句中错误的是 ( A) a+; ( B) b+; ( C) c+; ( D) d+; 17 设有定义: float a=2, b=4, h=3;以下 C 语言表达式中与代数式 (a+b)h计算结果不相符的是 ( A) (a+b)*h/2 ( B) (1/2)*(a+b)*h ( C) (a+b)*h*1/2 ( D) h/2*(a+b) 18 有以下程序 main() int x=102, y=012; printf(“%2d,%2dn“
6、,x,y); 执行后输出结果是 ( A) 10,01 ( B) 02,12 ( C) 102,10 ( D) 02,10 19 以下 4个选项中,不能看作一条语句的是 ( A) ; ( B) a=0,b=0,c=0; ( C) if(a 0); ( D) if(b=0)m=1;n=2; 20 设有定义: int a, *pa=i+; printf(“%dn“,k); 执行后输出结果是 ( A) 58 ( B) 56 ( C) 45 ( D) 24 24 有以下程序 main() int i=0,s=0; do if(i%2)i+;continue; i+; s+=i; while(i 7);
7、printf(“%dn“, s); 执行后输出结果是 ( A) 16 ( B) 12 ( C) 28 ( D) 21 25 有以下程序 main() int i:10,j=1; printf(“%d,%dn“,i-, +j); 执行后输出结果是 ( A) 9, 2 ( B) 10, 2 ( C) 9, 1, ( D) 10, 1 26 有以下程序 main() char a,b,c,*d; a=;b=xbc; c=0xab;d=“0127“; pfintf(“%c%c%c%cn“,a,b,c,*d) ; 编译时出现错误,以下叙述中正确的是 ( A)程序中只有 a=;语句不正确 ( B) b=x
8、bc;语句不正确 ( C) d=“0127“;语句不正确 ( D) a=;和 c=, 0xab;语句都不正确 27 有以下程序 int f1(int x,int y) return x y?x:y; int f2(int x,int y) return x y?y:x; main() int a=4,b=3,c=5,d,e,f; d=f1(a,b) ; d=f1(d,c) ; e=f2(a,b) ; e=f2(e,c) ; f=a+b+c-d-e; printf(“%d,%d,%dn“,d,f,e); 执行后输出结果是 ( A) 3,4,5 ( B) 5,3,4 ( C) 5,4,3 ( D)
9、 3,5,4 28 有以下程序 void f(int x, int y) int t; if(x y) t=x;x=y;y=t; main() int a=4,b=3,c=5; f(a,b) ;f(a,c) ;f(b,c) ; printf(“%d,%d,%dn“,a,b,c) ; 执行后输出结果是 ( A) 3,4,5 ( B) 5,3,4 ( C) 5,4,3 ( D) 4,3,5 29 若有以下定义和语句 #include stdio h int a=4,b=3,*p,*q,*w; p=q=w=q;q=NULL; 则以下选项中错误的语句是 ( A) *q=0; ( B) w=p; ( C
10、) *p=a; ( D) *p=*w; 30 有以下程序 int *f(int *x,int *y) if(*x *y) return x; else return y; main() int a=7,b:8,*p,*q,*r; p=i 3;i+) printf(“%d“,mki); 执行后输出结果是 ( A) 4 5 6 ( B) 2 5 8 ( C) 3 6 9 ( D) 7 8 9 35 以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。 #define N 10 void arrin(intxN) int i=0; while(i N) seanf(“%d“,_); 在下划线
11、处应填入的是 ( A) x+i ( B) char c;double x;STD; 则以下选项中,能正确定义结构体数组并赋初值的语句是 ( A) STD tt2=l,A,62,2,B,75; ( B) STD tt2=1,“A“,62,2,“B“,75; ( C) streetn2=1,A,2,B; ( D) struct tt2=1,“A“,62.5,2,“B“,75.0; 40 有以下程序 main() unionunsigned int n; unsigned char c; ul; u1.C=A; pfintf(“%cn“,u1.n); 执行后输出结果是 ( A)产生语法错 ( B)随
12、机值 ( C) A ( D) 65 41 有以下程序 main() char atr=“xyz“,*ps=str; while(*ps)ps+; for(ps-;ps-str 0;ps-) puts(ps); 执行后输出结果是 ( A) yz xyz ( B) x yz ( C) z yz xyz ( D) x xy xyz 42 有以下程序 main() int a3=1, 2, 3,4,5,0,(*pA) 3,i; pa=a; for(i=0;i 3;i+) if(i 2)Pa1i=pa1i-1; else pa1i=1; printf(“%dn“,a01+a11+a12); 执行后输出结
13、果是 ( A) 7 ( B) 6 ( C) 8 ( D)无确定值 43 有以下程序 void fun(int *a, int i, int j) in t; if(i j) t=ai;ai=aj;aj=t; fun(a,+i,-j); main() int a=1, 2, 3,4, 5, 6, i; fun(a, 0, 5); for(i=0;i 6;i+) printf(“%d“,ai); 执行后输出结果是 ( A) 6 5 4 3 2 1 ( B) 4 3 2 1 5 6 ( C) 4 5 6 1 2 3 ( D) 1 2 3 4 5 6 44 有以下程序 main(int argc, c
14、har *argv) int n,i=0; while(argv1i!=0) n=fun();i+; printf(“%dn“, n*argc) ; int fun() static int s=0; s=-1; return s; 假设程序经编译、连接后生成可执行文件 exam exe,若键入以下命令行 cxam123回车 则运行结果为 ( A) 6 ( B) 8 ( C) 3 ( D) 4 45 以下程序段中,能够通过调用函数 fun,使 main函数中的指针变量 p指 向一个合法的整型单元的是 ( A) main() int*p; fun(p); int fun(int *p) int
15、s;p= ( B) main() int*p; fun(*p= ( C) #include stdlib h main() int*p; fun(&p); int fun(int * *p) *p=(int*)malloc(2); ( D) #include stdlib h main() int*P; fun(p); int fun(int *p) p=(int*)malloc(sizeof(int); 46 若要说明一个类型名 STP, 使得定义语句 STPs;等价于 char*s;以下选项中正确的是 ( A) typedef STP char *s ( B) typedef*char S
16、TP; ( C) typedef STP *char; ( D) typedef char* STP; 47 设有如下定义 struct ss char name10; int age; char sex; std3, *p=std; 下面各输入语句中错误的是 ( A) scanf(“%d“,&(*p).age); ( B) scant(“%s“,&std.name); ( C) scanf(“%c“,&std0.sex); ( D) scanf(“%c“,&(p- sex); 48 设 char型变量 x中的值为 10100111,则表达式 (2+x)(-3)的值是 ( A) 1010100
17、1 ( B) 10101000 ( C) 11111101 ( D) 1010101 49 以下叙述中不正确的是 ( A) C语言中的文本文件以 ASCII码形式存储数据 ( B) C语言中对二进制文件的访问速度比文本文件快 ( C) C语言中,随机读写方式不适用于文本文件 ( D) C语言中,顺序读写方式不适用于二进制文件 50 以下程序企图把从终端输入的字符输出到名为 abc txt的文件中,直到从终端读入字符 #号时结束输入和输出操作,但程序有错。 #include stdio h main() FILE*fout; char ch; four=fopen(abc.txt,w); ch=
18、fgetc(stdin); while(ch!=#) fputc(ch,fout); ch=fgetc(stdin); felose(fout); 出错的原因是 ( A)函数 fopen调用形式错误 ( B)输入文件没有关闭 ( C)函数 fsetc调用形式错误 ( D)文件指针 stdin没有定义 51 算法执行过程中,所需要的基本运算次数称为算法的【 】。 52 在一棵二叉树上第 6层的结点个数最多是【 】。 53 软件是程序、数据和【 】的集合。 54 实体 联系模型是一种常用的高级概念数据 模型,而【 】是实体 模型中的核心。 55 在数据库理论中,数据库总体逻辑结构的改变,如修改数据
19、模式、增加新的数据类型、改变数据间联系等,不需要修改相应的应用程序,称为【 】。 56 若从键盘输入 58,则以下程序的输出结果是【 】。 main() int a; scanf(“%d”, &A) ; if(a 50)printf(“%d”, A) ; if(a 40)printf(“%d”, A) ; if(a 30)printf(“%d”, A) ; 57 以下程序的输出结果是【 】。 main() int a=177; printf(“%on”, A) ; 58 以下程序的输出结果是【 】。 main() int a=0; a+=(a=8); printf(“%dn”, A) ; 59
20、 以下程序的输出结果是【 】。 main() int a=5, b=4, c=3, d; d=(a b C) ; printf(“%dn”, D) ; 60 以下定义的结构体类型包含两个成员,其中成员变量 info用来存放整型数据;成员变量 link是指向自身结构体的指针。请将定义补充完整。 struct node int info; 【 】 Link; ; 61 以下程序的输出结果是【 】。 main() int s, i; for(s=0, i=1; i 3; i+, s+=i; printf(“%dn”, s); 62 以下程序的输出结果是【 】。 main() char *p=“abo
21、defgh”, *r; long *q; q=(long*)p; q+; r=(char*)q; printf(“%sn”, r); 63 以下程序的输出结果是【 】。 main() char s=“abcdef”; s3=0; printf(“%sn”, s); 64 以下程序的输出结果是【 】。 main() int x=0; sub(&x, 8, 1); printf(“%dn”, x); sub(int *a, int n, int k) if(k n)sub(a, n/2, 2*k); *a+=k; 65 设有如下宏定义 #define MYSWAP(z, x, y)z=x; x=Y
22、; Y=z; 以下程序段通过宏调用实现变量 a、 b内容的交换,请填空。 float a=5, b=16, c; MYSWAP( 【 】, a, b) ; 66 以下程序用来统计文件中字符的个数。请填空。 #include“stadio h” main() FILE *fp; long num=0L; if(fp=fopen(“fname dat”, “r”)=NULL); printf(“0pen errorn”); exit(0); while( 【 】 ) fsetc(fp); num+; printf(“num=%1dn”, num-1); fclose(fp); 67 以下程序中,
23、select函数的功能是:在 N行 M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标。请填空。 #define N 3 #define M 3 select(int aNM, int *n) int i, j, row=1, colum=1; for(i=0; i N; i+) for(j=0; j M; j+) if(aij arowcolum)row=i; colum=j; *n= 【 】; return( 【 】 ); main() int aNM=9, 11, 23, 6, 1, 15, 9, 17, 20, max, n; max=select(a,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 96 答案 解析 DOC
