[计算机类试卷]国家二级(C语言)笔试模拟试卷90及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷90及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷90及答案与解析.doc(33页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 90及答案与解析 1 下列数据结构中,不是线性结构的是 ( )。 ( A)线性链表 ( B)带链的队列 ( C)带链的栈 ( D)二叉链表 2 在深度为 6的满二叉树中,结点的个数为 ( )。 ( A) 32 ( B) 31 ( C) 16 ( D) 15 3 下图所示的二叉树的先序遍历序列是 ( )。 ( A) ABDGCEHIF ( B) DGBAHEICF ( C) GDBHIEFCA ( D) ABCDEFGHl 4 模块化程序设计主要强调的是 ( )。 ( A)程序的 规模要大 ( B)对程序进行分解 ( C)程序的执行效率 ( D)程序的可移植性
2、5 结构化程序设计的主要特点是 ( )。 ( A)每个控制结构要模块化 ( B)每个控制结构具有封装性 ( C)每个控制结构具有独立性 ( D)每个控制结构只有一个入口和一个出口 6 下列叙述中错误的是 ( )。 ( A)测试是程序执行的过程,目的在于发现错误 ( B)一个好的测试在于能发现至今未发现的错误 ( C)一个成功的测试是发现了至今未发现的错误 ( D)上述说法都不对 7 对于白箱 (盒 )测试用例的各设计准 则,下列叙述中正确的是 ( )。 ( A)分支覆盖准则比语句覆盖准则严密 ( B)条件覆盖要比分支覆盖优越。因此,条件覆盖能完全满足分支覆盖 ( C)组合条件覆盖准则既能满足分
3、支覆盖准则,也能满足条件覆盖准则。因此,组合条件覆盖准则是一种完全测试 ( D)上述说法都不对 8 下列叙述中正确的是 ( )。 ( A)数据库设计是指设计数据库系统 ( B)数据库设计是指设计数据库管理系统 ( C)数据库设计是指在已有数据库管理系统的基础上建立数据库 ( D)以上三种说法都不对 9 关系数据库管理系统能实现 的专门关系运算包括 ( )。 ( A)排序、索引、统计 ( B)选择、投影、连接 ( C)关联、更新、排序 ( D)显示、打印、制表 10 下列数据模型中,具有坚实理论基础的是 ( )。 ( A)关系模型 ( B)网状模型 ( C)层次模型 ( D)以上三个都是 11
4、一个算法应该具有 “确定性 ”等 5个特性,下面对另外 4个特性的描述中错误的是 ( )。 ( A)有零个或多个输入 ( B)有零个或多个输出 ( C)有穷性 ( D)可行性 12 C语言中用于结构化程序设计的 3种基本结构是 ( )。 ( A)顺序结构、选择结构、循环结构 ( B) if、 switch、 break ( C) for、 while、 do-while ( D) if、 for、 continue 13 在一个 C程序中 ( )。 ( A) main函数必须出现在所有函数之前 ( B) main函数可以在任何地方出现 ( C) main函数必须出现在所有函数之后 ( D) m
5、ain函数必须出现在固定位置 14 下列叙述中正确的是 ( )。 ( A) C语言中既有逻辑类型也有集合类型 ( B) C语言中没有逻辑类型但有集合类型 ( C) C语言中有逻辑 类型但没有集合类型 ( D) C语言中既没有逻辑类型也没有集合类型 15 若以下选项中的变量已正确定义,则正确的赋值语句是 ( )。 ( A) x1=26.8%3; ( B) 1+2=x2 ( C) x3=0x12; ( D) x4=1+2=3; 16 设有以下定义: int a=0; double b=1.25; char c=A; #define d 2 则下面语句中错误的是 ( )。 ( A) a+; ( B)
6、 b+; ( C) c+; ( D) d+; 17 若有如下定 义: int x=6,y=3,z=2; 则表达式 x=y|y z printf(“%dn“,(x,y); 则以下叙述中正确的是 ( )。 ( A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出 ( B)运行时产生出错信息 ( C)输出值为 2002 ( D)输出值为 2003 19 有以下程序: main() int a=666,b=888; printf(“%dn“,a,b); 程序运行后的输出结果是 ( )。 ( A)错误信息 ( B) 666 ( C) 888 ( D) 666,888 20 有以下程序: main
7、() int i; for(i=0;i 3;i+) switch(i) case 0: prinft(“%d“,i); Case 2: prinft(“%d“,i); default: prinft(“%d“,i); 程序运行后的输出结果是 ( )。 ( A) 22111 ( B) 21021 ( C) 122 ( D) 12 21 有以下程序: int a=3; main() int s=0; int a=5; s+=a+; ) s+=a+; printf(%dn,s); 程序运行后的输出结果是 ( )。 ( A) 8 ( B) 10 ( C) 7 ( D) 11 22 阅读下述程序段: y
8、=-1; if(x!=0) if(x 0) y=1; else y=0; 该程序段所描述的数学关系是 ( )。 ( A) ( B) ( C) ( D) 23 有如下程序: main() int x=23; do printf(“%d“,x-); while(!x); 程序运行后的输出结果是 ( )。 ( A) 321 ( B) 23 ( C)不输出任何内容 ( D)陷入死循环 24 要求以下程序的功能是计算 s=1+1/2+1/3+1/10 main() int n ; float s; s=1.0; for(n=1O;n 1;n-) s=s+1/n; printf(“%6.4fn“,s);
9、程序运行后输出结果错误,导致错误结果的程序行是 ( )。 ( A) s=1.0; ( B) for(n=1O; n l; n-) ( C) s=s+1/n; ( D) printf(“%6.4fn“,s); 25 有以下程序: main() int k=4,n=0; for(; n k;) n+; if(n%3!=O) continue; k-; printf(“%d,%dn“,k,n); 程序运行后的输出结果是 ( )。 ( A) 1, 1 ( B) 2, 2 ( C) 3, 3 ( D) 4, 4 26 有以下程序: float fun(int x, int y) return(x+y);
10、 main() int a=2,b=5,C=8; printf(“%3.0fn“,fun(int)fun(a+c,b),a-c); 程序运行后的输出结果是 ( )。 ( A)编译出错 ( B) 9 ( C) 21 ( D) 9 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=fl(a,b);d=f1(d,c); e=f2(a,b);e=f2(e,c); f=a+b+c-d-e; printf(“%d,%d,%dn“
11、,d,f,e); 执行后输出结果是 ( )。 ( A) 3,4,5 ( B) 5,3,4 ( C) 5,4,3 ( D) 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 以下选项中,正确运用指针变量的程序段是 ( )。
12、 ( A) int*i=NULL; ( B) float*f=NULL; scanf(“%d“,i); *f=10.5; ( C) char t=m,*C= ( D) long*L; *C= L=0; 30 有以下程序: #include stdio.h main() printf(“%dn“,NULL); 程序运行后的输出结果是 ( )。 ( A) 0 ( B) 1 ( C) -1 ( D) NULL没定义,出错 31 已定义 c为字符型变量,则下列语句中正确的是 ( )。 ( A) c=97; ( B) c=“97“; ( C) c=97; ( D) c=“a“; 32 以下不能正确定义二
13、维数组的选项是 ( )。 ( A) int a212=1,2; ( B) int a2=1,2,3,4; ( C) int a22=1,2,3: ( D) int a2=1,2,3,4; 33 若有如下程序: main() char a35 = “name“,“age“,“sex“,n; for(n=0;n3;n+) printf(“%sn“,an); 则程序执行后的输出结果是 ( )。 ( A) nameagesex ( B) name ( C) name ( D) name agexex ge age sex x sex 34 有以下程序: main() int m3=1,4,7,2,5,
14、8,3,6,9 int i,j,k=2; for( i=0; i 3; i+ ) printf(“%d“,mki); 执行后输出结果是 ( )。 ( A) 456 ( B) 258 ( C) 369 ( D) 789 35 执行下列程序的结果是 ( )。 #define N 5 #define H(x) (N+2)*x) main() int a=2,b=3,C; c=H(a+b); printf(“%d“,c); ( A) 15 ( B) 17 ( C) 23 ( D) 35 36 有以下程序: main() char s=“n123“; printf(%d,%dn,strlen(s),si
15、zeof(s); 执行后输出结果是 ( )。 ( A)赋初值的字符串有错 ( B) 6, 7 ( C) 5, 6 ( D) 6, 6 37 阅读以下函数: fun(char*s1, char*s2) int i=0; while(s1i=s2i return(s1i= 此函数的功能是 ( )。 ( A)将 s2所指字符串赋给 s1 ( B)比较 s1和 s2所指字符串的大小,若 s1比 s2的大,函数值为 1,否则函数值为 0 ( C)比较 s1和 s2所指字符串是否相等,若相等,函数值为 1,否则函数值为 0 ( D)比较 s1和 s2所指字符串的长度,若 s1比 s2的长,函数值为 1,否
16、则函数值为 0 38 以下叙述中正确的是 ( )。 ( A)全局变量的作用域一定比局部变量的作用域范围大 ( B)静态 (static)类 别变量的生存期贯穿于整个程序的运行期间 ( C)函数的形参都属于全局变量 ( D)未在定义语句中赋初值的 auto变量和 static变量的初值都是随机值 39 设有如下说明: 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,“B“,75; ( C)
17、 stmc tt2=1,A),2,B; ( D) struc tt2=1,“A“,62.5),2,“B“,75.0; 40 在下列定义中的共用体所占内存字节数是 ( )。 union char k6; struct int m; floar f; a; double d; b; ( A) 8 ( B) 14 ( C) 18 ( D) 10 41 若有以下结构体,则正确的定义或引用是 ( )。 struct Test int x; int y; v1; ( A) Test.x=10; ( B) Test v2; v2.x=10; ( C) struct Test v2; v2.x=10; ( D
18、) struct Test.v2=10; 42 有以下程序: main() char s=“Yesn/No“,*ps=s; puts(ps+4); *(ps+4)=0; puts(s); 程序运行后的输出结果是 (选 项 D中的第一行是空行 )( )。 ( A) n/No Yes /No ( B) /No Yes ( C) n/No Yes /No ( D) /No Yes 43 有以下程序: void fun( int *a, int i, int j) int t; if ( i j ) t=ai;ai=aj;aj=t; fun (a,+i,-j); main() int a=1,2,3,
19、4,5,6),i; fun(a,0,5) for( i=0; i 6; i+) printf(“%d“,ai); 执行后的输出结果是 ( )。 ( A) 654321 ( B) 432156 ( C) 456123 ( D) 123456 44 假定下列程序的可执行文件名为 filel.exe,在该程序的子目录下输入命令行: file1China Bejing回车 main(int argc, char*argv) while(argc- 1) printf(“%sn“,*+argv); 则程序运行后的输出结果是 ( )。 ( A) filel China Bejing ( B) China
20、Bejing ( C) China ( D) Bejing 45 有如下说明和定义语句: struct student int age; char num8; struct student stu3=20,“200401“,21,“200402“),19,“200403“; struct student *p=stu; 以下选项中引用结构体变量成员的表达式错误的是 ( )。 ( A) (p+)- num ( B) p- num ( C) (*p).num ( D) stu3.age 46 若要说明一个类型名 STP,使得定义语句 STP s等价于 char *s,以下选项中正确的是 ( )。
21、( A) typedef STP char *s; ( B) typedef *char STP; ( C) typedef STP *char; ( D) typedef char* STP; 47 下面程序的输出结果为 ( )。 struct st int x; int *y; *p; int dt4=10,20,30,40); struct st aa4=50, main() p=aa; printf(“%dn“,+p- x); printf(“%d|n“,(+p)- x); printf(“%dn“,+(*p- y); ( A) 10 20 20 ( B) 50 60 21 ( C)
22、51 60 21 ( D) 60 70 31 48 表达式 “ 9 int i, a4=l,2,3,4,b; fp=fopen(“data.dat“,“wb“); for(i=0;i 4;i+) fwrite( fclose(fp); fp=fopen(“data.dar“,“rb“); fseek(fp,-2L*sizeof(int),SEEK END); fread(/*从文件中读取 sizeof(int)字节的数据到变量 b中 * fclose(fp); printf(“%dn“,b); 执行后输出结果是 ( )。 ( A) 2 ( B) 1 ( C) 4 ( D) 3 51 在一个容量
23、为 25的循环队 列中,若头指针 front=16,尾指针 rear=9,则该循环队列中共有【 】个元素。 52 在面向对象方法中,属性与操作相似的一组对象称为【 】。 53 在软件开发中,结构化方法包括结构化分析方法、结构化设计方法和结构化程序设计方法。详细设计阶段所采用的是【 】方法。 54 在关系模型中,把数据看成一个二维表,每一个二维表称为一个【 】。 55 实体之间的联系可以归结为一对一的联系,一对多的联系与多对多的联系。如果一个学校有许多教师,而一个教师只归属于一个学校,则实体集学校与实体集教师之间的联系属于【 】的联系。 56 已知字符 A的 ACSII码值为 65,以下语句的输
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 90 答案 解析 DOC
