2011年3月全国计算机二级C++考试真题与答案
- 格式:doc
- 大小:84.50 KB
- 文档页数:9
2011年3月全国计算机等级考试二级ACCESS考试真题一、选择题1、下列关于栈叙述正确的是______。
A、栈顶元素最先能被删除B、栈顶元素最后才能被删除C、栈底元素永远不能被删除D、以上三种说法都不对2、下列叙述中正确的是______。
A、有一个以上根结点的数据结构不一定是非线性结构B、只有一个根结点的数据结构不一定是线性结构C、循环链表是非线性结构D、双向链表是非线性结构3、某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)______。
A、3B、4C、6D、74、在软件开发中,需求分析阶段产生的主要文档是______。
A、软件集成测试计划B、软件详细设计说明书C、用户手册D、软件需求规格说明书5、定义无符号整数类为UInt,下面可以作为类UInt实例化值的是______。
A、-369B、369C、0.369D、整数集合{1,2,3,4,5}6、负责数据库中查询操作的数据库语言是______。
A、数据定义语言B、数据管理语言C、数据操纵语言D、数据控制语言7、结构化程序所要求的基本结构不包括______。
A、顺序结构B、GOTO跳转C、选择(分支)结构D、重复(循环)结构8、有三个关系R、S和T如下:则由关系R和S得到关系T的操作是______。
A、自然连接B、交C、除D、并9、下面描述中错误的是______。
A、系统总体结构图支持软件系统的详细设计B、软件设计是将软件需求转换为软件表示的过程C、数据结构与数据库设计是软件设计的任务之一D、PAD图是软件详细设计的表示工具10、一个教师可讲授多门课程,一门课程可由多个教师讲授,则实体教师和课程间的联系是______。
A、1:1联系B、1:m联系C、m:1联系D、m:n联系11、在学生表中要查找所有年龄大于30岁姓王的男同学,应该采用的关系运算是______。
A、选择B、投影C、联接D、自然联接12、运行下列程序段,结果是______。
2011年3月全国计算机等级考试二级Visual Basic语言程序设计笔试真题一、选择题(每小题2分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的。
请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
1. 下列关于栈叙述正确的是A. 栈顶元素最先能被删除B. 栈顶元素最后才能被删除C. 栈底元素永远不能被删除D. 上述三种说法都不对答案:A解析:在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的另一端称为栈底。
栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。
故本题选A。
2. 下列叙述中正确的是A. 有一个以上根结点的数据结构不一定是非线性结构B. 只有一个根结点的数据结构不一定是线性结构C. 循环链表是非线性结构D. 双向链表是非线性结构答案:B解析:如果一个非空的数据结构满足以下两个条件:(1)有且只有一个根结点;(2)每个结点最多有一个前件,也最多有一个后件。
则称该数据结构为线性结构。
如果一个数据结构不是线性结构,则称之为非线性结构,故A项错误。
有一个根结点的数据结构不一定是线性结构,如二叉树,B项说法正确。
循环链表和双向链表都属于线性链表,故C、D项错误。
3. 某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A. 3B. 4C. 6D. 7答案:D解析:根据二叉树的性质:在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个。
所以n2=0,由n=n0+n1+n2可得n1=6,即该二叉树有6个度为1的结点,可推出该二叉树的深度为7。
4. 在软件开发中,需求分析阶段产生的主要文档是A. 软件集成测试计划B. 软件详细设计说明书C. 用户手册D. 软件需求规格说明书答案:D解析:软件需求规格说明书是需求分析阶段的最后成果,是软件开发中的重要文档之一。
2011年3月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90分钟,满分100分)一、选择题(1-10,21-40每题2分,11-20每题1分,共70分) (1)下列关于栈叙述正确的是 A)栈顶元素最先能被删除 B)栈顶元素最后才能被删除 C)栈底元素永远不能被删除 D)以上三种说法都不对(2)下列叙述中正确的是 A)有一个以上根结点的数据结构不一定是非线性结构 B)只有一个根结点的数据结构不一定是线性结构 C)循环链表是非线性结构 D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层) A)3 B)4 C)6 D)7(4)在软件开发中,需求分析阶段产生的主要文档是 A)软件集成测试计划B)软件详细设计说明书 C)用户手册D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括 A)顺序结构B)GOTO跳转 C)选择(分支)结构D)重复(循环)结构(6)下面描述中错误的是 A)系统总体结构图支持软件系统的详细设计 B)软件设计是将软件需求转换为软件表示的过程 C)数据结构与数据库设计是软件设计的任务之一 D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是 A)数据定义语言 B)数据管理语言 C)数据操纵语言 D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是 A)1:1联系B)1:m联系 C)m:1联系D)m:n联系(9)有三个关系R、S和T如下: 则由关系R和S得到关系T的操作是 A)自然连接B)交C)除D)并(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是 A)-369 B)369 C)0.369 D)整数集合{1,2,3,4,5}(11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是 A)C语言程序仅可以编译执行 B)C语言程序仅可以解释执行 C)C语言程序既可以编译执行又可以解释执行 D)以上说法都不对(12)以下叙述中错误的是 A)C语言的可执行程序是由一系列机器指令构成的 B)用C语言编写的源程序不能直接在计算机上运行 C)通过编译得到的二进制目标程序需要连接才可以运行 D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件(13)以下选项中不能用作C程序合法常量的是 A)1,234 B)'123' C)123 D)"\x7G"(14)以下选项中可用作C程序合法实数的是 A).1e0 B)3.0e0.2 C)E9 D)9.12E(15)若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是 A)a=(b=4)=3; B)a=b=c+1; C)a=(b=4)+c; D)a=1+(b=c=4);(16)有以下程序段 char name[20]; int num; scanf("name=%s num=%d",name;&num); 当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name的值为 A)Lili B)name=Lili C)Lili num= D)name=Lili num=1001(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是 A)必须是逻辑值B)必须是整数值 C)必须是正数D)可以是任意合法的数值(18)有以下程序 #include main() { int x=011; printf("%d\n",++x); } 程序运行后的输出结果是 A)12 B)11 C)10 D)9(19)有以下程序 #include main() { int s; scanf("%d",&s); while(s>0) { switch(s) { case1:printf("%d",s+5); case2:printf("%d",s+4); break; case3:printf("%d",s+3); default:printf("%d",s+1);break; } scanf("%d",&s); } } 运行时,若输入1 2 3 4 5 0<回车>,则输出结果是 A)6566456 B)66656 C)66666 D)6666656(20)有以下程序段 int i,n; for(i=0;i<8;i++) { n=rand()%5; switch (n) { case 1: case 3:printf("%d\n",n); break; case 2: case 4:printf("%d\n",n); continue; case 0:exit(0); } printf("%d\n",n); } 以下关于程序段执行情况的叙述,正确的是 A)for循环语句固定执行8次 B)当产生的随机数n为4时结束循环操作 C)当产生的随机数n为1和2时不做任何操作 D)当产生的随机数n为0时结束程序运行(21)有以下程序 #include main() { char s[]="012xy\08s34f4w2"; int i,n=0; for(i=0;s[i]!=0;i++) if(s[i]>='0'&&s[i]<='9') n++; printf("%d\n",n); } 程序运行后的输出结果是 A)0 B)3 C)7 D)8(22)若i和k都是int类型变量,有以下for语句 for(i=0,k=-1;k=1;k++) printf("*****\n"); 下面关于语句执行情况的叙述中正确的是 A)循环体执行两次 B)循环体执行一次 C)循环体一次也不执行 D)构成无限循环(23)有以下程序 #include main() { char b,c; int i; b='a'; c='A'; for(i=0;i<6;i++) { if(i%2) putchar(i+b); else putchar(i+c); } printf("\n"); } 程序运行后的输出结果是 A)ABCDEF B)AbCdEf C)aBcDeF D)abcdef(24)设有定义:double x[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是 A)scanf("%f",&x[6]); B)scanf("%lf",*(x+6)); C)scanf("%lf",p+6); D)scanf("%lf",p[6]);(25)有以下程序(说明:字母A的ASCII码值是65) #include void fun(char *s) { while(*s) { if(*s%2) printf("%c",*s); s++; } } main() { char a[]="BYTE"; fun(a); printf("\n"); }程序运行后的输出结果是A BYB BTC) YTD) YE(26)有以下程序段 #include main() { … while( getchar()!='\n'); … } 以下叙述中正确的是 A)此while语句将无限循环 B) getchar()不可以出现在while语句的条件表达式中 C)当执行此while语句时,只有按回车键程序才能继续执行 D)当执行此while语句时,按任意键程序就能继续执行(27)有以下程序 #include main() { int x=1,y=0; if(!x) y++; else if(x==0) if (x) y+=2; else y+=3; printf("%d\n",y); } 程序运行后的输出结果是 A)3 B)2 C)1 D) 0(28)若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是 A)p=s; B)p=k; C)p=s[0]; D)k=s;(29)有以下程序 #include void fun(char *c) { while(*c) { if(*c>='a'&&*c<='z') *c=*c-('a'-'A'); c++; } } main() { char s[81]; gets(s); fun(s); puts(s): } 当执行程序时从键盘上输入Hello Beijing<回车>,则程序的输出结果是 A)hello beijing B)Hello Beijing C)HELLO BEIJING D)hELLO Beijing(30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。
2010年3月计算机等级考试二级C语言笔试真题一、选择题(1)下列叙述中正确的是A)对长度为n的有序链表进行查找,最坏清况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)(2)算法的时问复杂度是指A)算法的执行时间B)算法所处理的数据量C)算法程序中的语司或指令条数D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。
下面属于系统软件的是A)编辑软件B)操作系统C)教务管理系统D)浏览器(4)软件(程序)调试的任务是A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误C)发现并改正程序中的所有错误D)确定程序中错误的性质(5)数据流程图(DFD图)是A)软件概要设计的工具B)软件详细设计的工具C)结构化方法的需求分析工具D)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。
详细设计属于A)定义阶段B)开发阶段C)维护阶段D)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是A)文件B)数据库C)字段D)记录(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段B)逻辑设计一阶段C)概念设计阶段D)物理设计阶段(10)有两个关系R和T如下:则由关系K得到关系T的操作是A)选择B)投影C)交D)并(11)以下叙述正确的是A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可作为单独文件形式存在(12)以下关于C语言的叙述中正确的是A)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以在使用之前的任何位置进行定义C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D)C语言的数值常量中夹带空格不影响常量值的正确表示(13)以下C语言用户标识符中,不合法的是A)_1B)AaBcC)a_bD)a—b(14)若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是A)a=a++,i++;B)i=(a+k)<=(i+k);C)i=a%11;D)i=!a;(15)有以下程序#includemain(){ char a,b,c,d;scanf(“%c%c”,&a,&b);c=getchar(); d=getchar();printf(“%c%c%c%cn”,a,b,c,d);}当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符)1234则输出结果是A)1234B)12C)123D)1234(16)以i关于C语言数据类型使用的叙述中错误的是A)若要准确无误差的表示自然数,应本资.料来源于贵-州-学-习-网使用整数类型B)若要保存带有多位小数的数据,应使用双精度类型C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型(17)若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是A)1B)0C)2D)不知道a的值,不能确定(18)以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是A)switch(a){case:a=b;break;default:a++;}B)switch(a==1){case 0:a=b;break;case 1:a++;}C)switch(a){default:a++;break;case 1:a=b;}D)switch(a==1){case 1:a=b;break;case 0:a++;}(19)有如下嵌套的if语句if (aif(aelse k=c;elseif(belse k=c;以下选项中与上述if语句等价的语句是A)k=(aB)k=(aC)k=(aD)k=(a(20)有以下程序#includemain(){in i,j,m=1;for(i=1;i<3;i++){for(j=3;j>O;j--){if(i*j)>3)break;m=i*j;}}printf("m=%dn",m);}程序运行后的输出结果是A)m=6B)m=2C)m=4D)m=5(21)有以下程序#include(stdio.h>main(){int a=l;b=2;for(;a<8;a++) {b+=a;a+=2;}printf("%d,%dn",a,b);}程序运行后的输出结果是A)9,18B)8,11C)7,11D)10,14(22)有以下程序,其中k的初值为八进制数#includemain(){int k=011;printf("%dn",k++);}程序运行后的输出结果是A)12B)11C)10D)9(23)下列语句组中,正确的是A)char *s;s="Olympic";B)char s[7];s="Olympic";C)char *s;s={"Olympic"};D)char s[7];s={"Olympic"};(24)以下关于return语句的叙述中正确的是A)一个自定义函数中必须有本文来源于贵州学习网WWW.GZU521.COM一条return语句B)一个自定义函数中可以根据不同情况设置多条return语句C)定义成void类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返回到调用处(25)下列选项中,能正确定义数组的语句是A)int num[0..2008];B)int num[];C)int N=2008;int num[N];D)#define N 2008int num[N];(26)有以下程序#includevoid fun(char *c,int d){*c=*c+1;d=d+1;printf("%c,%c,",*c,d);main(){char b='a',a='A';fun(&b,a);printf("%e,%en",b,a);}程序运行后的输出结果是A)b,B,b,AB)b,B,B,AC)a,B,B,aD)a,B,a,B(27)若有定义int(*Pt)[3];,则下列说法正确的是A)定义了基类型为int的三个指针变量B)定义了基类型为int的具有三个元素的指针数组ptC)定义了一个名为*pt、具有三个元素的整型数组D)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组(28)设有定义double a[10],*s=a;,以下能够代表数组元素a[3]的是A)(*s)[3]B)*(s+3)C)*s[3]D)*s+3(29)有以下程序#include(stdio.h)main(){int a[5]={1,2,3,4,5},b[5]={O,2,1,3,0},i,s=0;for(i=0;i<5;i++) s=s+a[b[i]]);printf("%dn", s);}程序运行后的输出结果是A)6B)10C)11D)15(30)有以下程序#includemain(){int b [3][3]={O,1,2,0,1,2,O,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=ij<=1;j++) t+=b[i][b[j][i]];printf("%dn",t);}程序运行后的输出结果是A)1B)3C)4D)9(31)若有以下定义和语句char s1[10]="abcd!",*s2="n123\";printf("%d %dn", strlen(s1),strlen(s2));则输出结果是A)5 5B)10 5C)10 7D)5 8(32)有以下程序#include#define N 8void fun(int *x,int i){*x=*(x+i);}main(){int a[N]={1,2,3,4,5,6,7,8},i;fun(a,2);for(i=O;i{printf("%d",a[i]);}printf("n");}程序运行后的输出结果是A)1313B)2234C)3234D)1234(33)有以下程序#includeint f(int t[],int n);main{ int a[4]={1,2,3,4},s;s=f(a,4); printf("%dn",s);}int f(int t[],int n){ if(n>0) return t[n-1]+f(t,n-1);else return 0;}程序运行后的输出结果是A)4B)1OC)14D)6(34)有以下程此资料转贴于贵州学习网序#includeint fun(){ static int x=1;x*2; return x;}main(){int i,s=1,for(i=1;i<=2;i++) s=fun();printf("%dn",s);}程序运行后的输出结果是A)OB)1C)4D)8(35)有以下程序#include#define SUB(a) (a)-(a)main(){ int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%dn",d);}程序运行后的输出结果是A)0B)-12C)-20D)10(36)设有定义:struct complex{ int real,unreal;} data1={1,8},data2;则以下赋值语句中错误的是A)data2=data1;B)data2=(2,6);C)data2.real=data1.real;D)data2.real=data1.unreal;(37)有以下程序#include#includestruct A{ int a; char b[10]; double c;};void f(struct A t);main(){ struct A a={1001,"ZhangDa",1098.0};f(a); printf("%d,%s,%6.1fn",a.a,a.b,a.c);}void f(struct A t){ t.a=1002; strcpy(t.b,"ChangRong");t.c=1202.0;} 程序运行后的输出结果是(38)有以下定义和语句struct workers{ int num;char name[20];char c;struct{int day; int month; int year;}s;};struct workers w,*pw;pw=&w;能给w中year成员赋1980的语句是A)*pw.year=198O;B)w.year=1980;C)pw->year=1980;D)w.s.year=1980;(39)有以下程序#includemain(){ int a=2,b=2,c=2;printf("%dn",a/b&c);}程序运行后的输出结果是A)OB)1C)2D)3(40)有以下程序#includemain(){ FILE *fp;char str[10];fp=fopen("myfile.dat","w");fputs("abc",fp);fclose(fp);fpfopen("myfile.data","a++");fprintf(fp,"%d",28);rewind(fp);fscanf(fp,"%s",str); puts(str);fclose(fp);}程序运行后的输出结果是A)abcB) 28cC) abc28D)因类型不一致而出错二、填空题(1)一个队列的初始状态为空。
2011年3月份计算机二级c语言考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的叙述中,错误的是()。
A. C语言是一种高级语言B. C语言是一种面向对象的程序设计语言C. C语言具有结构化的特点D. C语言可以用于编写操作系统答案:B2. 在C语言中,下列选项中不是合法的整型常量是()。
A. 012B. 0x1AC. 0LD. 1.2答案:D3. 下列关于数组的描述,正确的是()。
A. 数组必须初始化B. 数组的下标从0开始C. 数组的下标可以是小数D. 数组的元素类型必须相同答案:D4. C语言中,下列关于函数的描述,错误的是()。
A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以嵌套定义D. 函数可以递归调用答案:C5. 下列关于指针的描述,正确的是()。
A. 指针变量可以赋值给普通变量B. 指针变量可以指向不同类型的数据C. 指针变量可以作为函数的参数D. 指针变量本身没有地址答案:C6. 下列关于结构体的描述,错误的是()。
A. 结构体可以包含其他结构体B. 结构体的成员可以是函数C. 结构体的成员可以是数组D. 结构体的成员可以是指针答案:B7. 在C语言中,下列关于文件操作的描述,错误的是()。
A. 文件操作需要包含头文件stdio.hB. 文件指针是指向文件的指针C. 文件操作只能用于文本文件D. 文件操作可以使用fopen函数打开文件答案:C8. 下列关于预处理命令的描述,错误的是()。
A. #define可以定义宏B. #include可以包含头文件C. #ifdef可以进行条件编译D. #error可以产生编译错误答案:D9. 下列关于C语言中变量的作用域和生命周期的描述,错误的是()。
A. 局部变量在函数内部定义B. 全局变量在函数外部定义C. 局部变量的生命周期是函数调用期间D. 全局变量的生命周期是程序运行期间答案:B10. 下列关于C语言中循环结构的描述,错误的是()。
2009年3月全国计算机等级考试二级C语言笔试卷选择题(1)下列叙述中正确的是A)栈是“先进先出”的线性表B)队列是“先进先出”的线性表C)循环队列是非线性结构D)有序性表既可以采用顺序存储结构,也可以采用链式存储结构(2)支持子程序调用的数据结构是A)栈B)树C)队列D)二叉树(3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是A)10 B)8 C)6 D)4(4)下列排序方法中,最坏情况下比较次数最少的是A)冒泡排序B)简单选择排序C)直接插入排序D)堆排序(5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是A)编译软件B)操作系统C)教务管理系统D)汇编程序(6)下面叙述中错误的是A)软件测试的目的是发现错误并改正错误B)对被调试的程序进行“错误定位”是程序调试的必要步骤C)程序调试通常也称为DebugD)软件测试应严格执行测试计划,排除测试的随意性(7)耦合性和内聚性是对模块独立性度量的两个标准。
下列叙述中正确的是A)提高耦合性降低内聚性有利于提高模块的独立性B)降低耦合性提高内聚性有利于提高模块的独立性C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度(8)数据库应用系统中的核心问题是A)数据库设计B)数据库系统设计C)数据库维护D)数据库管理员培训(9)有两个关系R,S如下:R SA B C A Ba 3 2 a 3b 0 1 b 0c 2 1 c 2由关系R通过运算得到关系S,则所使用的运算为A)选择B)投影C)插入D)连接(10)将E-R图转换为关系模式时,实体和联系都可以表示为A)属性B)键C)关系D)域(11)以下选项中合法的标识符是A)1-1 B)1—1 C)-11 D)1-- (12)若函数中有定义语句:int k;,则A)系统将自动给k赋初值0 B)这时k中值无定义C)系统将自动给k赋初值-1 D)这时k中无任何值(13)以下选项中,能用作数据常量的是A)o115 B)0118 C)1.5e1.5 D)115L(14)设有定义:int x=2; ,以下表达式中,值不为6的是A)x*=x+1 B)x++,2*x C)x*=(1+x)D)2*x,x+=2 (15)程序段:int x=12; double y=3.141593; printf(“%d%8.6f”,x,y);的输出结果是A)123.141593 B)12 3.141593 C)12,3.141593 D)123.141593 (16)若有定义语句:double x,y,*px,*py,执行了px=&x, py=&y;之后,正确的输入语句是A)scanf(“%f%f”,x,y); B)scanf(“%f%f”,&x,&y);C)scanf(“%lf%le”,px,py); D)scanf (“%lf%lf”,x,y);(17)以下是if语句的基本形式:if (表达式)语句其中“表达式”A)必须是逻辑表达式B)必须是关系表达式C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式(18)有以下程序#include <stdio.h>main(){int x;scanf(“%d”,&x);if(x<=3); elseif(x!=10)printf(“%d\n”,x);}程序运行时,输入的值在哪个范围才会有输出结果A)不等于10的整数B)大于3且不等于10的整数C)大于3或等于10的整数D)小于3的整数(19)有以下程序#include<stdio.h>Main(){ int a=1,b=2,c=3,d=0;if(a= =1 &&b++= =2)if(b!=2 || c--!=3)printf(“%d,%d,%d\n”,a,b,c);else printf(“%d,%d,%d\n”,a,b,c);else printf(“%d,%d,%d\n”,a,b,c);}程序运行后的输出结果是A)1,2,3 B)1,3,2 C)1,3,3 D)3,2,1(20)以下程序中的变量已正确定义for(i=0;i<4;i++,i++for(k=1;k<3;k++);printf(*”);程序段的输出结果是A)******** B)**** C)** D)*(21)有以下程序#include<stdio.h>main(){char *s=(“ABC);do{printf(“%d”,*s%10);s++;}while(*s);}注意,字母A的ASCII码值为65。
2011年3月份计算机二级考试试题一、选择题(1) 下面叙述正确的是(C)A. 算法的执行效率与数据的存储结构无关B. 算法的空间复杂度是指算法程序中指令(或语句)的条数C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止D. 以上三种描述都不对(2) 以下数据结构中不属于线性数据结构的是(C)A. 队列B. 线性表C. 二叉树D. 栈(3) 在一棵二叉树上第5层的结点数最多是(B) 注:由公式2k-1得A. 8B. 16C. 32D. 15(4) 下面描述中,符合结构化程序设计风格的是(A)A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B. 模块只有一个入口,可以有多个出口C. 注重提高程序的执行效率D. 不使用goto语句(5) 下面概念中,不属于面向对象方法的是 (D) 注:P55-58A. 对象B. 继承C. 类D. 过程调用(6) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)A. 可行性分析B. 需求分析C. 详细设计D. 程序编码(7) 在软件开发中,下面任务不属于设计阶段的是(D)A. 数据结构设计B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型(8) 数据库系统的核心是(B)A. 数据模型B. 数据库管理系统C. 软件工具D. 数据库(9) 下列叙述中正确的是(C)A.数据库是一个独立的系统,不需要操作系统的支持B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题D.数据库系统中,数据的物理结构必须与逻辑结构一致(10) 下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A) 注:P108A. 内模式B. 外模式C. 概念模式D. 逻辑模式(11) 算法的时间复杂度是指(C)A. 执行算法程序所需要的时间B. 算法程序的长度C. 算法执行过程中所需要的基本运算次数D. 算法程序中的指令条数(12) 算法的空间复杂度是指(D)A. 算法程序的长度B. 算法程序中的指令条数C. 算法程序所占的存储空间D. 算法执行过程中所需要的存储空间(13) 设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出A. 349B. 350C. 255D. 351(14) 结构化程序设计主要强调的是(B)A.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性(15) 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(D) 注:即第一个阶段A. 概要设计B. 详细设计C. 可行性分析D. 需求分析(16) 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
2011年3月全国计算机等级考试二级笔试试卷1)下列数据结构中,属于非线性结构的是A)循环队列B) 带链队列C) 二叉树D)带链栈2)下列数据结果中,能够按照“先进后出”原则存取数据的是A) 循环队列B) 栈C)队列D)二叉树3)对于循环队列,下列叙述中正确的是A)队头指针是固定不变的B)队头指针一定大于队尾指针C)队头指针一定小于队尾指针D)队头指针可以大于队尾指针,也可以小于队尾指针4)算法的空间复杂度是指A)算法在执行过程中所需要的计算机存储空间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的临时工作单元数5)软件设计中划分模块的一个准则是A) 低内聚低耦合B) 高内聚低耦合C) 低内聚高耦合D) 高内聚高耦合6)下列选项中不属于结构化程序设计原则的是A) 可封装B) 自顶向下C) 模块化D) 逐步求精7)软件详细设计产生的图如下:该图是A) N-S图B) PAD图C) 程序流程图D) E-R图8)数据库管理系统是A)操作系统的一部分B) 在操作系统支持下的系统软件C) 一种编译系统D) 一种操作系统9)在E-R图中,用来表示实体联系的图形是A) 椭圆图B) 矩形C) 菱形D) 三角形10)有三个关系R,S和T如下:其中关系T由关系R和S通过某种操作得到,该操作为A) 选择B) 投影C) 交D) 并11)以下叙述中正确的是A)程序设计的任务就是编写程序代码并上机B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整12)以下选项中,能用作用户标识符的是A)void B)8_8 C)_0_ D)unsigned13)阅读以下程序#include <stdio.h>main(){ int case; float printF;printf(“请输入2个数:”);scanf(“%d %f”,&case,&pjrintF);printf(“%d %f\n”,case,printF);}该程序编译时产生错误,其出错原因是A)定义语句出错,case是关键字,不能用作用户自定义标识符B)定义语句出错,printF不能用作用户自定义标识符C)定义语句无错,scanf不能作为输入函数使用D)定义语句无错,printf不能输出case的值14)表达式:(int)((double)9/2)-(9)%2的值是A)0 B)3 C)4 D)515)若有定义语句:int x=10;,则表达式x-=x+x的值为A)-20B)-10C)0D)1016)有以下程序#include <stdio.h>main(){ int a=1,b=0;printf(“%d,”,b=a+b);printf(“%d\n”,a=2*b);}程序运行后的输出结果是A)0,0 B)1,0 C)3,2 D)1,217)设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是A)if(a>b) c=a,a=b,b=c; B)if(a>b) {c=a,a=b,b=c;} C)if(a>b) c=a;a=b;b=c; D)if(a>b) {c=a;a=b;b=c;} 18)有以下程序#include <stdio.h>main(){ int c=0,k;for (k=1;k<3;k++)switch (k){default: c+=kcase 2: c++;break;case 4: c+=2;break;}printf(“%d\n”,c);}程序运行后的输出结果是A)3 B)5 C)7 D)919)以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是A)if((a>b)&&(b>c)) k=1;else k=0;B)if((a>b)||(b>c) k=1;else k=0;C)if(a<=b) k=0;else if(b<=c) k=1;D)if(a>b) k=1;else if(b>c) k=1; else k=0;20)有以下程序#include <stdio.h>main(){ char s[]={“012xy”};int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>=‟a‟&&s[i]<=‟z‟) n++;printf(“%d\n”,n);} 程序运行后的输出结果是A)0 B)2 C)3 D)521)有以下程序#include <stdio.h>main(){ int n=2,k=0;while(k++&&n++>2);printf(“%d %d\n”,k,n);} 程序运行后的输出结果是A)0 2 B)1 3 C)5 7 D)1 222)有以下定义语句,编译时会出现编译错误的是A)char a=‟a‟B)char a=‟\n‟;C)char a=‟aa‟;D)char a=‟\x2d‟;23)有以下程序#include <stdio.h>main(){ char c1,c2;c1=‟A‟+‟8‟-…4‟;c2=‟A‟+‟8‟-…5‟;printf(“%c,%d\n”,c1,c2);}已知字母A的ASCII码为65,程序运行后的输出结果是A)E,68 B)D,69 C)E,D D)输出无定值24)有以下程序#include <stdio.h>void fun(int p){ int d=2;p=d++; printf(“%d”,p);}main(){ int a=1;fun(a); printf(“%d\n”,a);} 程序运行后的输出结果是A)32 B)12 C)21 D)2225)以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能#define MIN -2147483647int findmax (int x[],int n){ int i,max;for(i=0;i<n;i++){ max=MIN;if(max<x[i]) max=x[i];}return max;} 造成错误的原因是A)定义语句int i,max;中max未赋初值B)赋值语句max=MIN;中,不应给max赋MIN值C)语句if(max<x[i]) max=x[i];中判断条件设置错D)赋值语句max=MIN;放错了位置(26)有以下程序#include <stdio.h>main(){ int m=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf(“%d,%d,%d,%d\n”,m,n,*p,*q);} 程序运行后的输出结果是A)1,2,1, B)1,2,2,1 C)2,1,2, D)2,1,1,227)若有定义语句:int a[4][10],*p,*q[4];且0≤i<4,则错误的赋值是A)p=a B)q[i]=a[i] C)p=a[i] D)p=&a[2][1]28)有以下程序#include <stdio.h>#include<string.h>main(){ char str[ ][20]={“One*World”, “One*Dream!”},*p=str[1];printf(“%d,”,strlen(p));printf(“%s\n”,p);} 程序运行后的输出结果是A)9,One*World B)9,One*Dream C)10,One*Dream D)10,One*World29)有以下程序#include <stdio.h>main(){ int a[ ]={2,3,5,4},i;for(i=0;i<4;i++)switch(i%2){ case 0:switch(a[i]%2){case 0:a[i]++;break;case 1:a[i]--;}break;case 1:a[i[=0;}for(i=0;i<4;i++) printf(“%d”,a[i]); printf(“\n”);}A)3 3 4 4 B)2 0 5 0 C)3 0 4 0 D)0 3 0 430)有以下程序#include <stdio.h>#include<string.h>main(){ char a[10]=”abcd”;print f(“%d,%d\n”,strlen(a),sizeof(a);} 程序运行后的输出结果是A)7,4 B)4,10 C)8,8 D)10,1031)下面是有关C语言字符数组的描述,其中错误的是A)不可以用赋值语句给字符数组名赋字符串B)可以用输入语句把字符串整体输入给字符数组C)字符数组中的内容不一定是字符串D)字符数组只能存放字符串32)下列函数的功能是fun(char * a,char * b){ while((*b=*a)!=‟\0‟) {a++,b++;} }A)将a所指字符串赋给b所指空间B)使指针b指向a所指字符串C)将a所指字符串和b所指字符串进行比较D)检查a和b所指字符串中是否有‟\0‟33)设有以下函数void fun(int n,char * s) {……} 则下面对函数指针的定义和赋值均是正确的是A)void (*pf)(); pf=fun; B)viod *pf(); pf=fun; C)void *pf(); *pf=fun; D)void (*pf)(int,char);pf=&fun; (34)有以下程序#include <stdio.h>int f(int n);main(){ int a=3,s;s=f(a);s=s+f(a);printf(“%d\n”,s);}int f(int n){ static int a=1;n+=a++;return n;} 程序运行以后的输出结果是A)7 B)8 C)9 D)1035)有以下程序#include <stdio.h>#define f(x) x*x*xmain(){ int a=3,s,t;s=f(a+1);t=f((a+1));printf(“%d,%d\n‟,s,t);} 程序运行后的输出结果是A)10,64 B)10,10 C)64,10 D)64,6436)下面结构体的定义语句中,错误的是A)struct ord {int x;int y;int z;}; struct ord a; B)struct ord {int x;int y;int z;} struct ord a;C)struct ord {int x;int y;int z;} a; D)struct {int x;int y;int z;} a;37)设有定义:char *c;,以下选项中能够使字符型指针c正确指向一个字符串的是A)char str[ ]=”string”;c=str;B)scanf(“%s”,c);C)c=getchar(); D)*c=”string”;38)有以下程序#include <stdio.h>#include<string.h>struct A{ int a; char b[10]; double c;};struct A f(struct A t);main(){ struct Aa={1001,”ZhangDa”,1098.0};a=f(a);jprintf(“%d,%s,%6.1f\n”,a.a,a.b,a.c);}struct A f(struct A t)( t.a=1002;strcpy(t.b,”ChangRong”);t.c=1202.0;return t; )程序运行后的输出结果是A)1001,ZhangDa,1098.0 B)1001,ZhangDa,1202.0 C)1001,ChangRong,1098.0 D)1001,ChangRong,1202.039)若有以下程序段int r=8;printf(“%d\n”,r>>1);输出结果是A)16 B)8 C)4 D)240)下列关于C语言文件的叙述中正确的是A)文件由一系列数据依次排列组成,只能构成二进制文件B)文件由结构序列组成,可以构成二进制文件或文本文件C)文件由数据序列组成,可以构成二进制文件或文本文件D)文件由字符序列组成,其类型只能是文本文件二、填空题(每空2分,共30分)1)某二叉树有5个度为2的结点以及3个度为1的结点,则该二叉树中共有【1】个结点。
2011年3月笔试真卷及答案详解 第1页(共12页)2011年3月全国计算机等级考试二级笔试试卷Access 数据库程序设计(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)下列各题A )、B )、C )、D )四个选项中,只有一个选项是正确的。
请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列关于栈叙正确的是( )。
A )栈顶元素最先能被删除B )栈顶元素最后才能被删除C )栈底元素永远不能被删除D )以上三种说法都不对 (2)下列叙述中正确的是( )。
A )有一个以上根结点的数据结构不一定是非线性结构B )只有一个根结点的数据结构不一定是线性结构C )循环链表是非线性结构D )双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)( )。
A )3B )4C )6D )7 (4)在软件开发中,需求分析阶段产生的主要文档是( )。
A )软件集成测试计划B )软件详细设计说明书C )用户手册D )软件需求规格说明书 (5)结构化程序所要求的基本结构不包括( )。
A )顺序结构B )GOTO 跳转C )选择(分支)结构D )重复(循环)结构 (6)下面描述中错误的是( )。
A )系统总体结构图支持软件系统的详细设计B )软件设计是将软件需求转换为软件表示的过程C )数据结构与数据库设计是软件设计的任务之一D )PAD 图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是( )。
A )数据定义语言B )数据管理语言C )数据操纵语言D )数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是( )。
A )1:1联系 B )1:m 联系 C )m:1联系 D )m:n 联系 (9)有三个关系R 、S 和T 如下( )。
R S T A B C A B C a 1 2 c 3 1 b 2 1 c 3 1 则由关系R 和S 得到关系T 的操作是 A )自然连接 B )交 C )除 D )并考二级,就上w ww .k ao er j i.c om2011年3月笔试真卷及答案详解 第2页(共12页)(10)定义无符号整数类为UInt ,下面可以作为类UInt 实例化值的是( )。
2011 年3 月全国计算机等级考试笔试试卷二级公共基础知识和C 语言程序设计(考试时间 90 分钟,满分 100 分)一、选择题(1)~(10)、(21)~(40)每题 2 分,(11)~(20)每题 1 分,70 分)下列各题 A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列关于栈叙正确的是()。
A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是()。
A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7 个结点,其中叶子结点只有1 个,则该二叉树的深度为(假设根结点在第1 层)()。
A)3B)4C)6D)7(4)在软件开发中,需求分析阶段产生的主要文档是()。
A)软件集成测试计划B)软件详细设计说明书C)用户手册D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括()。
A)顺序结构B)GOTO 跳转C)选择(分支)结构D)重复(循环)结构(6)下面描述中错误的是()。
A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD 图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是()。
A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是()。
A)1:1 联系B)1:m 联系C)m:1 联系D)m:n 联系(9)有三个关系R、S 和T 如下()。
则由关系R 和S 得到关系T 的操作是A)自然连接B)交C)除D)并(10)定义无符号整数类为UInt,下面可以作为类UInt 实例化值的是()。
2011年3月全国计算机二级C++考试真题与答案一、选择题(1)下列关于栈叙述正确的是A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3 B)4 C)6 D)7(4)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划 B)软件详细设计说明书C)用户手册 D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构 B)GOTO跳转C)选择(分支)结构 D)重复(循环)结构(6)下面描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是A)1:1联系 B)1:m联系C)m:1联系 D)m:n联系(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接 B)交 C)除 D)并(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是A)-369 B)369 C)0.369 D)整数集合{1,2,3,4,5}(11)为了提高函数调用的实际运行速度,可以将较简单的函数定义为A)内联函数B)重载函数C)递归函数D)函数模板(12)若AA为一个类,a为该类的非静态数据成员,在该类的一个成员函数定义中访问a时,其书写格式为A)aB)AA.aC)a()D)AA::a()(13)当派生类从一个基类保护继承时,基类中的一些成员在派生类中成为保护成员,这些成员在基类中原有的访问属性是A)任何B)公有或保护C)保护或私有D)私有(14)若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是A)Data+(Data);B)Data operator+(Data);C)Data+operator(Data);D)operator+(Data,Data);(15)下列关于函数模板的描述中,正确的是A)函数模板是一个实例函数B)使用函数模板定义的函数没有返回类型C)函数模板的类型参数与函数的参数相同D)通过使用不同的类型参数,可以从函数模板得到不同的实例函数(16) C++系统预定义了4个用于标准数据流的对象,下列选项中不属于此类对象的是A)coutB)cinC)cerrD)cset(17)Windows环境下,由C++源程序文件编译而成的目标文件的扩展名是A)cppB)exeC)objD)lik(18)字符串"a+b=12\n\t"的长度为A)12B)10C)8D)6(19)有如下程序:#includeusing namespace std;int main(){int f,f1=0,f2=1;for(int i=3;i<=6;i++){f=f1+f2;f1=f2;f2=f;}cout<<F<<ENDL;return 0;}运行时的输出结果是A)2 B)3 C)5 D)8(20)有如下程序:#includeusing namespace std;int main(){int a[6]={23,15,64,33,40,58};int s1,s2;s1=s2=a[0];for(int* p=a+1;p<A+6;P++){if(s1>*p) s1=*p;if(s2<*p) s2=*p;}cout<<S1+S2<<ENDL;return 0;}运行时的输出结果是A)23 B)58 C)64 D)79(21)有如下程序:#includeusing namespace std;void f1(int& x,int& y) {int z=x; x=y; y=z;} void f2(int x,int y) {int z=x; x=y; y=z;} int main(){int x=10,y=26;f1(x,y);f2(x,y);cout<<Y<<ENDL;return 0;}运行时的输出结果是A)10 B)16 C)26 D)36(22)有如下程序:#includeusing namespace std;class XA{int a;public:static int b;XA(int aa):a(aa) {b++;}~XA(){}int get(){return a;}};int XA::b=0;int main(){XA d1(2),d2(3);cout<<D1.GET()+D2.GET()+XA::B<<ENDL;return 0;}运行时的输出结果是A)5 B)6 C)7 D)8(23)有如下程序:#includeusing namespace std;class Point{int x,y;public:Point(int x1=0,int y1=0):x(x1),y(y1){}int get(){return x+y;}};class Circle{Point center;int radius;public:Circle(int cx,int cy,int r):center(cx,cy),radius(r){} int get(){return center.get()+radius;}};int main(){Circle c(3,4,5);cout<<C.GET()<<ENDL;return 0;}运行时的输出结果是A)5 B)7 C)9 D)12(24)若要对类BigNumber中重载的类型转换运算符long进行声明,下列选项中正确的是A)operator long() const;B)operator long(BigNumber);C)long operator long() const;D)long operator long(BigNumber);(25)有如下函数模板定义:templateT1 FUN(T2 n){return n*5.0;}若要求以int型数据9作为函数实参调用该模板,并返回一个double型数据,则该调用应表示为A)FUN(9)B)FUN<9>C)FUN(9)D)FUN<9>(double)(26)下列语句都是程序运行时的第1条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是A)cout<<INTERNAL<<123456;< SPAN> B)cout<<LEFT<<123456;C)cout<<RIGHT<<123456; D)cout<<SETW(6)<<123456;(27)下列关于析构函数的描述中,错误的是A)析构函数可以重载B)析构函数由系统自动调用C)每个对象的析构函数只被调用一次D)每个类都有析构函数(28)下列关于构造函数的描述中,错误的是A)构造函数名与类名相同B)构造函数可以有返回值C)构造函数可以重载D)每个类都有构造函数(29)若PAT是一个类,则程序运行时,语句"PAT (*ad)[3];"调用PAT的构造函数的次数是A)0 B)1 C)2 D)3(30)下列描述中,错误的是A)公有继承时基类中的公有成员在派生类中仍是公有成员B)公有继承时基类中的保护成员在派生类中仍是保护成员C)保护继承时基类中的公有成员在派生类中仍是公有成员D)保护继承时基类中的保护成员在派生类中仍是保护成员(31)生成派生类对象时,派生类构造函数调用基类构造函数的条件是A)无需任何条件B)基类中显式定义了构造函数C)派生类中显式定义了构造函数D)派生类构造函数明确调用了基类构造函数(32)下列关于派生类和基类的描述中,正确的是A)派生类成员函数只能访问基类的公有成员B)派生类成员函数只能访问基类的公有和保护成员C)派生类成员函数可以访问基类的所有成员D)派生类对基类的默认继承方式是公有继承(33)有如下类模板定义:templateclass BigNumber{long n;public:BigNumber(T i):n(i){}BigNumber operator +(BigNumber b){return BigNumber(n+b.n);}};己知b1、b2是BigNumber的两个对象,则下列表达式中错误的是A)bl+b2 B)b1+3 C)3+b1 D)3+3(34)下列关于文件流的描述中,正确的是A)文件流只能完成针对磁盘文件的输入输出B)建立一个文件流对象时,必须同时打开一个文件C)若输入流要打开的文件不存在,将建立一个新文件D)若输出流要打开的文件不存在,将建立一个新文件(35)有如下程序:#includeusing namespace std;class Pair{int m,n;public:Pair(int j,int k):m(j),n(k){}int get() {return m;}int get() const {return m+n;}};int main(){Pair a(3,5);const Pair b(3,5);cout<<A.GET()<<B.GET();return 0;}运行时的输出结果是A)33 B)38 C)83 D)88二、填空题(1)有序线性表能进行二分查找的前提是该线性表必须是【1】存储的。
(2)一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为【2】。
(3)对软件设计的最小单位(模块或程序单元)进行的测试通常称为【3】测试。
(4)实体完整性约束要求关系数据库中元组的【4】属性值不能为空。
(5)在关系A(S,SN,D)和关系B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则称【5】是关系A的外码。
6)若有定义语句"int x=10,y=20,z=20;",则表达式x>z&&y==z的值为【6】。