2007年9全国计算机等级考试二级C++笔试试卷
- 格式:docx
- 大小:30.73 KB
- 文档页数:9
2007年4月全国计算机等级考试二级C语言笔试试卷(含参考答案)发布日期:2007-06-01 浏览次数:2783一、选择题((1)—(10)每小题2分,(11)—(50)每题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上答在试卷上不得分。
(1)下列叙述中正确的是(B)A)算法的效率只与问题的规模有关,而与数据的存储结构无关B)算法的时间复杂度是指执行算法所需要的计算工作量C)数据的逻辑结构与存储结构是一一对应的D)算法的时间复杂度与空间复杂度一定相关(2)在结构化程序设计中,模块划分的原则是(D)A)各模块应包括尽量多的功能B)各模块的规模应尽量大C)各模块之间的联系应尽量紧密D)模块内具有高内聚度、模块间具有低耦合度(3)下列叙述中正确的是(A)A)软件测试的主要目的是发现程序中的错误B)软件测试的主要目的是确定程序中错误的位置C)为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作D)软件测试是证明软件没有错误(4)下面选项中不属于面向对象程序设计特征的是(C)A)继承性 B)多态性C)类比性D)封装性(5)下列对队列的叙述正确的是(D)A)队列属于非线性表B)队列按“先进后出”原则组织数据C)队列在队尾删除数据D)队列按“先进先出”原则组织数据(6)对下列二叉树AB CD E F XY Z进行前序遍历的结果为(C)A) DYBEAFCZX B) YDEBFZXCAC) ABDYECFXZ D) ABCDEFXYZ(7) 某二叉树中有n个度为2的结点,则该二叉树中的叶子结点数为(A)A) n+1 B) n-1 C) 2n D) n/2(8) 在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是(B)A) 并B)交C)投影D)笛卡儿乘积(9) 在E-R图中,用来表示实体之间联系的图形是(C)A) 矩形B)椭圆形C)菱形 D)平行四边形(10)下列叙述中错误的是(A)A) 在数据库系统中,数据的物理结构必须与逻辑结构一致B)数据库技术的根本目标是要解决数据的共享问题C)数据库设计是指在已有数据库管理系统的基础上建立数据库D)数据库系统需要操作系统的支持(11)算法中,对需要执行的每一步操作,必须给出清楚、严格的规定,这属于算法的(C)A)正当性 B)可行性 C)确定性D)有穷性(12)下列叙述中错误的是(D)A)计算机不能直接执行用C语言编写的源程序B)C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件D)后缀为.obj和.exe的二进制文件都可以直接运行(13)按照C语言规定的用户标识符命名规则,不能出现在标识符中的是(B)A)大写字母 B)连接符C)数字字符 D)下划线(14)以下叙述中错误的是(C)A)C语言是一种结构化程序设计语言B)结构化程序有顺序、分支、循环三种基本结构组成C)使用三种基本结构构成的程序只能解决简单问题D)结构化程序设计提倡模块化的设计方法(15)对于一个正常运行的C程序,以下叙述中正确的是(A)A)程序的执行总是从main函数开始,在main函数结束B)程序的执行总是从程序的第一个函数开始,在main函数结束C)程序的执行总是从main函数开始,在程序的最后一个函数中结束D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束(16)设变量均已正确定义,若要通过scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。
2007年9全国计算机等级考试二级笔试试卷一、选择题(每小题2分,共70分)(11)在函数中,可以用auto,extem,register,和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是 AA autoB extemC registerD static(12)对于一个类定义,下列叙述中错误的是BA 如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数B 如果没有定义缺省的构造函数,编译器将一定生成一个缺省的构造函数C 如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数D 如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数(13)如果派生类以public方式继承基类,则原基类的protected成员和public成员在派生类中的访问类型分别是 DA public和publicB public和protectedC protected 和publicD protected 和protected(14)下列运算符函数中肯定不属于类FunNumber的成员函数的是DA int operator-(FunNumber)B FunNumber operator-()C FunNumber operator-(int)D int operator – (FunNumber)(15)C++中的模板包括CA 对象模板和函数模板B 对象模板和类模板C 函数模板和类模板D 变量模板和对象模板(16)如果调用C++流进行输入输出,下面的叙述中正确的是AA 只能借助于流对象进行输入输出B 只能进行格式化输入输出C 只能借助于cin和cout进行输入输出D 只能使用运算符》和《进行输入输出(17)下列符号中不属于C++关键字的是DA friendB namespaceC continueD byte(18)下列各组的量申明中,含义相同的一组是 BA unsigned long int 和longB signed short int 和shortB unsigned short 和short D short int 和int(19) 必须用一对打括号括起来的程序段是DA switch 语句中的case标号语句B if 语句的分支C 循环语句的循环体D 函数的函数体(20)语句的int*p=&k定义于指针P,于这个语句等效的语句序列是AA int*p;p=&kB int*p;p=kC int*p;*p=&kD int*p;*p=k(21)关于函数重载,下列叙述中错误的是CA 重载函数的函数名必须相同B 重载函数必须在函数个数或类型上有所不同C 重载函数的返回值类型必须相同D 重载函数的函数体可以有所不同(22)有如下头文件Int f1();Static int f2();Class MA{PublicInt f3();Static int f4();(静态函数)};在所描述的函数中,具有隐含的this指针的是 CA f1B f2C f3D f4(23)派生类的成员函数不能访问基类的CA 共有成员和保护成员B 共有成员C 私有成员D 保护成员(24)下列关于运算符重载的描述中,正确的是 AA 运算符重载为成员函数时,若参数表中五参数,重载的是一元运算符B 一元运算符只能作为成员函数重载C 二元运算符重载为非成员函数时,参数表中有一个参数D C++中可以重载所有的运算符(25)下列关于类模板的模板参数的叙述中,错误的是 DA 模板参数可以作为数据成员的类型B 模板参数可以作为成员函数的返回类型C 模板参数可以作为成员函数的参数类型D 模板函数不能作为成员函数的局部变量的类型(26)已知一程序运行后执行的第一个输出操作是BCout<<setw(10)<<setfill(*)<<1234则此操作的输出结构是A 1234B ******1234C **********1234D 1234******(27)有如下程序#include <iostrcam>Using namespace std;Class myclass{Public:MyClass(){++count;}~MyClass(){--count;}Static int getcount(){return count;}PrivateStatic int count;};Int MyClass::count=0;Int main(){Myclass obj;Cout<<obj,getCount();MyClass*ptr=new MyClass;Cout<<MyClass::getcount();Delete ptr;Cout<<MyClass::gercount();Return();}程序的输出结果是 AA 121B 232C 221D 122程序的输出结果是CA val=10 const:val=20B const:val=10 const:val=20C const:val=10 val=20D val=10 val=20(29)有如下程序#include <iostream>Using namespace std;Class part{Public;Part(int x=(\):val(x){cout<<val;}-part(){cout<<val;}Private;Int val;};Class whole{Public;Whole(int x,int y,int z=0):p2(x),p1(y),val(z){cout<<val;}Whole(){count<<val;}Private;Part p1,p2;Int val;};Int maint{Whole obj(1,2,3);Resturn();}程序输出的结果是DA 123321B 213312C 213(30) 有如下程序:#include <iostream>Using namespace std;Class base{Public:Base(int x=0){cout<<x;}};Class derived : public base{Public:Derivedrin(x=y){cout<<x;}Priblic:Base val;};Int main(){Derived d(!);Return();}程序的输出结果是CA 0B 1C 01D 001(31)若有如下类定义:Classs B {Void fun1(){}Protected;Double varl;Public:Void fun2(){}};Class D:public B{Protected;Void fun3(){}};已知obj是类D的对象,下列语句中不违反成员访问控制的权限的是CA obj.fun1();B obj.var1;C obj.fun2();D obj.fun3();(32)有如下程序:#include<iostream>Using namespace sid;Class base{Public;Void output(){cout<<1;}Virtual void print() {cout<<B;}};Class derived:public base{Public:Void output(){cout<<2;}Void pri nt(){cout<<’D’;}};Int main()Base * passnew derived;Ptr->output();Ptr->print();Delete ptr;Return();}程序的输出结果是DA 1B B 1DC 2BD 2D33.下列是重载乘法运算的函数原型声明,其中错误的是AA myclass operator*(double,double);B myclass operator*(double,myclass);C myclass operator*(myclass,double);D myclass operator*( myclass , myclass);*是二元运算符,而且标准库里面已经有double*double的运算符定义,返回值为double,所以A的重载是错误的34.A(35) 有如下程序:#include <iostream>using namespace std;class B{public:virtual void show(){cout<<"b";}};class D:public B {public:void show(){cout<<"D";}};void fun1(B*ptr){ptr->show();}void fun2(B &ref){ref.show();}void fun3(B b){b.show();}void main(){B b,*p=new D;D d;fun1(p);fun2(b);fun3(d);}程序的输出结果是DA DBDB BBDC DBBD Dbb二、填空题(每空2分,共三十分)(6).在有定义语句:int a=3,b=2,c=1;则表达式a<b?a:b的值是_____(7).执行下列语句后,变量sum的值是____.Int sum =0;For (int j=I;j<=I;j++)For (int j=I;j<=I;j++)Sum++;(8).已知有函数f的定义如下:Int f(){Static int -6;s-2;return s}则在某程序中第二次执行函数用语句f();时,函数f的返回值是_____.(9)已知如下程序得输出结果时23,请将划线处缺失得部分补充完整。
9月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间120分钟,满分100分)一、选择题((1)-(10)每题2分,(11)-(50)每题1分.共60分))下列各题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)n(n+1)/2 B)nlog2n C)n(n-1)/2 D)n/2(8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为A)219 B)221 C)229 D)231(9)下列叙述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库技术的根本目标是要解决数据的共享问题C)数据库管理系统就是数据库系统D)以上三种说法都不对(10)下列叙述中正确的是A)为了建立一个关系,首先要构造数据的逻辑关系B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项C)一个关系的属性名表称为关系模式D)一个关系可以包括多个二维表(11)C语言源程序名的后缀是A).exe B).C C).obj D).cp(12)可在C程序中用做用户标识符的一组标识符是A)and B)Date C)Hi D)case_2007 y-m-d Dr.Tom Bigl(13)以下选项中,合法的一组C语言数值常量是A)028 B)12. C).177 D)0x8A. 5e-3 OXa23 4c1.5 10,000-0xf 4.5e0 Oabc 3.e5(14)以下叙述中正确的是A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D)main可作为用户标识符,用以命名任意一个函数作为主函数(15)若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是A)scanf("%d",a,b,c); B)scanf("%d%d%d",a,b,c);C)scanf("%d",p); D)scanf("%d",&p);(16)以下关于long、int和short类型数据占用内存大小的叙述中正确的是A)均占4个字节 B)根据数据的大小来决定所占内存的字节数C)由用户自己定义 D)由C语言编译系统决定(17)若变量均已正确定义并赋值,以下合法的C语言赋值语句是A)x=y==5; B)x=n%2.5; C)x+n=I; D)x=5=4+1;(18)有以下程序段int j; float y; char name[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入55566 7777abc后,y的值为A)55566.0 B)566.0 C)7777.0 D)566777.0(19)若变量已正确定义,有以下程序段i=0;do printf("%d,",i);while(i++);printf("%d\n",i)其输出结果是A)0,0 B)0,1 C)1,1 D)程序进入无限循环(20)有以下计算公式y=(x≥0)(x<0)若程序前面已在命令中包含math.h文件,不能够正确计算上述公式的程序段是A)if(x>=0) y=sqrt(x); B)y=sqrt(x)else y=sqrt(-x); if(x<0) y=sqrt(-x);C)if(x>=0)y=sqrt(x); D)y=sqrt(x>=0?x:-x);If(x<0)y=sqrt(-x);(21)设有条件表达式:(EXP)?i++;j--,则以下表达式中(EXP)完全等价的是A)(EXP= =0) B)(EXP!=0) C)(EXP= =1) D)(EXP!=1)(22)有以下程序#include<stdio.h>main(){int y=9;for( ; y>0;y--)if(y%3= =0) printf("%d",--y);}程序的运行结果是A)741 B)963 C)852 D)875421(23)已有定义:char c; ,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是A)isupper(c) B)’A’<=c<=’Z’C)’A’<=c&&c<=’Z’ D)c<=(‘2’-32)&&(‘a’-32)<=c(24)有以下程序#include<stdio.h>main(){int i,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++) m=m%j;printf("%d\n",m);}程序的运行结果是A)0 B)1 C)2 D)3(25)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不占用具体存储单元C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元(26)已知字符’A’的ASCⅡ代码值是65,字符变量c1的值是’A’,c2的值是’D’。
全国计算机等级考试二级公共基础知识真题2007年9月(总分30, 做题时间90分钟)一、选择题1.软件是指SSS_SINGLE_SELA 程序B 程序和文档C 算法加数据结构D 程序、数据与相关文档的完整集合2.软件调试的目的是SSS_SINGLE_SELA 发现错误B 改正错误C 改善软件的性能D 验证软件的正确性3.在面向对象方法中,实现信息隐蔽是依靠SSS_SINGLE_SELA 对象的继承B 对象的多态C 对象的封装D 对象的分类4.下列叙述中,不符合良好程序设计风格要求的是SSS_SINGLE_SELA 程序的效率第一,清晰第二B 程序的可读性好C 程序中要有必要的注释D 输入数据前要有提示信息5.下列叙述中正确的是SSS_SINGLE_SELA 程序执行的效率与数据的存储结构密切相关B 程序执行的效率只取决于程序的控制结构C 程序执行的效率只取决于所处理的数据量D 以上三种说法都不对6.下列叙述中正确的是SSS_SINGLE_SELA 数据的逻辑结构与存储结构必定是一一对应的B 由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C 程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构D 以上三种说法都不对7.冒泡排序在最坏情况下的比较次数是SSS_SINGLE_SELA n(n+1)/2B nlog2nC n(n-1)/2D n/28.一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为SSS_SINGLE_SELA 219B 221C 229D 2319.下列叙述中正确的是SSS_SINGLE_SELA 数据库系统是一个独立的系统,不需要操作系统的支持B 数据库技术的根本目标是要解决数据的共享问题C 数据库管理系统就是数据库系统D 以上三种说法都不对10.下列叙述中正确的是SSS_SINGLE_SELA 为了建立一个关系,首先要构造数据的逻辑关系B 表示关系的二维表中各元组的每一个分量还可以分成若干数据项C 一个关系的属性名表称为关系模式D 一个关系可以包括多个二维表二、填空题注意:以命令关键字填空的必须拼写完整。
9月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间120分钟,满分100分)一、选择题((1)-(10)每题2分,(11)-(50)每题1分.共60分))下列各题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)n(n+1)/2 B)nlog2n C)n(n-1)/2 D)n/2(8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为A)219 B)221 C)229 D)231(9)下列叙述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库技术的根本目标是要解决数据的共享问题C)数据库管理系统就是数据库系统D)以上三种说法都不对(10)下列叙述中正确的是A)为了建立一个关系,首先要构造数据的逻辑关系B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项C)一个关系的属性名表称为关系模式D)一个关系可以包括多个二维表(11)C语言源程序名的后缀是A).exe B).C C).obj D).cp(12)可在C程序中用做用户标识符的一组标识符是A)and B)Date C)Hi D)case_2007 y-m-d Dr.Tom Bigl(13)以下选项中,合法的一组C语言数值常量是A)028 B)12. C).177 D)0x8A. 5e-3 OXa23 4c1.5 10,000-0xf 4.5e0 Oabc 3.e5(14)以下叙述中正确的是A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D)main可作为用户标识符,用以命名任意一个函数作为主函数(15)若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是A)scanf("%d",a,b,c); B)scanf("%d%d%d",a,b,c);C)scanf("%d",p); D)scanf("%d",&p);(16)以下关于long、int和short类型数据占用内存大小的叙述中正确的是A)均占4个字节 B)根据数据的大小来决定所占内存的字节数C)由用户自己定义D)由C语言编译系统决定(17)若变量均已正确定义并赋值,以下合法的C语言赋值语句是A)x=y==5; B)x=n%2.5; C)x+n=I; D)x=5=4+1;(18)有以下程序段int j; float y; char name[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入55566 7777abc后,y的值为A)55566.0 B)566.0 C)7777.0 D).0(19)若变量已正确定义,有以下程序段i=0;do printf("%d,",i);while(i++);printf("%d\n",i)其输出结果是A)0,0 B)0,1 C)1,1 D)程序进入无限循环(20)有以下计算公式y=(x≥0)(x<0)若程序前面已在命令中包含math.h文件,不能够正确计算上述公式的程序段是A)if(x>=0) y=sqrt(x); B)y=sqrt(x)else y=sqrt(-x); if(x<0) y=sqrt(-x);C)if(x>=0)y=sqrt(x); D)y=sqrt(x>=0?x:-x);If(x<0)y=sqrt(-x);(21)设有条件表达式:(EXP)?i++;j--,则以下表达式中(EXP)完全等价的是A)(EXP= =0) B)(EXP!=0)C)(EXP= =1)D)(EXP!=1)(22)有以下程序#include<stdio.h>main(){int y=9;for( ; y>0;y--)if(y%3= =0) printf("%d",--y);}程序的运行结果是A)741 B)963 C)852 D)(23)已有定义:char c; ,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是A)isupper(c) B)’A’<=c<=’Z’C)’A’<=c&&c<=’Z’D)c<=(‘2’-32)&&(‘a’-32)<=c(24)有以下程序#include<stdio.h>main(){int i,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++) m=m%j;printf("%d\n",m);}程序的运行结果是A)0 B)1 C)2 D)3(25)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不占用具体存储单元C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元(26)已知字符’A’的ASCⅡ代码值是65,字符变量c1的值是’A’,c2的值是’D’。
全国计算机等级考试二级笔试试卷Visual FoxPro数据库程序设计(陈远跃-/- 整理)2007年9月笔试试卷参考答案一、选择题(1)D)(2)B)(3)C)(4)A)(5)A)(6)D)(7)C)(8)A)(9)B)(10)A)(11)B)(12)A)(13)D)(14)C)(15)A)(16)A)(17)A)(18)A)(19)B)(20)C)(21)B)(22)D)(23)C)(24)A)(25)B)(26)B)(27)C)(28)A)(29)D)(30)A)(31)D)(32)B)(33)D)(34)A)(35)B)二、填空题(1)无歧义性(2)白盒(3)顺序(4)ACBDFEHGP(5)实体(6)IS NULL(7)GROUP BY (8)DISTINCT(9)MODIFY STRUCTURE (10)Load(11).T. (12)Click(13)1 (14)Value(15)UPDATE全国计算机等级考试二级Visual FoxPro数据库设计2007年9月笔试试卷(考试时间90分钟,满分100分)一、选择题(每小题2分,共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)数据的逻辑结构与存储结构必定是一一对应的B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C)程序设计语言中的数据一般是顺序存储结构,因此,利用数组只能处理线性结构D)以上三种说法都不对(7)冒泡排序在最坏情况下的比较次数是()。
c 2007计算机2级试题及答案以下是2007年中国计算机等级考试二级的试题及答案。
希望对您有所帮助。
一、单选题(共25题,每题4分,共100分)1. 下列关于计算机硬件的叙述中,错误的是()。
A. 计算机硬件是指计算机内部的可触摸部分B. 计算机硬件主要由中央处理器、内存和外部设备组成C. 计算机硬件是计算机所有部分的总称D. 计算机硬件可以为计算机系统提供输入、运算、输出功能答案:A2. 以下选项中,不属于常见电子邮件协议的是()。
A. POP3B. SMTPC. HTTPD. IMAP答案:C二、填空题(共10题,每题4分,共40分)1. 在Excel中,使用函数SUM(A1:A10)可以实现()功能。
答案:求和2. 在Windows操作系统中,按下Ctrl + Alt + Del组合键可以启动()。
答案:任务管理器三、判断题(共5题,每题4分,共20分)1. Windows操作系统是开源软件。
()答案:错误2. 在微软Word中,Ctrl + S组合键可以将当前文档另存为。
()答案:正确四、简答题(共5题,每题10分,共50分)1. 什么是数据库管理系统(DBMS)?请简要描述其作用和特点。
答案:数据库管理系统是一种用于管理和组织数据的软件。
其作用是提供高效、安全、可靠的数据管理和访问服务。
特点包括数据的独立性、数据共享性、数据一致性、数据完整性等。
2. 请简述TCP/IP协议族的主要协议及其功能。
答案:TCP/IP协议族主要包括IP协议、TCP协议和UDP协议。
IP 协议负责实现数据包的传输和路由;TCP协议提供可靠的面向连接的通信;UDP协议提供无连接的通信。
五、应用题(共1题,40分)1. 简要描述HTTP请求和HTTP响应的过程。
答案:HTTP请求过程:1) 客户端发起请求,构建HTTP请求报文,包括请求行、请求头和请求体。
2) 通过TCP/IP协议发送请求报文到服务器。
3) 服务器解析请求报文,处理请求并生成相应的HTTP响应。
2007年9月全国计算机等级考试二级C语言笔试考试试卷2007年9月全国计算机等级考试二级C语言笔试考试试卷2007-12-15 23:58A)GEDHFBCAB)DGEBHFCAC)ABCDEFGHD)ACBFEDHG2.树是结点的集合,它的根结点数目是A)有且只有1B)1或多于1C)0或1D)至少23.如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A)e3,e1,e4,e2B)e2,e4,e3,e1C)e3,e4,e1,e2D)任意顺序4.在设计程序时,应采纳的原则之一是A)不限制goto语句的使用B)减少或取消注解行C)程序越短越好D)程序结构应有助于读者理解5.程序设计语言的基本成分是数据成分、运算成分、控制成分和A)对象成分B)变量成分C)语句成分D)传输成分6.下列叙述中,不属于软件需求规格说明书的作用的是A)便于用户、开发人员进行理解和交流B)反映出用户问题的结构,可以作为软件开发工作的基础和依据C)作为确认测试和验收的依据D)便于开发人员进行需求分析7.下列不属于软件工程的3个要素的是A)工具B)过程C)方法D)环境8.单个用户使用的数据视图的描述称为A)外模式B)概念模式C)内模式D)存储模式9.将E-R图转换到关系模式时,实体与联系都可以表示成A)属性B)关系C)键D)域10.SQL语言又称为A)结构化定义语言B)结构化控制语言C)结构化查询语言D)结构化操纵语言11.下列叙述中正确的是A)C语言编译时不检查语法B)C语言的子程序有过程和函数两种C)C语言的函数可以嵌套定义D)C语言的函数可以嵌套调用12.在C语言中,退格符是A)\nC)\fD)\b13.以下叙述中正确的是A)构成C程序的基本单位是函数B)可以在一个函数中定义另一个函数C)main()函数必须放在其他函数之前D)所有被调用的函数一定要在调用之前进行定义14.若已定义:int a=25,b=14,c=19;以下三目运算符(?:)所构成语句的执行后a<=25&&b--<=2&&c?printf("***a=%d,b=%d,c=%d\n",a,b,c):printf("###a=% d, b=%d,c=%d\n",a,b,c);程序输出的结果是A)***a=25,b=13,c=19B)***a=26,b=14,c=19C)### a=25,b=13,c=19D)### a=26,b=14,c=1915.下列程序段的输出结果是int a=1234;float b=123.456;double c=12345.54321;printf("-,%2.1f,%2.1f",a,b,c);A)无输出B)12,123.5,12345.5C)1234,123.5,12345.5D)1234,123.4,1234.516.若运行以下程序时,从键盘输入ADescriptor(表示回车),则下面程序的运行结果是#includemain()int v0=1,v1=0,v2=0;do{ switch(c=getchar()){ case ′a′:case ′A′:case ′e′:case ′E′:case ′i′:case ′I′:case ′o′:case ′O′:case ′u′:case ′U′:v1+=1;default:v0+=1;v2+=1;}} while(c!=′\n′);printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2); } A)v0=7,v1=4,v2=7B)v0=8,v1=4,v2=8C)v0=11,v1=4,v2=11D)v0=13,v1=4,v2=1217.设有以下程序段int x=0,s=0;while(!x!=0)s+=++x;printf("%d",s);则A)运行程序段后输出0B)运行程序段后输出1C)程序段中的控制表达式是非法的D)程序段执行无限次18.执行下面的程序段后,变量k中的值为int k=3, s[2];s[0]=k; k=s[1]*10;A)不定值B)33D)1019.以下程序段的描述,正确的是x=-1;do{x=x*x;} while(!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误20.有如下程序段int a=14,b=15,x;char c=′A′;x=(a&&b)&&(c<′B′);执行该程序段后,x的值为A)tureB)falseC)0D)121.下列程序执行后的输出结果是void func1(int i);void func2(int i);char st[]="hello,friend!"; void func1(int i){ printf("%c",st[i]);if(i<3){i+=2;func2(i);}}void func2(int i){ printf("%c",st[i]);if(i<3){i+=2;func1(i);}}main(){ int i=0; func1(i); printf("\n");}A)helloB)helC)hloD)hlm22.以下函数返回a所指数组中最大值所在的下标值fun(int *a,int n){ int i,j=0,p;p=j;for(i=j;iif(a[i]>a[p]);return(p);}在下划线处应填入的内容是A)i=pB)a[p]=a[i]C)p=jD)p=i23.以下程序的输出结果是#includevoid prt (int *x, int*y, int*z){ printf("%d,%d,%d\n",++*x,++*y,*(z++));} main(){ int a=10,b=40,c=20;prt (&a,&b,&c);prt (&a,&b,&c);}A)11,42, 3112,22,41B)11,41,2012,42,20C)11,21,4011,21,21D)11,41,2112,42,2224.有如下程序main(){ char s[]="ABCD", *p;for(p=s+1; p}该程序的输出结果是A)ABCDBCDCDDB)ABCDC)BCDD)BCDCDD25.下列程序执行后的输出结果是main(){ int a[3][3], *p,i;p=&a[0][0];for(i=1; i<9; i++)p[i]=i+1; printf("%d\n",a[1][2]); }B)6C)9D)随机数31.以下对结构体类型变量的定义中,不正确的是A)typedef struct aa{ int n;float m;} AA;AA tdl;B)#define AA struct aaAA{ int n;float m;} tdl;C)struct{ int n;float m;} aa;struct aa tdl;D)struct{ int n;float m;} tdl;32.在下述程序中,判断i>j共执行的次数是main(){ int i=0, j=10, k=2, s=0;for (;;){ i+=k;if(i>j){ printf("%d",s);break;}}A)4B)7C)5D)633.若有以下程序#includevoid f(int n);main(){ void f(int n);f(5);}void f(int n){ printf("%d\n",n); }则以下叙述中不正确的是A)若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f B)若在主函数前对函数f进行说明,则在主函数和其后的其他函数中都可以正确调用函数fC)对于以上程序,编译时系统会提示出错信息:提示对f函数重复说明D)函数f无返回值,所以可用void将其类型定义为无返回值型34.以下程序的输出是struct st{ int x; int *y;} *p;int dt[4]={ 10,20,30,40 };struct st aa[4]={ 50,&dt[0],60,&dt[0],60,&dt [0],60,&dt[0]}; main(){ p=aa;printf("%d\n",++(p->x));}A)10B)11C)51D)6035.有以下程序#includemain(){ FILE *fp; int i=20,j=30,k,n;fp=fopen("d1.dat","w");fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d%d",&k,&n); printf("%d %d\n",k,n);fclose(fp);}程序运行后的输出结果是A)20 30B)20 50C)30 50D)30 20二、填空题(每空2分,共计30分)1.数据结构分为逻辑结构与存储结构,线性链表属于【1】。
全国计算机等级考试二年级C语言笔试试卷含答案文件管理序列号:[K8UY-K9IO69-O6M243-OL889-F88688]2007年9月全国计算机等级考试二级C语言真题及参考答案一、选择题((1)-(10)每题2分,(11)-(50)每题1分.共60分))下列各题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)n(n+1)/2 B)nlog2n C)n(n-1)/2 D)n/2(8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为A)219 B)221 C)229 D)231(9)下列叙述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库技术的根本目标是要解决数据的共享问题C)数据库管理系统就是数据库系统D)以上三种说法都不对(10)下列叙述中正确的是A)为了建立一个关系,首先要构造数据的逻辑关系B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项C)一个关系的属性名表称为关系模式D)一个关系可以包括多个二维表(11)C语言源程序名的后缀是A).exe B).C C).obj D).cp(12)可在C程序中用做用户标识符的一组标识符是A)and B)Date C)Hi D)case_2007 y-m-d Dr.Tom Bigl(13)以下选项中,合法的一组C语言数值常量是A)028 B)12. C).177 D)0x8A. 5e-3 OXa23 4c1.5 10,000-0xf 4.5e0 Oabc 3.e5(14)以下叙述中正确的是A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D)main可作为用户标识符,用以命名任意一个函数作为主函数(15)若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是A)scanf("%d",a,b,c); B)scanf("%d%d%d",a,b,c);C)scanf("%d",p); D)scanf("%d",&p);(16)以下关于long、int和short类型数据占用内存大小的叙述中正确的是A)均占4个字节 B)根据数据的大小来决定所占内存的字节数C)由用户自己定义 D)由C语言编译系统决定(17)若变量均已正确定义并赋值,以下合法的C语言赋值语句是A)x=y==5; B)x=n%2.5; C)x+n=I; D)x=5=4+1;(18)有以下程序段int j; float y; char name[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入55566 7777abc后,y的值为A)55566.0 B)566.0 C)7777.0 D)566777.0(19)若变量已正确定义,有以下程序段i=0;do printf("%d,",i);while(i++);printf("%d\n",i)其输出结果是A)0,0 B)0,1 C)1,1 D)程序进入无限循环(20)有以下计算公式若程序前面已在命令中包含math.h文件,不能够正确计算上述公式的程序段是A)if(x>=0) y=sqrt(x); B)y=sqrt(x)else y=sqrt(-x); if(x<0) y=sqrt(-x);C)if(x>=0)y=sqrt(x); D)y=sqrt(x>=0x:-x);If(x<0)y=sqrt(-x);(21)设有条件表达式:(EXP)i++;j--,则以下表达式中(EXP)完全等价的是A)(EXP= =0) B)(EXP!=0) C)(EXP= =1) D)(EXP!=1)(22)有以下程序#includemain(){int y=9;for( y>0;y--)if(y%3= =0) printf("%d",--y);}程序的运行结果是A)741 B)963 C)852 D)875421(23)已有定义:char c; ,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是A)isupper(c) B)’A’<=c<=’Z’C)’A’<=c&&c<=’Z’ D)c<=(‘2’-32)&&(‘a’-32)<=c(24)有以下程序#includemain(){int i,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++) m=m%j;printf("%d\n",m);}程序的运行结果是A)0 B)1 C)2 D)3(25)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不占用具体存储单元C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元(26)已知字符’A’的ASCⅡ代码值是65,字符变量c1的值是’A’,c2的值是’D’。
2007年9全国计算机等级考试二级笔试试卷一、选择题(每小题2分,共70分)(11)在函数中,可以用auto,extem,register,和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是AA autoB extemC registerD static(12)对于一个类定义,下列叙述中错误的是BA 如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数B 如果没有定义缺省的构造函数,编译器将一定生成一个缺省的构造函数C 如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数D 如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数(13)如果派生类以public方式继承基类,则原基类的protected成员和public成员在派生类中的访问类型分别是DA public和publicB public和protectedC protected 和publicD protected 和protected(14)下列运算符函数中肯定不属于类FunNumber的成员函数的是DA int operator-(FunNumber)B FunNumber operator-()C FunNumber operator-(int)D int operator – (FunNumber)(15)C++中的模板包括CA 对象模板和函数模板B 对象模板和类模板C 函数模板和类模板D 变量模板和对象模板(16)如果调用C++流进行输入输出,下面的叙述中正确的是AA 只能借助于流对象进行输入输出B 只能进行格式化输入输出C 只能借助于cin和cout进行输入输出D 只能使用运算符》和《进行输入输出(17)下列富豪中不属于C++关键字的是DA friendB namespaceC continueD byte(18)下列各组的量申明中,含义相同的一组是BA unsigned long int 和longB signed short int 和shortB unsigned short 和short D short int 和int(19) 必须用一对打括号括起来的程序段是DA switch 语句中的case标号语句B if 语句的分支C 循环语句的循环体D 函数的函数体(20)语句的int*p=&k定义于指针P,于这个语句等效的语句序列是AA int*p;p=&kB int*p;p=kC int*p;*p=&kD int*p;*p=k(21)关于函数重载,下列叙述中错误的是CA 重载函数的函数名必须相同B 重载函数必须在函数个数或类型上有所不同C 重载函数的返回值类型必须相同D 重载函数的函数体可以有所不同(22)有如下头文件Int f1();Static int f2();Class MA{PublicInt f3();Static int f4();};在所描述的函数中,具有隐含的this指针的是CA f1B f2C f3D f4(23)派生类的成员函数不能访问基类的CA 共有成员和保护成员B 共有成员C 私有成员D 保护成员(24)下列关于运算符重载的描述中,正确的是AA 运算符重载为成员函数时,若参数表中五参数,重载的是一元运算符B 一元运算符只能作为成员函数重载C 二元运算符重载为非成员函数时,参数表中有一个参数D C++中可以重载所有的运算符(25)下列关于类模板的模板参数的叙述中,错误的是DA 模板参数可以作为数据成员的类型B 模板参数可以作为成员函数的返回类型C 模板参数可以作为成员函数的参数类型D 模板函数不能作为成员函数的局部变量的类型(26)已知一程序运行后执行的第一个输出操作是BCout<<setw(10)<<setfill(*)<<1234则此操作的输出结构是A 1234B ******1234C **********1234D 1234******(27)有如下程序A#include <iostrcam>Using namespace std;Class myclass{Public:MyClass(){++count;}~MyClass(){--count;}Static int getcount(){return count;}PrivateStatic int count;};Int MyClass::count=0;Int main(){Myclass obj;Cout<<obj,getCount();MyClass*ptr=new MyClass;Cout<<MyClass::getcount();Delete ptr;Cout<<MyClass::gercount();Return();}程序的输出结果是A 121B 232C 221D 122程序的输出结果是CA val=10 const:val=20B const:val=10 const:val=20C const:val=10 val=20D val=10 val=20(29)有如下程序#include <iostream>Using namespace std;Class part{Public;Part(int x=(\):val(x){cout,,val;}-part(){cout<<val;}Private;Int val;};Class whole{Public;Whole(int x,int y,int z=0):p2(x),p1(y),val(z){cout<<val;}Whole(){count,,val;}Private;Part p1,p2;Int val;};Int maint{Whole obj(1,2,3);Resturn();}程序输出的结果是DA 123321B 213312C 213(30) 有如下程序:#include <iostream>Using namespace std;Class base{Public:Base(int x=0){cout<<x;}};Class derived : public base{Public:Derivedrin(x=y){cout<<x;}Priblic:Base val;};Int main(){Derived d(!);Return();}程序的输出结果是CA 0B 1C 01D 001(31)若有如下类定义:Classs B {Void fun(){}Protected;Double varl;Public:Void fun2(){}};Class D:public B{Protected;Void fun3(){}};已知obj是类D的对象,下列语句中不违反成员访问控制的权限的是CA obj.fun1();B obj.var1;C obj.fun2();D obj.fun3();(32)有如下程序:#include<iostream>Using namespace sid;Class base{Public;V oid output(){cout<<1;}Virtual void print() {cout<<B;}};Class derived:public base{Public:Void output(){cout<<2;}Void print(){cout<<’D’;}};Int main()Base * passnew derived;Ptr->output();Ptr->print();Delete ptr;Return();}程序的输出结果是DA 1B B 1DC 2BD 2D下列是重载乘法运算的函数原型声明,其中错误的是 A 34.AA myclass operator*(double,double);B myclass operator*(double,myclass);C myclass operator*(myclass,double);D myclass operator*( myclass , myclass);(35) 有如下程序:#include <iostream>Using namespace std:Class B{Public:Virtual voi d show(){cout<<”b”;}};Class D:public B {Public:Void show(){cout<<D;}};Void fun1(B*ptr){ptr->show();}Void fun2(B &ref){ref.show();}Void fun3(B b){b.show();}Int main(){B b,*p=new D;D d;Fun1(p);Fun2(b);Fun3(d);Return();}程序的输出结果是DA DBDB BBDC DBBD DBD二、填空题(每空2分,共三十分)(6).在有定义语句:int a=3,b=2,c=1;则表达式a<b?a:b的值是_____(7).执行下列语句后,变量sum的值是____.Int sum =0;For (int j=I;j<=I;j++)For (int j=I;j<=I;j++)Sum++;(8).已知有函数f的定义如下:Int f(){Static int -6;s-2;return s}则在某程序中第二次执行函数用语句f();时,函数f的返回值是_____.(9)已知如下程序得输出结果时23,请将划线处缺失得部分补充完整。
2007年9全国计算机等级考试二级笔试试卷C++语言程序设计(考试时间90分钟,满分100分)一、选择题(每小题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 以上三种说法都不对(8)一棵二叉树中共有70个叶子结点于80个度为1的结点,则该二叉树重的总结点数为A 219B 221C 229D 221(9)下列叙述重正确的是A数据库系统是一个独立的系统,它需要操作系统的支持B 数据库技术的根本目标是要解决数据的共享问题C 数据库管理系统是数据库系统D 以上说法都不正确(10)下列叙述中正确的是A为了建立一个关系,首先是要构造数据的逻辑关系B 表示关系的二维表中各各组的每一个分量还可以分成若干数据项C 一个关系的属性名称为关系模式D 一个关系可以包括多个二维表(11)在函数中,可以用auto,extem,register,和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是A autoB extemC registerD static(12)对于一个类定义,下列叙述中错误的是A如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数B 如果没有定义缺省的构造函数,编译器将一定生成一个缺省的构造函数C 如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数D 如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数(13)如果派生类以public方式继承基类,则原基类的protected成员和public成员在派生类中的访问类型分别是A public和publicB public和protectedC protected 和publicD protected 和protected(14)下列运算符函数中肯定不属于类FunNumber的成员函数的是A int operator-(FunNumber)B FunNumber operator-()C FunNumber operator-(int)D int operator – (FunNumber)(15)C++中的模板包括A对象模板和函数模板 B 对象模板和类模板C 函数模板和类模板D 变量模板和对象模板(16)如果调用C++流进行输入输出,下面的叙述中正确的是A只能借助于流对象进行输入输出B 只能进行格式化输入输出C 只能借助于cin和cout进行输入输出D 只能使用运算符》和《进行输入输出(17)下列富豪中不属于C++关键字的是A friendB namespaceC continueD byte(18)下列各组的量申明中,含义相同的一组是A unsigned long int 和longB signed short int 和shortB unsigned short 和short D short int 和int(19) 必须用一对打括号括起来的程序段是A switch 语句中的case标号语句B if 语句的分支C 循环语句的循环体D 函数的函数体(20)语句的int*p=&k定义于指针P,于这个语句等效的语句序列是A int*p;p=&kB int*p;p=kC int*p;*p=&kD int*p;*p=k(21)关于函数重载,下列叙述中错误的是A重载函数的函数名必须相同B 重载函数必须在函数个数或类型上有所不同C 重载函数的返回值类型必须相同D 重载函数的函数体可以有所不同(22)有如下头文件Int f1();Static int f2();Class MA{PublicInt f3();Static int f4();};在所描述的函数中,具有隐含的this指针的是A f1B f2C f3D f4(23)派生类的成员函数不能访问基类的A共有成员和保护成员 B 共有成员C 私有成员D 保护成员(24)下列关于运算符重载的描述中,正确的是A运算符重载为成员函数时,若参数表中五参数,重载的是一元运算符B 一元运算符只能作为成员函数重载C 二元运算符重载为非成员函数时,参数表中有一个参数D C++中可以重载所有的运算符(25)下列关于类模板的模板参数的叙述中,错误的是A模板参数可以作为数据成员的类型B 模板参数可以作为成员函数的返回类型C 模板参数可以作为成员函数的参数类型D 模板函数不能作为成员函数的局部变量的类型(26)已知一程序运行后执行的第一个输出操作是Cout<<setw(10)<<setfill(*)<<1234则此操作的输出结构是A 1234B ******1234C **********1234D 1234******(27)有如下程序#include <iostrcam>Using namespace std;Class myclass{Public:MyClass(){++count;}~MyClass(){--count;}Static int getcount(){return count;}PrivateStatic int count;};Int MyClass::count=0;Int main(){Myclass obj;Cout<<obj,getCount();MyClass*ptr=new MyClass;Cout<<MyClass::getcount();Delete ptr;Cout<<MyClass::gercount();Return();}程序的输出结果是A 121B 232C 221D 122程序的输出结果是A val=10 const:val=20B const:val=10 const:val=20C const:val=10 val=20D val=10 val=20(29)有如下程序#include <iostream>Using namespace std;Class part{Public;Part(int x=(\):val(x){cout,,val;}-part(){cout<<val;}Private;Int val;};Class whole{Public;Whole(int x,int y,int z=0):p2(x),p1(y),val(z){cout<<val;}Whole(){count,,val;}Private;Part p1,p2;Int val;};Int maint{Whole obj(1,2,3);Resturn();}程序输出的结果是A 123321B 213312C 213(30) 有如下程序:#include <iostream>Using namespace std;Class base{Public:Base(int x=0){cout<<x;}};Class derived : public base{Public:Derivedrin(x=y){cout<<x;}Priblic:Base val;};Int main(){Derived d(!);Return();}程序的输出结果是A 0B 1C 01D 001(31)若有如下类定义:Classs B {V oid fun(){}Protected;Double varl;Public:V oid fun2(){}};Class D:public B{Protected;V oid fun3(){}};已知obj是类D的对象,下列语句中不违反成员访问控制的权限的是A obj.fun1();B obj.var1;C obj.fun2();D obj.fun3();(32)有如下程序:#include<iostream>Using namespace sid;Class base{Public;V oid output(){cout<<1;}V irtual void print() {cout<<B;}};Class derived:public base{Public:V oid output(){cout<<2;}V oid print(){cout<<’D’;}};Int main()Base * passnew derived;Ptr->output();Ptr->print();Delete ptr;Return();}程序的输出结果是A 1B B 1DC 2BD 2D下列是重载乘法运算的函数原型声明,其中错误的是A myclass operator*(double,double);B myclass operator*(double,myclass);C myclass operator*(myclass,double);D myclass operator*( myclass , myclass);(35) 有如下程序:#include <iostream>Using namespace std:Class B{Public:V irtual void show(){cout<<”b”;}};Class D:public B {Public:V oid show(){cout<<D;}};V oid fun1(B*ptr){ptr->show();}V oid fun2(B &ref){ref.show();}V oid fun3(B b){b.show();}Int main(){B b,*p=new D;D d;Fun1(p);Fun2(b);Fun3(d);Return();}程序的输出结果是A DBDB BBDC DBBD DBD二、填空题(每空2分,共三十分)(1).请将每一个空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。