1、程序设计试卷34 一、单项选择题(总分 21) 1。 (分值:1.0 分)下列语句中错误的是( )。 A: if (a〉b) cout〈〈a; B: if (&&) ; a=m; C: if (1) a=m; else a=n; D: if (a>0) ; else a=n; 序号:155 难度:1 考查点:程序控制结构 2. (分值:1。0 分)当需要打开A 盘上的xxk。dat 文件用于输入时,则定义文件流对象的语 句为( )。 A: fstream fin(R A:\\xxk.datR ); B: ofstream fin(R A:\\xxk.datR );
2、C: ifstream fin(R A:\\xxk。datR ,ios::app); D: ifstream fin(R A:\\xxk。datR ,ios::nocreate); 序号:253 难度:1 考查点:输入输出流 3。 (分值:1。0 分)运行下列程序结果为( )。 #include 〈iostream。h> int main( ) { cout。width(6); cout.fill(’*’); cout 〈〈 'a’<<1 << endl; return 0; } A: *****a*****1 B: *****a1 C: a*****1*****
3、 D: a*****1 序号:258 难度:1 考查点:输入输出流 4. (分值:1.0 分)n 目运算符的含义是______。 A: 对n 个数据进行操作 B: 对n 个数据进行加法 C: 对n 个类型进行整合 D: 对3 个类型进行转换 序号:322 难度:1 考查点:C++基础知识 5。 (分值:1.0 分)与delete 最相关的关键字是( )。 A: namespace B: new C: enum D: struct 序号:334 难度:1 考查点:指针 6. (分值:1.0 分)下列标识符正确的是________。 A: 1asd B: _swe
4、 C: R swe D: @aws 序号:343 难度:1 考查点:C++基础知识 7. (分值:1.0 分)有以下类定义:
class A〈/p〉{private: int y; int z;〈/p〉};〈/p〉类B 是类A 的公有派生类,在类B 中不能正确使 用的语句是( )。 A: x=5; B: y=6; C: z=7; D: 都不能 序号:355 难度:1 考查点:继承与派生 8。 (分值:1。0 分)下面正确的说法是________。 A: 关键5、字virtual 只能用来声明虚函数 B: 声明虚函数时,才使用关键字virtual C: 关键字virtual 不能用来声明虚基类 D: 关键字virtual 能用来声明虚基类 序号:389 难度:1 考查点:多态性与虚函数 9。 (分值:1.0 分)一个函数为 void f(int, char ch='a’),另一个函数为 void f( int ),则它们 ( )。 A: 不能在同一程序中定义 B: 可以在同一程序中定义并可重载 C: 可以在同一程序中定义,但不可以重载 D: 其他三种说法均不正确 序号:428 难度:1 考查点:重载 10。 (分值:1。0 分)
6、有以下类定义:〈/p〉class A
{public:class B : public A〈/p〉{ void f1(){ cout<〈3;}};f1();语句,输出3 B: 执行:p=&b; p-〉f2();语句,输出4 C: 执行:p7、b; p—〉f1();语句,输出2 D: 执行:p=&b; p-〉f2();语句,输出1 序号:435 难度:1 考查点:多态性与虚函数 11。 (分值:1.0 分)在C++中,运算对象必须为整型数的运算符是( ).〈/p> A: % B: / C: * D: %和* 序号:441 难度:1 考查点:C++基础知识 12。 (分值:1.0 分)下列变量定义中合法的是( ).
8、度:1 考查点:C++基础知识 13. (分值:1。0 分)已知教师记录的描述为:〈/p> struct teacher
int id;〈/p〉 char name[20]; struct { int y; int m; int d;} birth;〈/p〉 }t;9、 〈/p> A: 对象的继承 B: 对象的封装 C: 对象的分类 D: 对象的多态 序号:493 难度:1 考查点:类与对象 15。 (分值:1。0 分)关于C++和C 语言的描述中,错误的是( ).
D: C 语言和C++都是面向对象的 序号:511 难度:1 考查点:C++基础知识 16。 (分值:1。0 分)下述静态数据成员的特征中,( )是错误的。〈/p> A: 说明静态数据成员时前边要加修饰符static B: 静态数据成员要在10、类体外进行初始化〈/p> C: 引用静态数据成员时,要在静态数据成员名前加〈类名〉和作用域运算符
float a[][4];float a[3][]={{1},{0}}; B: float a(3,4);float a[3][4];float a[][]={{0},{0}}; C: float a[3][4];〈/p11、〉float a[][4]={{0},{0}};〈/p>float a[][4]={{0},{0},{0}};〈/p〉 D: float a[3][4];〈/p〉float a[3][];〈/p〉float a[][4];
序号:562 难度:1 考查点:数组 18。 (分值:1.0 分)如果类A 继承了类B,则类A 称为( ). A: 基类 B: 派生类 C: 虚基类 D: 没有关系 序号:573 难度:1 考查点:继承与派生 19。 (分值:1。0 分)( )使一个函数可以定义成对许多不同数据类型完成同一个任务. A: 函数模板 B: 重载函数 C12、 递归函数 D: 模板函数 序号:591 难度:1 考查点:模板 20. (分值:1。0 分)以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是 ( ). A: char s[10]=”abcdefg"; B: char t[10]=”abcdefg", *s=t; C: char s[10]; s=”abcdefg”; D: char s[10]; strcpy(s, ”abcdefg”); 序号:657 难度:1 考查点:数组 21. (分值:1。0 分)以下程序段的结果是( ).
if ( ++m || ++n )〈/13、p〉 cout <〈 m 〈〈 "," 〈< n <〈 endl;
A: 0,0 B: 1,1 C: 1,0 D: 0,1 序号:681 难度:1 考查点:C++基础知识 二、填空题(总分 44) 1.(分值:2。0)有如下循环语句: for(int i=50; i〉20; i—=2) cout<} 序号:29 难度:2 考查点:程序控制结构 6。(分值:2.0)对于派生类的构造函数,在定义对象时构造函数的执行顺序为:先执行调用 基类的构造函数,再执行调用对象成员的构造函数,最后执行派生类的构造函数体中的内容。 序号:290 难度:1 考查点:继承与派生 7。(分值:2。0)定义一个函数名为fun,返回值为int,没有参数的纯虚函数的定义是virtual int fun()=0 或 virtual int fun()=0;。 序号:2918、4 难度:1 考查点:多态性与虚函数
8。(分值:6。0)若一个3 位整数的各位数字的立方和等于1099,则称该数为A 数,求全部
A 数之和.〈/p>#include
19、 ( m = a; m <= b; m++ ) { m1 = m%10 或 m—m/10*10 ; //求三位数的个位 m2 = (m / 10) % 10; //求三位数 的十位
m3 = m/100; //求三位数的百位void main(){ number ob;〈/p> ob.mn(100,999); ob.print(); } 序号:311 难度:3 考查点:类与20、对象
9。(分值:2。0)模板声明中的第一个符号总是关键字template。
序号:319 难度:1 考查点:模板
10。(分值:2。0)while(!x!=0){.。。}循环结构中的循环条件的含义是x==0。
序号:361 难度:1 考查点:程序控制结构
11.(分值:2。0)有以下程序:〈/p>#include
21、502 难度:1 考查点:函数 12.(分值:6.0)下面程序的功能是将字符串s 的所有字符传送到字符串t 中,要求每传递 三个字符后再存放一个空格,例如字符串s 为"abcdefg”,则字符串t 为”abc def g”,请选择填 空。
using namespace std;〈/p〉void main( ) int j, k=0;〈/p> char s[60]="abcdefg”, t[100], *p;〈/p> p=s;〈/p> while(*p) {22、p; j++, k++, p++ 或 p=p+1 或 ++p 或 p+=1) t[k]=*p;
}〈/p〉 t[k]=0;〈/p〉 cout<23、结果是07。 序号:528 难度:1 考查点:指针 14。(分值:2.0)若有定义:〈/p〉struct AA 〈/p>{〈/p〉 int a;
char b; }x;则x 占用空间大小为13 字节。 序号:543 难度:1 考查点:自定义数据类型 三、问答题(总分 25) 1.(分值:5。0 分)阅读程序,写出运行结果。int a=2;}void24、 main()〈/p>{
fun(); cout<〈a<〈endl;〈/p〉}〈/p> 参考答案: 2611 序号:102 难度:1 考查点:函数 2。(分值:5.0 分)写出以下程序的输出结果:#include25、 main()〈/p>{ 〈/p〉 char s[]="AB+bc=deEF", *p=s;〈/p> while ( *p )
参考答案: ab+bc=deef 序号:144 难度:1 考查点:指针 3。(分值:5。0 分)阅读以下程序:using namespace std;public:〈/p> A( );〈/p> A(in26、t i, int j);
A::A( ) { a=5; b=10; }{ 写出程序运行后a1.a 与a2.b 的值.(答案格式:a1.a 空格a2。b,例如:3 5)〈/p> 参考答案27、 5 18
void main() { int a,b,c,s; a=10;b=2;c=11; s=a+b〉c; cout<〈s; } 参考答案: 1 序号:53 难度:2 考查点:程序控制结构 5。(分值:5。0 分)请写出下面程序运行的结果。 #include28、for(k=0;k<3;k++)
cout〈〈a[k][2-k]<