2009年全国计算机等级考试二级C++笔试试题
- 格式:doc
- 大小:163.50 KB
- 文档页数:11
2009年3月全国计算机等级考试二级笔试试卷一、选择题(每题2分,共计70分)(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如下:SA)选择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.1415930(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++,j++)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。
一、选择题(每题2分,共计70分)1.(1)下列叙述中正确的是A)栈是先进先出的线性表B)队列是"先进后出"的线性表C)循环队列是非线性结构D)有序线性表即可以采用顺序存储结构,也可以采用链式存储结构A B C D2.(2)支持子程序调用的数据结构是A)栈B)树C)队列D)二叉树A B C D3.(3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是A)10B)8C)6D)4A B C D4.(4)下列排序方法中,最坏情况下比较次数最少的是A)冒泡排序B)简单选择排序C)直接插入排序D)堆排序A B C D5.(5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。
下列属于应用软件的是A)编译程序B)操作系统C)教务管理系统D)汇编程序A B C D6.(6)下面叙述中错误的是A)软件测试的目的是发现错误并改正错误B)对被调试程序进行"错误定位"是程序调试的必要步骤C)程序调试也成为DebugD)软件测试应严格执行测试计划,排除测试的随意性A B C D7.(7)耦合性和内聚性是对模块独立性度量的两个标准。
下列叙述中正确的是A)提高耦合性降低内聚性有利于提高模块的独立性B)降低耦合性提高内聚性有利于提高模块的独立性C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度A B C D8.(8)数据库应用系统中的核心问题是A)数据库设计B)数据库系统设计C)数据库维护D)数据库管理员培训A B C D9.(9)有两个关系R,S如下:由关系R通过运算得到关系S,则所使用的运算为A)选择B)投影C)插入D)连接A B C D10.(10)将E-R图转换为关系模式时,实体和联系都可以表示为A)属性B)键C)关系D)域A B C D11.(11)一下选项中合法的标识符是A)1_1B)1-1C)_11D)1_ _A B C D12.(12)若函数中有定义语句:int k;,则A)系统将自动给k赋初值0B)这是k中的值无定义C)系统将自动给k赋初值-1D)这时k中无任何值A B C D13.(13)一下选项中,能用作数据常量的是A)o115B)0118C)1.5e1.5D)115LA B C D14.(14)设有定义:int x=2;,一下表达式中,值不为6的是A)x*=x+1B)x++,2*xC)x*=(1+x)D)2*x,x+=2A B C D15.(15)程序段:int x=12; double y=3.141593;printf("%d%8.6f",x,y);的输出结果是A)123.141593B)12 3.141593C)12,3.141593D)123.1415930A B C D16.(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);A B C D17.(17)以下是if语句的基本形式:if(表达式)语句其中"表达式"A)必须是逻辑表达式B)必须是关系表达式C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式A B C D18.(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的整数A B C D19.(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,3B)1,3,2C)1,3,3D)3,2,1A B C D20.(20)一下程序段中的变量已正确定义for(i=0;i<4;i++,j++)for(k=1;k<3;k++);printf("*");程序段的输出结果是A)********B)****C)**D)*A B C D21.(21)有以下程序#include<stdio.h>main(){char*s={"ABC"};do{printf("%d",*s%10);s++;}while(*s);}注意:字母A的ASCII码值为65。
全国计算机等级考试历年真题2009年9月二级C语言笔试真题及答案计算机等级考试历年真题(点击查看更多)2010-03-0322:48:28阅读425评论2字号:大中小点击查看更多全国计算机等级考试历年真题一、选择题(每题2分,共计70分)1.(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.(8)数据库管理系统是A)操作系统的一部分B)在操作系统支持下的系统软件C)一种编译系统D)一种操作系统9.(9)在E-R图中,用来表示实体联系的图形是A)椭圆形B)矩形C)菱形D)三角形10.(10)有三个关系R,S,和T如下:其中关系T由关系R和S通过某种操作得到,该操作为A)选择B)投影C)交D)并11.(11)以下叙述中正确的是A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用的数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整12.(12)以下选项中,能用作用户标识符的是A)voidB)8_8C)_0_D)unsigned13.(13)阅读以下程序#includemain(){int case;float printF;printf("请输入2个数:");scanf("%d%f",&case,&printF);printf("%d%f\n",case,printf);}该程序在编译时产生错误,其出错原因是A)定义语句出错,case是关键字,不能用作用户自定义标识符B)定义语句出错,printF不能用作用户自定义标识符C)定义语句无错,scanf不能作为输入函数使用D)定义语句无措,printf不能输出case的值14.(14)表达式:(int)((double)9/2)-(9)%2的值是A)0B)3C)4D)515.(15)若有定义语句:int x=10;,则表达式x-=x+x的值为A)-20B)-10C)0D)1016.(16)有以下程序#includemain(){int a=1,b=0;printf("%d,",b=a+b);printf("%d",a=2*b);}程序运行后的输出结果是A)0,0B)1,0C)3,2D)1,217.(17)设有定义:inta=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.(18)有以下程序#includemain(){int c=0,k;for(k=1;k<3;k++)switch(k){default:c+=k;case2:c++;break;case4:c+=2;break;}printf("%d\n",c);}程序运行后的输出结果是A)3B)5C)7D)919.(19)以下程序段中,与语句: 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.(20)有以下程序#includemain(){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)0B)2C)3D)521.(21)有以下程序#includemain(){int n=2,k=0;while(k++&&n++>2);printf("%d%d\n",k,n);}程序运行后的输出结果是A)02B)13C)57D)1222.(22)有以下定义语句,编译时会出现编译错误的是A)char a='a';B)char a='\n';C)char a='aa';D)char a='\x2d';23.(23)有以下程序#include{char c1,c2;c1='A'+'8'-'4';c2='A'+'8'-'5';printf("%c,%d\n",c1,c2);}已知字母A的ASCII码为65,程序运行后的输出结果是A)E,68B)D,69C)E,DD)输出无定值24.(24)有以下程序#includevoid fun(int p){int d=2;p=d++;printf("%d",p);}{int a=1;fun(a);printf("%d\n",a);}程序运行后的输出结果是A)32B)12C)21D)2225.(25)以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能#define MIN-2147463647int findmax(int x[],int n){int i,max;for(i=0;i{max=MIN;if(max}return max;}造成错误的原因是A)定义语句int i,max中max未赋值B)赋值语句max=MIN;中,不应该给max赋MIN值C)语句if(maxD)赋值语句max=MIN;放错了位置26.(26)有以下程序#includemain(){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,2B)1,2,2,1C)2,1,2,1D)2,1,1,227.(27)若有定义语句:inta[4][10],*p,*q[4];且0<=i<4,则错误的赋值是A)p=aB)q[i]=a[i]C)p=a[i]D)p=&a[2][128.(28)有以下程序#include#includemain(){charstr[][20]={"One*World","One*Dream!"},*p=str[1];printf("%d,",strlen(p));printf("%s\n",p);}程序运行后的输出结果是A)9,One*WorldB)9,One*Dream!C)10,One*Dream!D)10,One*Wor29.(29)有以下程序#includemain(){int a[]={2,3,5,4},i;for(i=0;i<4;i++)switch(i%2){case0:switch(a[i]%2) {case0:a[i]++;break;case1:a[i]--;}break;case1:a[i]=0;}for(i=0;i<4;i++)printf("%d",a[i]);printf("\n");}程序运行后的输出结果是A)3344B)2050C)3040D)030430.(30)有以下程序#include#includemain(){char a[10]="abcd";printf("%d,%d\n",strlen(a),sizeof(a));}程序运行后的输出结果是A)7,4B)4,10C)8,8D)10,1031.(31)下面是有关C语言字符数组的描述,其中错误的是A)不可以用赋值语句给字符数组名赋字符串B)可以用输入语句把字符串整体输入给字符数组C)字符数组中的内容不一定是字符串D)字符数组只能存放字符串32.(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.(33)设有以下函数:void fun(int n,char*s){……}则下面对函数指针的定义和赋值均正确的是A)void(*pf)();pf=fun;B)void*pf();pf=fun;C)void*pf();*pf=fun;D)void(*pf)(int,char);pf=&fun;34.(34)有以下程序#includeint 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)7B)8C)9D)1035.(35)有以下程序#include#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,64B)10,10C)64,10D)64,64A B C D36.(36)下面结构体的定义语句中,错误的是A)struct ord{int x;int y;intz;};struct ord a;B)struct ord{int x;int y;int z;}struct ord a;C)struct ord{int x;int y;int z;}n;D)struct{int x;int y;int z;}a;37.(37)设有定义:char*c;以下选项中能够使字符型指针C正确指向一个字符串的是A)char str[]="string";c=str;B)scanf("%s",c);C)c=getchar();D)*c="string";38.(38)有以下程序#include#includestruct A{int a;char b[10];double c;};struct A f(struct A t);main(){struct Aa={1001,"ZhangDa",1098.0};a=f(a);printf("%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.0B)1002,ZhangDa,1202.0C)1001,ChangRong,1098.0D)1002,ChangRong,1202.039.(39)有以下程序int r=8;printf("%d\n",r>>1);输出结果是A)16B)8C)4D)240.(40)下列关于C语言文件的叙述中正确的是A)文件由一系列数据一次排列组成,只能构成二进制文件B)文件由结构序列组成,可以构成二进制文件或文本文件C)文件由数据序列组成,可以构成二进制文件或文本文件D)文件由字符序列组成,只能是文本文件二、填空题(每空2分,共计30分)1.(1)某二叉树有5个度为2的结点以及3个度为1的结点,则该二叉树中共有【1】个结点。
每小题2分,共70分第1题:以下关于虚函数的叙述中不正确的是()。
A.虚函数属于成员函数B.虚函数不允许说明成静态的C.凡是虚函数必须用virtual说明D.虚函数可以被继承【正确答案】:C【参考解析】:虚函数的引入是为了解决动态绑定问题.使类的实例表现出多态性,虚函数在继承后依然保持虚函数特性,此时不需要用virtual关键词修饰。
第2题:A【参考解析】:本题主要考察setfill的用法。
只用在设置了宽度的情况下,字符填充操作setfill才有意义。
另外要注意的是设置宽度setw是所有格式中惟一一个一次有效的设置。
第3题:下述说法错误的是()。
A.对象之间不可以相互赋值B.对象可以用作函数参数C.对象可以用作数组的元素D.对象可以用作另一对象的成员【正确答案】:A【参考解析】:如果重载了赋值运算符后,对象之间是可以赋值的,对象如C++中其他内置的数据类型一样,可以作为函数参数、数组元素,其他对象的成员存在。
第4题:假定AB为一个类,则执行AB x;语句时将自动调用该类的()。
A.有参构造函数B.无参构造函数C.拷贝构造函数D.赋值重载函数【正确答案】:B【参考解析】:当没有显式调用指定形式的构造函数。
系统自动调用无参构造函数,如果没有为类指定此构造函数,则系统自动为其生成一个最简单的无参构造函数。
)。
A)654321B)432156C)456123D)123456【正确答案】:A【参考解析】:本题采用递归函数的方式将数组中的元素进行倒置,只要能够看出函数fun的功能,即可以得出正确答案为A。
第6题:数据库概念设计中,由分散到集中的设计方法是()。
A.视图设计B.视图集成设计C.集中式模式设计D.分数式模式设计【参考解析】:数据库概念设计中,由分散到集中的设计方法是视图集成设计。
第7题:类的构造函数的作用是()。
A.一般成员函数B.类的初始化C.对象的初始化D.删除对象创建的所有对象【正确答案】:C【参考解析】:本题考查类的构造函数的作用,构造函数一般负责完成对象建立时的初始化工作,如资源的分配。
一、名词解释题(每小题5分,共20分)1、超越器械:在投掷器械最后用力前,人体支撑点以最快的速度赶超到器械的前面,使器械远远地落在身体重心后面的身体动作姿势。
2、腾起角:腾起初速度方向与水平方向之间形成的夹角。
3、跨栏步:是指从起跨脚踏上起跨点到过栏后摆动腿着地的过程(分为起跨攻栏,腾空过栏,下栏着地三个阶段)。
4、内力和外力:内力和外力:内力是指肌肉收缩时产生的力、它是人体运动的动力来源。
外力是指人体与外界物体相互作用时所产生的力。
5、径赛:径赛:以时间计算成绩的和跑的项目叫径赛。
6、腾起初速度:是助跑、起跳所产生的水平速度与垂直速度的合速度。
7、步长与步频:步长是指两脚着地点之间的距离,步频是指单位时间内的步数。
8、田径运动定义:径赛和田赛运动,或由跑、竞走和越野跑运动。
二、单选题1、决定跑速的主要因素是___C__。
A、速度B、爆发力C、步频和步长2、计时小组三块表计取的成绩各不相同时,应以____C___成绩为准。
A、平均B、较差C、中间3、女子100米栏,栏间跑三步,其三步的比例为___C____。
A、中、小、大B、小、中、大C、小、大、中4、蹲踞式跳远腾空后容易产生前旋,其主要原因是____B___。
A、摆动腿的大腿抬的不高B、下肢靠近身体重心,旋转半径较短C、摆动动作没有做“突停”5、背向滑步推铅球比侧向滑步推铅球在技术上的优越性是___A____。
A、提高了预先速度,便于发挥力量B、提高了出手速度C、加长了球在出手前的运行距离6、田径运动定义是根据____C___田联章程而定。
A、中国田联章程B、亚洲田联章程C、国际田联章程7、跳高落地区宽是多少米?____C___A、5米B、8米C、3米D、6米8、加速跑的距离一般为多少米?___D____A、10-20米B、30-40米C、40-50米D、20-30米9、运动员通过助跑起跳,身体按一定方向腾起时,____C___越大,跳跃的运动成绩越好。
2009年9月全国计算机等级考试二级C语言真题及答案(文字版)2009年9月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90分钟,满分100分)一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分,共70分)(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) 可封装D) 自顶向下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)voidB)8_8C)_0_D)unsigned(13)阅读以下程序#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)0B)3C)4D)5(15)若有定义语句:int x=10;,则表达式x-=x+x的值为A)-20B)-10C)0D)10(16)有以下程序#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)9(19)以下程序段中,与语句: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)0B)2C)3D)5(21)有以下程序#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 2(22)有以下定义语句,编译时会出现编译错误的是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)22(25)以下函数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,2 B)1,2,2,1 C)2,1,2,1 D)2,1,1,2(27)若有定义语句:int a[4][10],*p,*q[4];且0≤i<4,则错误的赋值是A)p=aB)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*WorldB)9,One*DreamC)10,One*DreamD)10,One*World(29)有以下程序#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 4B)2 0 5 0C)3 0 4 0D)0 3 0 4(30)有以下程序#include <stdio.h>#include<string.h>main(){ char a[10]=”abcd”;printf(“%d,%d\n”,strlen(a),sizeof(a));}程序运行后的输出结果是A)7,4B)4,10C)8,8D)10,10(31)下面是有关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)7B)8C)9D)10(35)有以下程序#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,64B)10,10C)64,10D)64,64(36)下面结构体的定义语句中,错误的是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 A a={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.0B)1001,ZhangDa,1202.0C)1001,ChangRong,1098.0D)1001,ChangRong,1202.0(39)若有以下程序段int r=8;printf(“%d\n”,r>>1);输出结果是A)16B)8C)4D)2(40)下列关于C语言文件的叙述中正确的是A)文件由一系列数据依次排列组成,只能构成二进制文件B)文件由结构序列组成,可以构成二进制文件或文本文件C)文件由数据序列组成,可以构成二进制文件或文本文件D)文件由字符序列组成,其类型只能是文本文件二、填空题(每空2分,共30分)(1)某二叉树有5个度为2的结点以及3个度为1的结点,则该二叉树中共有【1】个结点。
2009年全国计算机等级考试二级C++笔试试题一十五一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(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)记录长度B)文件的大小C)联系的复杂程度D)数据之间的联系方式(8)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与实体计算机之间的联系是A)一对一B)一对多C)多对多D)多对一(9)数据库设计中反映用户对数据要求的模式是A)内模式B)概念模式C)外模式D)设计模式(10)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接B)交C)投影D)并(11)以下关于结构化程序设计的叙述中正确的是A)一个结构化程序必须同时由顺序、分支、循环三种结构组成B)结构化程序使用goto语句会很便捷C)在C语言中,程序的模块化是利用函数实现的D)由三种基本结构构成的程序只能解决小规模的问题(12)以下关于简单程序设计的步骤和顺序的说法中正确的是A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构(13)以下叙述中错误的是A)C程序在运行过程中所有计算都以二进制方式进行B)C程序在运行过程中所有计算都以十进制方式进行C)所有C程序都需要编译链接无误后才能运行D)C程序中整型变量只能存放整数,实型变量只能存放浮点数(14)有以下定义:int a;long b;double x,y;则以下选项中正确的表达式是A)a%(int)(x-y)B)a=x!=y;C)(a*y)%bD)y=x+y=x(15)以下选项中能表示合法常量的是A)整数:1,200B)实数:1.5E2.0C )字符斜杠:…\‟D)字符串:"\007"(16)表达式a+=a-=a=9的值是A)9B)_9C)18D)0(17)若变量已正确定义,在if (W)printf(“%d\n,k”);中,以下不可替代W的是A)a<>b+cB)ch=getchar()C)a==b+cD)a++(18)有以下程序#include<stdio.h>main(){int a=1,b=0;if(!a)b++;else if(a==0)if(a)b+=2;else b+=3;printf(”%d\n”,b);}程序运行后的输出结果是A)0B)1C)2D)3(19)若有定义语句int a, b;double x;则下列选项中没有错误的是A)switch(x%2)B)switch((int)x/2.0{case 0: a++; break; {case 0: a++; break;case 1: b++; break; case 1: b++; break;default : a++; b++; default : a++; b++;} }C)switch((int)x%2)D)switch((int)(x)%2){case 0: a++; break; {case 0.0: a++; break;case 1: b++; break; case 1.0: b++; break;default : a++; b++; default : a++; b++;} }(20)有以下程序#include <stdio.h>main(){int a=1,b=2;while(a<6){b+=a;a+=2;b%二10;}printf(”%d,%d\n”,a,b);}程序运行后的输出结果是A)5,11B)7,1C)7,11D)6,1(21)有以下程序#include<stdio.h>main(){int y=10;while(y--);printf(”Y=%d\n”,Y);}程序执行后的输出结果是A)y=0B)y= -1C)y=1D)while构成无限循环(22)有以下程序#include<stdio .h>main(){char s[」=”rstuv";printf(”%c\n”,*s+2);}程序运行后的输出结果是A)tuvB)字符t的ASCII码值C)tD)出错(23)有以下程序#include<stdio.h>#include<string.h>main(){char x[]=”STRING”;x[0」=0;x[1]=‟\0‟;x[2」=‟0‟;printf(”%d %d\n”,sizeof(x),strlen(x));}程序运行后的输出结果是A)6 1B)7 0C)6 3D)7 1(24)有以下程序#include<stdio.h>Int f(int x);main(){int n=1,m;m=f(f(f(n)));printf(”%d\n”,m);}int f(int x){return x*2;}程序运行后的输出结果是A)1B)2C)4D)8(25)以下程序段完全正确的是A)int *p; scanf("%d",&p);B)int *p; scanf(“%d”,p);C)int k, *p=&k; scanf("%d",p);D)int k, *p:; *p= &k; scanf(“%d”,p);(26)有定义语句:int *p[4];以下选项中与此语句等价的是A)int p[4];B)int **p;C)int *(p「4」);D)int (*p)「4」;(27)下列定义数组的语句中,正确的是A)int N=10;B)#define N 10int x[N]; int x[N];C)int x[0..10]; D)int x[];(28)若要定义一个具有5个元素的整型数组,以下错误的定义语句是A)int a[5]=﹛0﹜;B)int b[]={0,0,0,0,0};C)int c[2+3];D)int i=5,d[i];(29)有以下程序#include<stdio.h>void f(int *p);main(){int a[5]={1,2,3,4,5},*r=a;f(r);printf(”%d\n”;*r);}void f(int *p){p=p+3;printf(”%d,”,*p);}程序运行后的输出结果是A)1,4B)4,4C)3,1D)4,1(30)有以下程序(函数fun只对下标为偶数的元素进行操作)# include<stdio.h>void fun(int*a;int n){int i、j、k、t;for (i=0;i<n一1;1+=2){k=i;…for(j=i;j<n;j+=2)if(a[j]>a〔k])k=j;t=a〔i];a〔i]=a[k];a〔k]=t;}}main(){int aa「10」={1、2、3、4、5、6、7},i;fun(aa、7);for(i=0,i<7; i++)printf(”%d,”,aa[i]));printf(”\n”);}程序运行后的输出结果是A)7,2,5,4,3,6,1B)1,6,3,4,5,2,7C)7,6,5,4,3,2,1D)1,7,3,5,6;2,1(31)下列选项中,能够满足“若字符串s1等于字符串s2,则执行ST"要求的是A)if(strcmp(s2,s1)==0)ST;B)if(sl==s2)ST;C)if(strcpy(s l ,s2)==1)ST;D)if(sl-s2==0)ST;(32)以下不能将s所指字符串正确复制到t所指存储空间的是A)while(*t=*s){t++;s++;}B)for(i=0;t[i]=s[i];i++);C)do{*t++=*s++;}while(*s);D)for(i=0,j=0;t[i++]=s[j++];);(33)有以下程序(strcat函数用以连接两个字符串)#include<stdio.h>#include<string .h>main(){char a[20]=”ABCD\OEFG\0”,b[]=”IJK”;strcat(a,b);printf(”%s\n”,a);}程序运行后的输出结果是A)ABCDE\OFG\OIJKB)ABCDIJKC)IJKD)EFGIJK(34)有以下程序,程序中库函数islower (ch)用以判断ch中的字母是否为小写字母#include<stdio.h>#include<ctype.h>void fun(char*p){int i=0;while (p[i]){if(p[i]==‟ ‟&&islower(p「i-1」))p[i-1]=p[i-1]-…a‟+…A‟; i++;}}main(){char s1[100]=”ab cd EFG!”;fun(s1);printf(”%s\n”,s1);}程序运行后的输出结果是A)ab cd EFG!B)Ab Cd EFg!C)aB cD EFG!D)ab cd EFg!(35)有以下程序#include<stdio.h>void fun(int x){if(x/2>1)fun(x/2);printf(”%d”,x);}main(){fun(7);printf(”\n”);}程序运行后的输出结果是A)1 3 7B)7 3 1C)7 3D)3 7(36)有以下程序#include<stdio.h>int fun(){static int x=1;x+=1;return x;}main(){int i;s=1;for(i=1;i<=5;i++)s+=fun();printf(”%d\n”,s);}程序运行后的输出结果是A)11B)21C)6D)120(37)有以下程序#inctude<stdio.h>#include<stdlib.h>Main(){int *a,*b,*c;a=b=c=(int*)malloc(sizeof(int));*a=1;*b=2,*c=3;a=b;printf(“%d,%d,%d\n”,*a,*b,*c);}程序运行后的输出结果是A)3,3,3 B)2,2,3 C)1,2,3 D)1,1,3(38)有以下程序#include<stdio.h>main(){int s,t,A=10;double B=6;s=sizeof(A);t=sizeof(B);printf(“%d,%d\n”,s,t);}在VC6平台上编译运行,程序运行后的输出结果是A)2,4 B)4,4 C)4,8 D)10,6(39)若有以下语句Typedef struct S{int g; char h;}T;以下叙述中正确的是A)可用S定义结构体变量B)可用T定义结构体变量C)S是struct类型的变量D)T是struct S类型的变量(40)有以下程序#include<stdio.h>main(){short c=124;c=c_______;printf(“%d\n”、C);}若要使程序的运行结果为248,应在下划线处填入的是A)>>2 B)|248 C)&0248 D)<<I二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。
2008年4月全国计算机等级考试公共基础部分笔试试题1.选择题下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)程序流程图中带有箭头的线段表示的是( C )。
A)图元关系B)数据流C)控制流D)调用关系(2)结构化程序设计的基本原则不包括( A )。
A)多态性B)自顶向下C)模块化D)逐步求精(3)软件设计中模块划分应遵循的准则是( B )。
A)低内聚低耦合B)高内聚低耦合C)低内聚高耦合D)高内聚高耦合(4)在软件开发中,需求分析阶段产生的主要文档是( B )。
A)可行性分析报告B)软件需求规格说明书C)概要设计说明书D)集成测试计划(5)算法的有穷性是指( A )。
A)算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的C)算法程序的长度是有限的D)算法只能被有限的用户使用(6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是( D )。
A)快速排序B)冒泡排序C)直接插入排序D)堆排序(7)下列关于栈的叙述正确的是( B )。
A)栈按“先进先出”组织数据B)栈按“先进后出”组织数据C)只能在栈底插入数据D)不能删除数据(8)在数据库设计中,将E-R图转换成关系数据模型的过程属于( C )。
A)需求分析阶段B)概念设计阶段C)逻辑设计阶段D)物理设计阶段(9)有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为( D )。
A)并B)自然连接C)笛卡尔积D)交(10)设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为( C )。
A)课号,成绩B)学号,成绩C)学号,课号D)学号,姓名,成绩2.填空题请将每一个空的正确答案写在答题卡至【5】序号的横线上,答在试卷上不得分。
2009年全国计算机等级考试二级C++笔试试题(1) 每小题2分,共70分第1题下列能对对象进行初始化的是( )。
A.构造函数B.析构函数C.友元函数D.静态成员函数本题答案:ABCD标记:[暂不确定答案]第2题若有以下宏定义:#define N 2#define Y(n)((N+1)*n)则执行语句z=2*(N+Y(5));后的结果是( )。
A.语句有错误B.z=34C.z=70D.z无定值本题答案:ABCD标记:[暂不确定答案]第3题软件调试的目的是( )。
A.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能本题答案:ABCD标记:[暂不确定答案]第4题以下程序的功能是按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出:上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。
这条语句是( )。
A.sum=O.O;B.sum+=score;C.ave=sum/4.O;D.cout<<"No"<<n<<":"<<ave<<endl;本题答案:ABCD标记:[暂不确定答案]第5题下列关于关系运算的叙述中正确的是( )。
A.投影、选择、连接是从二维表的行的方向来进行运算B.投影、选择、连接是从二维表的列的方向来进行运算C.并、交、差是从二维表的列的方向来进行运算D.以上三种说法都不对本题答案:ABCD标记:[暂不确定答案]第6题若执行以下程序时从键盘上输入9,则输出结果是( )。
A.11B.10C.9D.8本题答案:ABCD标记:[暂不确定答案]第7题当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为( )。
A.ios::inB.ios::outC.ios::int|ios::outD.没有本题答案:ABCD标记:[暂不确定答案]第8题按“先进先出”原则组织数据的结构是( )。
09年计算机全国等级考试二级C++笔试试题一、选择题第1题设有基类定义:派生类采用何种继承方式可以使成员变量b成为自己的私有成员()。
A.私有继承B.保护继承C.公有继承D.私有、保护、公有第2题对下列二叉树进行中序遍历的结果是()。
A.ZBTYCPXAB.ATBZXCYPC.ZBTACYXPD.ATBZXCPY第3题下列叙述中正确的是()。
A.程序设计就是编制程序B.程序的测试必须由程序员自己去完成C.程序经调试改错后还应进行再测试D.程序经调试改错后不必进行再测试第4题在最坏情况下,冒泡排序所需要的比较次数为()。
A.n/2B.(n+1)/2C.n(n-1)/2D.n(n+1)/2第5题按“先进后出”原则组织数据的结构是()。
A.有序表B.栈C.队列D.二叉树第6题在int a=3,int*p=&a;中,p的值是()。
A.变量a的地址值B.无意义C.变量p的地址值D.3第7题关于const修饰符的说法中,错误的是()。
A.const既可以修饰成员函数,也可以修饰数据成员,还可以修饰对象B.若const修饰了一个对象,则该对象中的所有数据成员都无法被更新C.常对象无法调用一般成员函数D.常成员函数只能被常对象调用,不能被一般对象调用第8题设A为test类的对象且赋有初值,赋值符号已经重载,则语句test B=A;表示()。
A.语法错B.为对象A定义一个别名C.将对象A复制给对象BD.仅说明B和A属于同一个类第9题下面程序的输出是()。
A.1B.0C.1D.不确定的值第10题为引入对象的同义词,对象的别名称为()。
A.指针B.引用C.枚举D.结构第11题设char型变量x中的值为10100111,则表达式(2+x)^(~3)的值是()。
A.1010100lB.10101000C.11111101D.01010101第12题下列叙述中正确的是()。
A.一个算法的时间复杂度大,则其空间复杂度也必定大B.一个算法的空间复杂度大,则其时间复杂度也必定大C.一个算法的空间复杂度大,则其时间复杂度必定小D.上述三种说法都不对第13题下列叙述中正确的是()。
A.软件交付使用后还需要进行维护B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令第14题有如下程序:该程序的输出结果是()。
A.不定值B.2C.1D.0第15题下列关于指针的操作中.错误的是()。
A.两个同类型的指针可以进行比较运算B.可以用一个空指针赋给某个指针C.一个指针可以加上两个整数之差D.两个同类型的指针可以相加第16题磁盘文件操作中,打开磁盘文件的访问方式中以追加方式打开文件的()。
A.inB.outC.appD.ate第17题下列叙述中正确的是()。
A.同一个数据结构不管是采用何种存储方式,其所占的存储容量一定是相同的B.同一个数据结构采用不同的存储方式,其所占的存储容量一般是不同的C.同一个有序表不管是采用何种存储方式,都可以使用对分查找法D.同一个有序表不管是采用何种存储方式,都不能使用对分查找法第18题下面的程序的结果是()。
main(){int x=3,y=O,z=O;if(x=y+z)cout<<"* * * *";else cout<<"####";}A)有语法错误不能通过编译B)输出****C)可以通过编译,但是不能通过连接.因而不能运行D)输出并####第19题下列叙述中正确的是()。
A.在面向对象的程序设计中,各个对象之间应相对独立,相互依赖性小B.在面向对象的程序设计中,各个对象之间应具有密切的联系C.在面向对象的程序设计中,各个对象应都是公用的D.上述三种说法都不对第20题下列表示纯虚函数的成员函数是()。
A.virtual int func(int);B.void func(int)=0;C.virtual void func=O;D.virtual void func(int){}第21题假定其中的x的单位是角度且不考虑π值的精度,则与数学公式等价的C++语言表达式是()。
A.sqrt(cos(x))B.sqrt(abs(cos(x*3.14/180)))C.sqrt(abs(cos(x*(/180)))D.sqrt(fabs(cos(x*3.14/180)))第22题在最坏情况下,下列各排序方法的比较次数正确的是()。
A.冒泡排序为n/2B.冒泡排序为n(n+1)/2C.快速排序为n/2D.快速排序为n(n-1)/2第23题在C++语言程序中()。
A.函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义和调用均可以嵌套C.函数的定义和调用均不可以嵌套D.函数的定义不可以嵌套,但函数的调用可以嵌套第24题以下叙述中不正确的是()。
A.在类的定义中通常是用数据成员描述对象的属性,用成员函数描述对象的行为B.类的一个成员只能具有一种访问控制属性C.构造函数和析构函数是特殊的成员函数,因此不允许重载D.通过对象只能访问类的公有成员第25题一棵二叉树中所含最少的结点数是()。
A.0B.1C.2D.3第26题设有以下类的定义:若在类外定义成员函数setx(),以下定义形式中正确的是()。
A.void setx(int t){…}B.void(Ex::Setx(i nt t){…}C.Ex::void setx(int t){…}D.void(EX::setx(){…}第27题以下选项中与k=n++;完全等价的表达式是()。
A.k=n,n=n+1;B.n=n+1,k=n;C.k=++n;D.k+=n+1;第28题下列叙述中正确的是()。
A.算法的空间复杂度是指算法程序的长度B.算法的效率只与所处理数据的规模有关,而与数据的存储结构无关C.数据的逻辑结构与存储结构是一一对应的D.上述三种说法都不对第29题下列不能作为类的成员的是()。
A.自身类对象的指针B.自身类对象C.自身类对象的引用D.另一个类的对象第30题以下选项中合法的用户标识符是()。
A.longB._2TestC.3DmaxD.A.dat第31题下列叙述中错误的是()。
A.继承是面向对象方法的一个主要特征B.对象是面向对象软件的基本模块C.类是对象的一个实例D.消息是请求对象执行某一处理或回答某一要求的信息第32题对下列二叉树进行前序遍历的结果是()。
A.ZBTYCPXAB.ATBZXCYPC.ZBTACYXPD.ATBZXCPY第33题使用静态数据成员的好处不包括()。
A.可以节省内存空间B.是为了解决数据共享问题C.可以直接用类名来引用D.可以提高运算速度第34题下列程序执行后的输出结果是()。
A.you&meB.youC.meD.ERR第35题设置虚基类的目的是()。
A.简化程序B.消除二义性C.提高程序运行效率二、填空题(每空2分,共30分)第36题下列程序的运行结果是_______。
第37题若需要把一个函数“void Func();”定义为一个类Sample的友元函数,则应在类Sa mple的定义中加入一条语句 _______。
第38题设有下列二叉树:对此二叉树中序遍历的结果为_______。
第39题执行”cout<<char(F-2)<<endl;”语句后得到的输出结果后_______。
第40题执行“cout<<char('A'+2)<<endl;”语句后得到的输出结果为_______。
第41题具有记忆作用的线性表称为_______。
第42题下列程序完成从文件读取文件显示的同时写入第二个文件,则在程序中划线部分应该出现的语句是_______。
第43题设一棵完全二叉树共有839个结点,则在该二叉树中有_______个叶子结点。
第44题下列程序从保存整数的文本文件“c:Sample.dat”中依次取出每个数据并显示出来,同时统计并显示出所有数据的个数。
程序划线处的表达式为_______。
第45题下列程序的运行结果是_______。
第46题数据结构分为线性结构和非线性结构,其中循环链表属于_______。
第47题在数据库系统中,数据具有独立性。
由于数据的存储结构与逻辑结构之间由系统提供映象,使得当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改。
这种独立性称为_______。
第48题main函数中发生编译错误的语句是_______。
第49题在算法执行过程中所需要的基本运算次数称为算法的_______复杂度。
纠错。