[计算机类试卷]国家二级(C语言)笔试模拟试卷87及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷87及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷87及答案与解析.doc(33页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 87及答案与解析 1 下列叙述中错误的是 ( )。 ( A)一种数据的逻辑结构可以有多种存储结构 ( B)数据的存储结构与数据处理的效率无关 ( C)数据的存储结构与数据处理的效率密切相关 ( D)数据的存储结构在计算机中所占的空间不一定是连续的 2 以下数据结构中不属于线性数据结构的是 ( )。 ( A)队列 ( B)线性表 ( C)二叉树 ( D)栈 3 在一棵二叉树上第 5层的结点数最多是 ( )。 ( A) 8 ( B) 16 ( C) 32 ( D) 15 4 下面描述中,符合结构化程序设计风格的是 ( )。 ( A)使用顺序、选择和重复 (循环 )
2、3种基本控制结构表示程序的控制逻辑 ( B)模块只有一个入口,可以有多个出口 ( C)注重提高程序的执行效率 ( D)不使用 goto语句 5 下面对对象概念描述错误的是 ( )。 ( A)任何对象都必须有继承性 ( B)对象是属性和方法的封装体 ( C)对象间的通信靠消息传递 ( D)操作是对象的动态属性 6 在结构化设计方法中生成的结构图 (SC)中,带有箭头的连线表示 ( )。 ( A)模块之间的调用关系 ( B)程序的组成成分 ( C)控制程序的执行顺序 ( D)数据的流向 7 下列叙述中正确的是 ( )。 ( A)接口复杂的模块,其耦合程度一定低 ( B)耦合程度弱的模块,其内聚程度
3、一定低 ( C)耦合程度弱的模块,其内聚程度一定高 ( D)上述三种说法都不对 8 在关系模型中, ( )。 ( A)为了建立一个关系,首先要构造数据的逻辑关系 ( B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项 ( C)一个关系的属性名表称为关系模式 ( D)一个关系可以包括多个二维表 9 下列关系运算中 ,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是 ( )。 ( A)选择 ( B)连接 ( C)投影 ( D)并 10 下列关于 E-R图的描述中正确的是 ( )。 ( A) E-R图只能表示实体之间的联系 ( B) E-R图只能表示实体和属性之间的联系 ( C
4、) E-R图只能表示实体和属性 ( D) E-R图能表示实体、属性和实体之间的联系 11 C语言源程序的最小单位是 ( )。 ( A)程序行 ( B)语句 ( C)函数 ( D)字符 12 以下选项中合法的用户标识符是 ( )。 ( A) long ( B) _2Test ( C) 3Dmax ( D) A.dat 13 已知大写字母 A的 ASCII码值是 65,小写字母 a的 ASCII码是 97,则用八进制表示的字符常量 101是 ( )。 ( A)字符 A ( B)字符 a ( C)字符 e ( D)非法的常量 14 设变量 a是 int型, f是 float型, i是 double型
5、,则表达式 10+a+i*f的值的数据类型为 ( )。 ( A) int ( B) float ( C) double ( D)不确定 15 以下非法的赋值语句是 ( )。 ( A) n=(i=2, +i); ( B) j+; ( C) +(i+1); ( D) x=j 0; 16 设 a和 b均为双精度型变量,且 a=5.5、 b=2.5,则表达式 (int)a+b/b的值是 ( )。 ( A) 6.5 ( B) 6 ( C) 5.5 ( D) 6 17 已知 i、 j、 k为整型变量,若从键盘输入 1, 2, 3回车,使 i的值为 1、 j的值为 2、 k的值为 3,以下选项中正确的输入语
6、句是 ( )。 ( A) scanf(“%2d%2d%2d“, ( B) scanf(“%d %d %d“, ( C) scanf(“%d,%d,%d“, ( D) scanf(“i=%d,j=%d,k=%d“, 18 a、 b、 c、 d变量均为 float类型且已正确赋值,下列选项中与数学式子“2ab/(5cd)”等价的 C语言表达式是 ( )。 ( A) 2/5*a/c*d/b ( B) a/(5*c*d)*(2*b) ( C) 2*a*b/5*c*d ( D) 2/5*a*d*(1/c*d) 19 若有如下程序; main() int m=-i; printf(“%d,%u,%o,%X
7、“,m,m,m,m); 则程序运行后的输出结果是 ( )。 ( A) -1, 65535, 177777, ffff ( B) -1, -1, 177777, fffe ( C) -1, 1, 177777, ffff ( D) -1, 65535, 177776, fffe 20 若有以下程序: main() int k=2,i=2,m; m=(k+=i*=k);printf(%d,%dn“,m,i); 执行后的输出结果 是 ( )。 ( A) 8, 6 ( B) 8, 3 ( C) 6, 4 ( D) 7, 4 21 以下程序的输出结果是 ( )。 main() char c1=6,c1=
8、0 printf(“%d,%d,%dn“,c1,c2,c1-c2); ( A)因输出格式不合法,输出出错信息 ( B) 54, 48, 6 ( C) 6, 0, 7 ( D) 6, 0, 6 22 设有以下语句: char a=3,b=6,C; c=a|b 2; printf(“%dn“,C); 则 c的二进制值是 ( )。 ( A) 11011 ( B) 10100 ( C) 11100 ( D) 11000 23 表达式 “1|2|3|4”的值是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 24 若有如下定义: int x=6,y=3,z=2; 则表达式 “x=y|y
9、 z printf(“%d“;n); 则 while循环执行的次数是 ( )。 ( A) 0 ( B) 1 ( C) 10 ( D)无数 26 若说明 int*p, n;则通过语句 scanf能够正确读入数据的程序段是 ( )。 ( A) p= for(;) if(i=3|i=5) continue; if(i=6) break; i+; s+=i; printf (“%dn“s); 程序运行后的输出结果是( )。 ( A) 10 ( B) 13 ( C) 21 ( D)程序进入死循环 28 下面程序段的执行结果为 ( )。 int i=3,j=0,k=0; for(;i 0;-i) +k;
10、do +j; if (i!=j) break; +k; while(j 5); printf(“i=%d j=%d k=%dn“,i,j,k); ( A) i=0 j=4 k=12 ( B) i=0 j=5 k=5 ( C) i=0 j=4 k=4 ( D) i=0 j=3 k=3 29 下列条件语句中,功能与其他语句不同的是 ( )。 ( A) if(a) printf(“%dn“,x); else printf(“%dn“,y); ( B) if(a=O) printf(“%dn“,y); else printf(“%dn“,x); ( C) if(a!=0) printf(“%dn“,x
11、); else printf(“%dn“,y); ( D) if(a=0) printf(“%dn“,x); else printf(“%dn“,y); 30 若有函数内部说明: int a34;则数组 a中各元素 ( )。 ( A)可在程序的运行阶段得到初值 0 ( B)可在程序的编译阶段得到初值 0 ( C)不能得到确定的初值 ( D)可在程序的编译或运行阶段得到初值 0 31 有以下 程序: main() int a10=1,2,3,4,5,6,7,8,9,10,*p= printf(“%dn“, *p+*q); ( A) 16 ( B) 10 ( C) 8 ( D) 6 32 以下叙述
12、中正确的是 ( )。 ( A)局部变量说明为 static存储类,其生存期将得到延长 ( B)全局变量说明为 static存储类,其作用域将被扩大 ( C)任何存储类的变量在未赋初值时,其值都是不确定的 ( D)形参可以使用的存储类说明符与局部变量完 全相同 33 下面程序段的执行结果可能为 ( )。 main() int b=1,2,3),i; for(i=1;i=4;+i) printf(“%ut“,bi); ( A) 1 2 3 65516 ( B) 0 1 2 3 ( C) 2 3 65516 285 ( D)程序不能通过编译 34 下面程序的输出结果是 ( )。 #define WW
13、(X) X*X main() int a,i; i=3; a=+WW(i+1); printf(“%dn“,a); ( A) 5 ( B) 6 ( C) 9 ( D)程序有错误 35 以下程序的输出结果是 ( )。 main() int a=2,k; for(k=0;k 3;k+) printf(“%4d“,f1(a); f1(int a) int b=0;static int c=3; b+;c+; return(a+b+c); ( A) 7 7 7 ( B) 7 10 13 ( C) 7 9 11 ( D) 7 8 9 36 以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。 #
14、define N 10 void artin( int xN) int i=0; while(i N) scanf(“%d“, ); 在下划线处应填入的是 ( )。 ( A) x+i ( B) void func2(int i); char st=“hello,friend!“; void funcl(int i) printf(“%C“,sti); if(i 3) i+=2;func2(i); ) void func2(int i) printf(“%c“,sti); if(i 3) i+=2;func1(i); main() int i=0;funcl(i);printf(“n“); )
15、( A) hlm ( B) hlo ( C) hello ( D) he1 38 根据下面的定义,能打印出字母 M的语句是 ( )。 struct person char name9; int age; ; struct person class10=“John“,17,“Paul“,19,“Mary“,18,“Adam“,16; ( A) printf(“%cn“,class3.name; ( B) printf(“%cn“,class2.name0); ( C) printf(“%cn“,class3.name1); ( D) printf(“%cn“,class2.name1); 39
16、以下正确的数组定义语句是 ( )。 ( A) int y14=1,2,3,4,5, ; ( B) float x3=l,2,3; ( C) long s23=1,1,21,2,3,; ( D) double t3=0 40 下列程序执行后的输出结果是: main() char arr24; strcpy(arr“you“); strcpy(arr1,“me“); arr03= printf(“%sn“,arr); 程序的输出结果是 ( )。 ( A) you for(k=0;k =2;k+) switch(k) case 0: X+; case 1: y+; case 2: X+;y+; pr
17、intf(“%d,“dn“,x,y); 则程序运行后的输出结果是 ( )。 ( A) 3,3 ( B) 2,2 ( C) 4,5 ( D) 2,3 42 以下程序中函数 scmp的功能是返回形参指针 s1和 s2所指字符串中较小字符串的首地址: #include stdio.h #include string.h char *scmp (char *S1,char *s2) if(strcmp(s1,s2) 0) return(s1); else return(s2); main() int i; char string20,str3 20; for(i=0;i 3;i+) gets(stri
18、); strcpy(string,scmp(str0,str1);/*库函数 strcpy对字符串进行复制 */ strcpy(string,scmp(string, str2); printf(“%sn“,string); 若运行时依次输入abed、 abba和 abc三个字符串,则输出结果为 ( )。 ( A) abed ( B) abba ( C) abc ( D) abca 43 若有如下程序: void sub() int a,b; a=lO;b=20; printf(“%d,%dn“,b,a); main() int a=1O,b=20; sub(); printf(“%d,%dn
19、“ab); 则程序运行后的输出结果是 ( )。 ( A) 10,20 ( B) 20,10 20,10 ( C) 20,10 ( D) 10,20 10,20 20,10 44 在下述程序中,判断 i j共执行的次数是 ( )。 main() int i=O,j=10,k=2,s=0; for( ; ) i+=k; if(i j) ptintf(“%d“,s); break; s+=i; ( A) 4 ( B) 7 ( C) 5 ( D) 6 45 整型变量 x和 y的值相等并且为非零值,则下面选项中,结果一定为零的表达式是 ( )。 ( A) x|y ( B) xy ( C) x|y ( D
20、) x printf(“%dn“,MA(1+a+b); ( A) 5 ( B) 6 ( C) 7 ( D) 8 47 以下各选项均为说明一种新的类型名,其中正确的是 ( )。 ( A) typedef v1 int; ( B) typedef v1=int; ( C) typedef int v1; ( D) typedef v1=int; 48 有以下程序: main() union unsigned int n; unsigned char c; u1; u1.c=A; printf(“%cn“,u1.n); 执行后输出结果是 ( )。 ( A)产生语法错误 ( B)随机值 ( C) A
21、( D) 65 49 若要用 fopen函数打开一个文本文件,该文件要既能读也能写,则文件使用方式的字符串为 ( )。 ( A) r+ ( B) a+ ( C) rb+ ( D) wb+“ 50 若有如下程序: sub(int *t,int a34) int m,n; for(m=0;m 3;m+) for(n=0;n 4;n+) *t=amn;t+; main() int*t,s34)=1,2,3),4,5,6),7,8,9; t=(int*)malloc(50); sub(t,s); printf(“%d,%dn“,t4,t7); 则程序运行后的输出结果是 ( )。 ( A) 4, 7 (
22、 B) 4, 0 ( C) 5, 8 ( D)程序错误 51 算法的复杂度主要包括【 】复杂度和空间复杂度。 52 在面向对象方法中,允许作用于某个对象上的操作称为【 】。 53 软件生命周期包括 8个阶段。为了使各时期的任务更明确,又可分为 3个时期:软件定义期、软件开发期、软件维护期。编码和测试属于【 】期。 54 如果一个工人可管理多个设备,而一个设备只被一个工人管理,则卖体 “工人 ”与实体 “设备 ”之间存在【 】关系。 55 关系数据库管理系统能实现的专门关系运算包括选择、连接和【 】。 56 若下面程序的输出结果是 4,请填空。 main() int i, j, k; k = 0
23、 ; i = j =【 】; k+=-(i+j); printf(“%dn“, k); 57 若有程序: main() int i, j; scanf(i=%d, j=%d“; &i, &j); printf(“i=%d, j=%dn“, i, j); 要求给 i赋 10,给 j赋 20,则应该从键盘输入上【 】。 58 若有以下程序: main() int p, a=5; if(p=a!=0) printf(“%dn“, p); else printf(“%dn“, p+2); 执行后输出结果是【 】。 59 以下程序运行后的输出结果是【 】。 main() int X=1, y=0, a=
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 87 答案 解析 DOC
