计算机类 二级 C++
2010年全国计算机等级考试二级C++模拟试题(3)&笔试部分 49 题 含答案 C++
1 单选题 1 / 49
串的长度是( )
A 串中不同字符的个数 B 串中不同字母的个数 C 串中所含字符的个数且字符个数大于零 D 串中所含字符的个数
查看答案 D. 串中所含字符的个数
2 单选题 2 / 49
以下不属于对象的基本特点的是( )
A 分类性 B 多态性 C 继承性 D 封装性
查看答案 A. 分类性
3 单选题 3 / 49
下面不属于软件设计原则的是( )
A 抽象 B 模块化 C 自底向上 D 信息隐蔽
查看答案 C. 自底向上
4 单选题 4 / 49
下列SQL语句中,用于修改表结构的是( )
A ALTER B CREATE C UPDATE D INSERT
查看答案 A. ALTER
5 单选题 5 / 49
关系模型允许定义3类数据约束,下列不属于数据约束的是( )
A 实体完整性约束 B 参照完整性约束 C 域完整性约束 D 用户自定义的完整性约束
查看答案 C. 域完整性约束
6 单选题 6 / 49
非空的循环单链表head的尾结点(由p所指向),满足( )
A p->next==NULL B p==NULL C p->next=head D p=head
查看答案 C. p->next=head
7 单选题 7 / 49
对建立良好的程序设计风格,下面描述正确的是( )
A 程序应简单、清晰、可读性好 B 符号名的命名只要符合语法 C 充分考虑程序的执行效率 D 程序的注释可有可无
查看答案 A. 程序应简单、清晰、可读性好
8 单选题 8 / 49
在软件生产过程中,需求信息的给出是( )
A 程序员 B 项目管理者 C 软件分析设计人员 D 软件用户
查看答案 D. 软件用户
9 单选题 9 / 49
NULL是指( )
A 0 B 空格 C 未知的值或无任何值 D 空字符串
查看答案 C. 未知的值或无任何值
10 单选题 10 / 49
下列说法中,不属于数据模型所描述的内容的是( )
A 数据结构 B 数据操作 C 数据查询 D 数据约束
查看答案 C. 数据查询
11 单选题 11 / 49
C++语言中标点符号中表示一条预处理命令开始的是( )
A # B ; C * D {
查看答案 A. #
12 单选题 12 / 49
sizeof(float)是( )
A 一个双精度型表达式 B 一个整型表达式 C 一种函数调用 D 一个不合法的表达式
查看答案 B. 一个整型表达式
13 单选题 13 / 49
设有程序段 int k=10; while(k=0)k=k-1; 则下面描述中正确的是( )
A 循环执行10次 B 无限循环 C 循环体语句一次也不执行 D 循环体语句执行一次
查看答案 C. 循环体语句一次也不执行
14 单选题 14 / 49
以下不正确的定义语句是( )
A double x[5]={2.0,4.0,6.0,8.0,10.0}; B int y[5]={0,1,3,5,7,9}; C char c1[]={′1′,′2′,′3′,′4′,′5′}; D char c2[]={′\x10′,′\xa′,′\x8′};
查看答案 B. int y[5]={0,1,3,5,7,9};
15 单选题 15 / 49
下列函数的运行结果是( ) #include int f(int a,int b) { int c; if(a>b) c=1; else if(a==b) c=0; else c=-1; return(c);} void main() { int i=2,j=3; int p=f(i,j); cout<<p;}< p=""></p;}<>
A -1 B 1 C 2 D 编译出错,无法运行
查看答案 A. -1
16 单选题 16 / 49
关于静态数据成员的描述中正确的是( )
A 类的静态数据成员不是类的所有对象共享的数据 B 类的静态数据成员不能被类的成员函数调用 C 类的静态数据成员不能被类的构造函数调用 D 类的静态数据成员必须进行初始化
查看答案 D. 类的静态数据成员必须进行初始化
17 单选题 17 / 49
下表正确的是( ) 类中的访问属性 访问修饰符 在子类中的访问属性
A public private 不能直接访问 B protect public public C private public 不能直接访问 D protect private protect
查看答案 C. private public 不能直接访问
18 单选题 18 / 49
下列运算符中全都可以被友元函数重载的是( )
A =,+,-,\ B [],+,(),new C ->,+,*,>> D <<,>>,+,*
查看答案 D. <<,>>,+,*
19 单选题 19 / 49
对于下面的程序 ifstream fin(c:\test.txt); if(fin) cout<<″ok″; else cout<<″wrong″; 对于if语句中的内容可以换为( )
A fin.fail(); B fin.bad(); C fin.good(); D fin.eof();
查看答案 C. fin.good();
20 单选题 20 / 49
不合法的main函数命令行参数表示形式是( )
A main(int a,char *c[]) B main(int arc,char **arv) C main(int argc,char *argv) D main(int argv,char *argc[])
查看答案 C. main(int argc,char *argv)
21 单选题 21 / 49
下面叙述不正确的是( )
A 基类的保护成员在派生类中仍然是保护的成员 B 基类的保护成员在公有派生类中仍然是保护的 C 基类的保护成员在私有派生类中仍然是私有的 D 对基类成员的访问必须是无二义性
查看答案 A. 基类的保护成员在派生类中仍然是保护的成员
22 单选题 22 / 49
下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,在划线处填入的选项是( ) #include void main() { int a,b,t; cin>>a>>b; while(________) { if(a>b) { t=a;a=b;b=t} cout<<a<<<b<<endl;<=""></a< cin>>a>>b; } }
A !a=b B a!=b C a==b D a=b
查看答案 B. a!=b
23 单选题 23 / 49
C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是( )
A 增加了一些新的运算符 B 允许函数重载,并允许设置缺省参数 C 规定函数说明符必须用原型 D 引进了类和对象的概念
查看答案 D. 引进了类和对象的概念
24 单选题 24 / 49
设有定义int x;float y;,则10+x+y值的数据类型是( )
A int B double C float D 不确定
查看答案 C. float
25 单选题 25 / 49
下面程序的运行结果为( ) #include void main() { for(int a=0,x=0;!x&&a<=10;a++) {a++;} cout<<a<<endl;< p=""></a<<endl;<> }
A 10 B 11 C 12 D 0
查看答案 C. 12
26 单选题 26 / 49
下面关于数组的初绐化正确的是( )
A char str[]={′a′,′b′,′c′} B char str[2]={′a′,′b′,′c′} C char str[2][3]={{′a′,′b′},{′c′,′d′},{′e′,′ f′}} D char str()={′a′,′b′,′c′}
查看答案 A. char str[]={′a′,′b′,′c′}
27 单选题 27 / 49
决定C++语言中函数的返回值类型的是( )
A return语句中的表达式类型 B 调用该函数时系统随机产生的类型 C 调用该函数时的主调用函数类型 D 在定义该函数时所指定的数据类型
查看答案 D. 在定义该函数时所指定的数据类型
28 单选题 28 / 49
下列程序的运行结果为( ) #include void print(double a) {cout<<++a;} void print(int a,int b) {cout<<b<<a;}< p=""></b<<a;}<> void main() { print(1,2); cout<<″ ″; print(3,4); }
A 1.2 34 B 2.2 34 C 1.2 43 D 2.2 43
查看答案 D. 2.2 43
29 单选题 29 / 49
在类的定义中,用于为对象分配内存空间,对类的数据成员进行初实化并执行其他内部管理操作的函数是( )
A 友元函数 B 虚函数 C 构造函数 D 析构函数
查看答案 C. 构造函数
30 单选题 30 / 49
下列说法正确的是( )
A 内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方 B 内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方 C 类的内联函数必须在类体内定义 D 类的内联函数必须在类体外通过加关键字inline定义
查看答案 B. 内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方
31 单选题 31 / 49
下面对于友元函数描述正确的是( )
A 友元函数的实现必须在类的内部定义 B 友元函数是类的成员函数 C 友元函数破坏了类的封装性和隐藏性 D 友元函数不能访问类的私有成员
查看答案 C. 友元函数破坏了类的封装性和隐藏性
32 单选题 32 / 49
下面程序的运行结果为( ) #include class A {public: A(){cout<<″1″;} ~A(){cout<″2″;}}; class B:public A {public: B(){cout<<″3″;} ~B(){cout<<″4″;}}; void main() {B b;}
A 1234 B 1324 C 1342 D 3142
查看答案 C. 1342
33 单选题 33 / 49
下列关于多态性的描述,错误的是( )
A C++语言中的多态性分为编译时的多态性和运行时的多态性 B 编译时的多态性可通过函数重载实现 C 运行时的多态性可通过模板和虚函数实现 D 实现运行时多态性的机制称为动态绑定
查看答案 C. 运行时的多态性可通过模板和虚函数实现
34 单选题 34 / 49
当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为( )
A ios::in B ios::out C ios::in|ios::out D 以上都不对
查看答案 D. 以上都不对
35 单选题 35 / 49
下面程序的输出结果是( ) #include class example { int a; public: example(int b){a=b++;} void print(){a=a+1;cout<<a<<=""></a< void print() const{cout<<a<<=""></a< }; void main() { example x(3); const example y(2); x.print(); y.print(); }
A 2 2 B 4 3 C 4 2 D 3 2
查看答案 C. 4 2
36 填空题 36 / 49
用树结构表示实体类型及实体间联系的数据模型称为【1】__ 。
查看答案 层次模型
37 填空题 37 / 49
数据流图的类型有【2】__ 和事务型。
查看答案 变换型
38 填空题 38 / 49
在最坏情况下,堆排序需要比较的次数为【3】__ 。
查看答案 O(nlog2n)
39 填空题 39 / 49
软件开发环境是全面支持软件开发全过程的【4】__ 集合。
查看答案 软件工具
40 填空题 40 / 49
冒泡排序算法在最好的情况下的元素交换次数为【5】__ 。
查看答案 0
41 填空题 41 / 49
C++语言标识符是以字母或【6】__ 开头的,由字母,数字和下划线组成的字符串。
查看答案 下划线
42 填空题 42 / 49
mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回,请填空。 int mystrlen(char *str) { int i; for(i=0;【7】__ !=′\0′;i++); return(i);}
查看答案 *(str+i)或str[i]
43 填空题 43 / 49
如果一个类中定义了成员对象,则该类的对象和成员对象先被初始化的是【8】__ 。
查看答案 类的成员对象
44 填空题 44 / 49
C++在重载运算符中,如用成员函数重载一元运算符参数表中需要【9】__ 个参数,如用友元函数重载一元运算符参数表中需要【10】__ 个参数。
查看答案 45 填空题 45 / 49
假设int a=1,b=2;,则表达式(++a/b)*b--的值为【11】__ 。
查看答案 2
46 填空题 46 / 49
C++语句const char *const p=″hello″;,所定义的指针p和它所指的内容都不能被【12】__ 。
查看答案 改变
47 填空题 47 / 49
对于下面定义的类MyClass,请在函数f( )中添加对象成员把n的值修改为50。 class MyClass { public: MyClass(int x){n=x;} void SetNum(int nl){n=nl;} private: int n; }; int f() { MyClass *ptr=new MyClass(45); 【13】__ }
查看答案 ptr->SetNum(50);
48 填空题 48 / 49
表达式operator+(x,y)还可以表示为【14】__ 。
查看答案 x+y
49 填空题 49 / 49
通过使用new和delete两个运算符进行的分配为【15】__ 存储分配。
查看答案 动态