计算机类 二级 C++
2010年全国计算机等级考试二级C++模拟试题(15)&笔试部分 48 题 含答案 C++
1 单选题 1 / 48
数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算,以及
A 数据的存储结构 B 计算方法 C 数据映象 D 逻辑存储
查看答案 A. 数据的存储结构
2 单选题 2 / 48
串的长度是
A 串中不同字符的个数 B 串中不同字母的个数 C 串中所含字符的个数且字符个数大于零 D 串中所含字符的个数
查看答案 D. 串中所含字符的个数
3 单选题 3 / 48
在计算机中,算法是指
A 加工方法 B 解题方案的准确而完整的描述 C 排序方法 D 查询方法
查看答案 B. 解题方案的准确而完整的描述
4 单选题 4 / 48
下列不属于软件工程的3个要素的是( )
A 工具 B 过程 C 方法 D 环境
查看答案 D. 环境
5 单选题 5 / 48
开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做
A 软件投机 B 软件危机 C 软件工程 D 软件产生
查看答案 B. 软件危机
6 单选题 6 / 48
下面不属于软件设计原则的是
A 抽象 B 模块化 C 自底向上 D 信息隐蔽
查看答案 C. 自底向上
7 单选题 7 / 48
开发大型软件时,产生困难的根本原因是
A 大系统的复杂性 B 人员知识不足 C 客观世界千变万化 D 时间紧、任务重
查看答案 A. 大系统的复杂性
8 单选题 8 / 48
下列SQL语句中,用于修改表结构的是
A ALTER B CREATE C UPDATE D INSERT
查看答案 A. ALTER
9 单选题 9 / 48
数据库、数据库系统和数据库管理系统之间的关系是
A 数据库包括数据库系统和数据库管理系统 B 数据库系统包括数据库和数据库管理系统 C 数据库管理系统包括数据库和数据库系统 D 3者没有明显的包含关系
查看答案 B. 数据库系统包括数据库和数据库管理系统
10 单选题 10 / 48
关系模型允许定义3类数据约束,下列不属于数据约束的是
A 实体完整性约束 B 参照完整性约束 C 域完整性约束 D 用户自定义的完整性约束
查看答案 C. 域完整性约束
11 单选题 11 / 48
C++语言中标点符号中表示一条预处理命令开始的是
A # B ; C * D {
查看答案 A. #
12 单选题 12 / 48
每个C++程序中都必须有且仅有一个
A 类 B 预处理命令 C 主函数 D 语句
查看答案 C. 主函数
13 单选题 13 / 48
sizeof(float)是
A 一个双精度型表达式 B 一个整型表达式 C 一种函数调用 D 一个不合法的表达式
查看答案 B. 一个整型表达式
14 单选题 14 / 48
设有int x=11;,则表达式(x++*2/3)的值是
A 7 B 8 C 11 D 12
查看答案 A. 7
15 单选题 15 / 48
设有程序段 int k=10; while(k=0)k=k-1; 则下面描述中正确的是
A 循环执行10次 B 无限循环 C 循环体语句一次也不执行 D 循环体语句执行一次
查看答案 C. 循环体语句一次也不执行
16 单选题 16 / 48
对表达式for(表达式1; ;表达式3)可理解为
A for(表达式1;0;表达式3) B for(表达式1;1;表达式3) C for(表达式1;表达式3;) D for(;;表达式3)
查看答案 B. for(表达式1;1;表达式3)
17 单选题 17 / 48
以下不正确的定义语句是
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};
18 单选题 18 / 48
有如下说明 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为9的表达式是
A *p+9 B *(p+8) C *p+=9 D p+8
查看答案 B. *(p+8)
19 单选题 19 / 48
下列函数的运行结果是 #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; }
A -1 B 1 C 2 D 编译出错,无法运行
查看答案 A. -1
20 单选题 20 / 48
以下对C++函数的有关描述中,正确的是
A 在C++语言中调用函数时,只能把实参的值传给形参,形参的值不能传送给实参 B C++函数既可以嵌套定义又可以递归调用 C 函数必须无返回值,否则不能使用函数 D 函数必须有返回值,返回值类型不定
查看答案 A. 在C++语言中调用函数时,只能把实参的值传给形参,形参的值不能传送给实参
21 单选题 21 / 48
关于静态数据成员的描述中正确的是
A 类的静态数据成员不是类的所有对象共享的数据 B 类的静态数据成员不能被类的成员函数调用 C 类的静态数据成员不能被类的构造函数调用 D 类的静态数据成员必须进行初始化
查看答案 D. 类的静态数据成员必须进行初始化
22 单选题 22 / 48
拷贝构造函数的参数一般是
A 某对象名 B 某对象成员名 C 某对象的引用名 D 指向对象的指针名
查看答案 C. 某对象的引用名
23 单选题 23 / 48
下表正确的是 在父类中的访问属性访问修饰符在子类中的访问属性
A publicprivate不能直接访问 B protectpublicpublic C privatepublic不能直接访问 D protectprivateprotect
查看答案 C. privatepublic不能直接访问
24 单选题 24 / 48
下面这个程序的结果是 #include class A { private: int a; public: void seta(); int geta(); }; void A::seta() {a = 1;} int A::geta() {return a;} class B { private: int a; public: void seta(); int geta(); }; void B::seta() {a = 2;} int B::geta() {return a;} class C : public A, public B { private: int b; public: void display(); }; void C::display() { int b = geta(); cout << b; } void main() { C c; c.seta(); c.display(); }
A 1 B 2 C 随机输出1或2 D 程序有错
查看答案 D. 程序有错
25 单选题 25 / 48
下列运算符中全都可以被友元函数重载的是
A = , + , - , \ B [] , +, (), new C -> , + , * , >> D << , >> , + , *
查看答案 D. << , >> , + , *
26 单选题 26 / 48
对于模板定义关键字class和typename说法不正确的是
A 程序中的class并不能都替换为typename B class和typename都可互相替换 C 程序中的typename都能替换为class D 程序中的部分class可以替换为typename
查看答案 B. class和typename都可互相替换
27 单选题 27 / 48
对于下面的程序 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();
28 单选题 28 / 48
以下程序的输出结果是 #include long fun( int n) { long s; if(n==1||n==2)s=2; else s=n-fun(n-1); return s; } void main(){ cout << fun (3); }
A 1 B 2 C 3 D 4
查看答案 A. 1
29 单选题 29 / 48
不合法的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)
30 单选题 30 / 48
有如下程序 #include void main() { char ch[2][5]={"6937","8254"},*p[2]; int i,j,s=0; for(i=0;i<2;i++)p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]>′\0′;j+=2) s=10*s+p[i][j]-′0′; cout << s; } 该程序的输出结果是
A 69825 B 63825 C 6385 D 693825
查看答案 C. 6385
31 单选题 31 / 48
下面叙述不正确的是
A 基类的保护成员在派生类中仍然是保护的成员 B 基类的保护成员在公有派生类中仍然是保护的 C 基类的保护成员在私有派生类中仍然是私有的 D 对基类成员的访问必须是无二义性
查看答案 A. 基类的保护成员在派生类中仍然是保护的成员
32 单选题 32 / 48
以下程序的输出结果是 #include void main() { char x=040; cout << (x<<1); }
A 100 B 80 C 64 D 32
查看答案 C. 64
33 单选题 33 / 48
下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,在划线处应填入的选项是 #include void main() { int a,b,t; cin >> a >> b; while() { if(a>b) { t=a;a=b;b=t;} cout << a << " " << b << endl; cin >> a >> b; } }
A !a=b B a!=b C a==b D a=b
查看答案 B. a!=b
34 单选题 34 / 48
对以下说明语句的正确理解是 int a[10]={6,7,8,9,10};
A 将5个初值依次赋给a[1]至a[5] B 将5个初值依次赋给a[0]至a[4] C 将5个初值依次赋给a[6]至a[10] D 因为数组长度与初值的个数不相同,所以此语句不正确
查看答案 B. 将5个初值依次赋给a[0]至a[4]
35 单选题 35 / 48
类A是类B的友元,类B是类C的友元,则下列说法正确的是
A 类B是类A的友元 B 类C是类A的友元 C 类A是类C的友元 D 以上都不对
查看答案 D. 以上都不对
36 填空题 36 / 48
长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为 __ 。
查看答案 n/2
37 填空题 37 / 48
用树型结构表示实体类型及实体间联系的数据模型称为 __ 。
查看答案 层次模型
38 填空题 38 / 48
类是一个支持集成的抽象数据类型,而对象是类的 __ 。
查看答案 实例
39 填空题 39 / 48
数据流图的类型有 __ 和事务型。
查看答案 变换型
40 填空题 40 / 48
当数据的物理结构(存储结构、存取方式等)改变时,不影响数据库的逻辑结构,从而不致引起应用程序的变化,这是指数据的 __ 。
查看答案 物理独立性
41 填空题 41 / 48
在C++语言的面向对象程序设计框架中, __ 是程序的基本组成单元。
查看答案 类
42 填空题 42 / 48
C++语言程序的注释可以出现在程序中的任何地方,一个注释以 __ 作为开始和结束的标记。
查看答案 /* */
43 填空题 43 / 48
以下程序的输出结果是 __ 。 #include void fun() { static int a=0; a+=2; cout << a << " "; } void main() { int cc; for(cc=1;cc<4;cc++) fun(); cout << endl;}
查看答案 2 4 6
44 填空题 44 / 48
用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。 st=(char*) __ ;
查看答案 malloc(11)或malloc(sizeof(char)*11
45 填空题 45 / 48
以下程序的输出结果是 __ 。 #include unsigned fun(unsigned num) { unsigned k=1; do{ k *=num%10;num/=10;} while (num); return k; } void main() { unsigned n=26; cout << fun(n)<< endl; }
查看答案 12
46 填空题 46 / 48
下列程序在构造函数和析构函数中申请和释放类的数据成员int *a,申请时使用形参b初始化a,请填空。 class A { public: A(int b); ~A(); private: int *a; }; A::A(int b) { __ ; } A::~A() { __ ; }
查看答案 47 填空题 47 / 48
C++语言中的多态性是在编译时通过 __ 和模板体现的,在运行时是通过 __ 体现的。
查看答案 48 填空题 48 / 48
将x+y*z中的"+"用成员函数重载,"*"用友元函数重载应写为 __ 。
查看答案 x. operator+(operator*(y,z))