二级C++选择题专项强化真题试卷10
选择题
1.下列关于文件流的描述中,正确的是( )。
A) 文件流只能完成针对磁盘文件的输入和输出
B) 建立一个文件流对象时,必须同时打开一个文件
C) 若输入流要打开的文件不存在,将建立一个新文件
D) 若输出流要打开的文件不存在,将建立一个新文件(D)
A.
B.
C.
D.
解析:
2.有如下程序:
#include<iostream>
using 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(B)
A.
B.
C.
D.
解析:
3.关系表中的每一横行称为一个(A)
A. 元组
B. 字段
C. 属性
D. 码
解析:关系表中,每一行称为一个元组,对应表中的一条记录;每一列称为表中的一个属性,对应表中的一个字段;在二维表中凡能惟一标识元组的最小属性集称为该表的键或码。
4.关于C++语言与C语言关系描述中错误的是(D)
A. C++语言是C语言的超集
B. C++语言对C语言进行了扩充
C. C++语言包含C语言的全部语法特征
D. C++语言与C语言都是面向对象的程序设计语言
解析:C语言是一种面向过程的程序设计语言,而C++语言是一种面向对象的设计语言,C++语言是C语言的超集,它包含了C语言的所有语言特性,并进行了扩充。
5.下面程序的结果是
#include
class A
{
int a;
public:
A():a (1){}
void showa(){cout<<a;}
};
class B
{
int a;
public:
B():a (2){}
void showa(){cout<<a;}
};
class C:public A, public B
{
int a;
public:
C():a (3){}
void showa(){cout<<a;}
};
void main()
{
C c;
c.showa();
}(C)
A. 1
B. 2
C. 3
D. 程序有错误
解析:类A,类B,中都有showa()函数,类C继承后再次重写showa()函数就解决了继承的二义性,这时c.showa()函数显示的就是类C中的showa()的值。
6.判断char型变量c是否为小写字母的正确表达式是(D)
A. a’<=c<=’z’
B. (c>=A) &&(c<=z)
C. (’a’>=c)||(’z’<=c)
D. (c>=’a’)&&(c<=’z’)
解析:字符型数据在计算机内部是以ASCII码存储的,英文大写字母和小写字母在ASCII码表中都是连续的。大写字母A~Z是从65~90,小写字母a~z是从97~122。所以只要变量c大于等于a并且等于小于z就能保证其为小写字母。
7.有如下程序: #include<iostream> using namespace std; class Demo { public: Demo(){ cout<<\\(C)
A. 1和1
B. 1和2
C. 2和3
D. 2和4
解析:
8.下列字符串中,正确的C++标识符是(D)
A. foo-1
B. 2b
C. new
D. -256
解析:标识符只能由大小写字母,下划线和数字组成,只允许字母或下划线开头,不允许使用系统的关键字作为标识符。
9.有如下程序: #include<iostream> using namespace std; int main() { cout.fill(’*’) cout.width(6); cout.fill(’#’) cout<<123<<endl; return 0; } 执行后的输出结果是(A)
A. ###123
B. 123###
C. ***123
D. 123***
解析:cout函数的fill()方法用来填充不足宽度:width()用来指定输出宽度。
10.有如下程序: #include <iostream> #include <iomanip> using namespace std; int main() { cout.fill(’*’); cout << left << setw(4) << 123 << \\(A)
A. 123*OK
B. 123*OK**
C. *123OK
D. *123**OK
解析:本题考查了输出流的格式控制。cout的fill()方法的作用是设置填充字符,若输出数据宽度小于设置宽度,则空闲位置用填充字符填满。left和endl是C++预定义的用于格式控制的符号常量,前者使输出数据在指定宽度内左对齐,后者使输出换行。setw()函数的作用是设置输入输出宽度,不过宽度设置的效果只对一次输入或输出有效,在完成了一个数据的输入或输出后,宽度设置自动恢复为0(表示按数据实际宽度输入输出)。所以在本题中,输出整数123时宽度为4且左对齐,空出最后一位填入填充字符’*’,结果是123*:输出字符串\\
11.if语句的语法格式可描述为: 格式1:if(<条件>)<语句> 或 格式2:if(<条件>)<语句1>else<语句2> 关于上面的语法格式,下列表述中错误的是(A)
A. <条件>部分可以是一个if语句,例如if(if(a==0)…)…
B. <语句>部分可以是一个if语句,例如if(…)if(…)…
C. 如果在<条件>前加上逻辑非运算符!并交换<语句1>和
本文档预览:3600字符,共10528字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载