试题_C++题[90分钟][选择20道、填空5道、改错4道、编程2道]
1表示对,0表示
C++单选题12有以下程序
void main( )
{
int k=4,n=0;
for(; n; n++)
{
if(n%3!=0)
continue;
k--;
}
printf("%d,%d\n",k,n);
}
程序运行后的输出结果是
_______。
4,0;2,2;3,3;4,4
C++单选题12若有以下定义和语句
struct student
{
int age;
int num;
};
struct student stu[3]=
{{1001,20},{1002,19},{1003
,21}};
main()
{
struct student *p;
p = stu;
...
}
则以下不正确的引用是
___________。(p++)->num;p++;;(*p).num;;p =&stu.age;
C++单选题12设x,y,t都是int型变量,则执
行语句后
x =5;
y =3;
t = ++x ||++y;
y的数值为( )
5;6;3;4
C++单选题12设有int a[]={10,11,12},
int*p=&a[0];则执行完串
p++;*p+=1;后a[0],
a[1],a[2]的值依次是10,11,12;11,12,12;10,12, 12;11,11,12
C++单选题12设有int i,j,k;则表达式
i=1,j=2,k=3,i&&j&k的值
为
1;2;3;5
C++单选题12设有int i;则执行i=1;
++i;i++||i++语句后;i的
值为
1;2;3;4
C++单选题12设有程序段
int k=10;
while(k=0)k=k-1;则下面
描述中正确的是while循环执行10次;循环是无限循环;循环体语句一次也不执行;循环体语句执行一次
C++单选题12设有说明int s[2]={0,1},
int*p=s;则下列错误的C语
句是_
s+=1;;p+=1;;*p++;;(*p)++;
C++单选题12不能作为重载函数的调用的依
据是( )参数个数;参数类型;函数返回类型;参数顺序
C++单选题12抽象类指的是()。没有任何成员的类;只有成员函数没
有数据成员的类;有虚函数的类;有
纯虚函数的类
C++单选题12当一个类的某个函数被说明为
virtual时,该函数在该类的
所有派生类中( )都是虚函数;只有被重新说明时才是虚函数;只有被重新说明为virtual 时才是虚函数;都不是虚函数
C++单选题12对以下const的使用方法不正
确说明是:( )
(1)const int* AA();
(2)int BB(int*const
pa);
(3)int CC(const int*
pa);
(4)int D::DD(void)
const;(1)的作用是防止AA函数返回的int*被修改;;(2)的作用是防止在BB函数内参数pa的值被修改;;(3)的作用是防止在CC函数内参数*pa的值被修改;;(4)的作用是防止DD函数在执行过程中修改DD类的数据成员或者调用非const函数;
C++单选题12宏定义的宏展开是在
_________阶段完成的。
预处理;编译;预处理前;运行C++单选题12宏定义由( )结束分号;句号;新行;冒号
C++单选题12假定A为一个类,
class A
{
public:
int number;
A():number(0){}
A(int a)
{
number = a;
}
~A(){}
};
int func(A&);
则执行了
“ A a(4);
A b[4];
A *p[5];
func(a);”
语句后,调用该类构造函数的
次数为( )5;6;11;14
C++填空题12___类只能作为基类使用,而
不能声明它的对象。
C++填空题14进行函数重载时,被重载的同
名函数如果都没有用const修
饰,则它们的形参___或___必
须不同。
C++填空题12通过一个___对象只能调用它
的常成员函数,不能调用其他
成员函数。
C++填空题12函数的递归调用是指函数直接
或间接地调用___。
C++填空题12拷贝构造函数的形参必须是
___。
C++改错题14下面的程序类B的定义中有一
处错误,请用下横线标出错误
所在行并说明错误原因。
# include<iostream.h>
# include<string.h>
class A{
C++改错题14用下横线标出下面程序main函
数中的错误所在行,并说明错
误原因。
# include<iostream.h>
class Location{
private:
C++改错题14找出以下程序中错误,并说明
错在何处?
template<class Type C++改错题16找出以下程序中错误,并说明
错在何处?
#include<iostream.h C++编程题115已知String类定义如下:
class
String{public:String(const
C++编程题115用函数对象实现:计算3+6
+9+…+3n>70000的最
小n值。(C++题)
p 指向的字符串为"Aello World"指向的字符串为"Hello World"不能通过编译p 指向的字符串为"A"检查编写程序中的大小写问题检查编写程序中是否有未闭合的大括号检查是否在程序最开始包含了预编译头文件(stdaf x.h)检查是否有未定义的变量名5.0+2.0和5.0+2 5.0+2.0和5+2.0 5.0+2.0和5+25+2.0和5.0+2Ab aa Aa Bb
题只能是1或
A4,02,23,34,4
D(p++)-
>num p++;(*p).n
um;
p=&stu
.age;
C5634
C10,11,1
211,12,
12
10,
12, 12
11,11,
12
A1235 D1234
C while循
环执行
10次循环是
无限循
环
循环体
语句一
次也不
执行
循环体
语句执
行一次
A s+=1;p+=1;*p++;(*p)++
;
C参数个
数参数类
型
函数返
回类型
参数顺
序
D没有任
何成员
的类只有成
员函数
没有数
据成员
的类
有虚函
数的类
有纯虚
函数的
类
A都是虚
函数只有被
重新说
明时才
是虚函
数
只有被
重新说
明为
virtua
l时才
是虚函
数
都不是
虚函数
A(1)的作
用是防
止AA函
数返回
的int*
被修改;(2)的
作用
是防
止在
BB函
数内
参数
pa的
值被
修
改;
(3)的
作用
是防
止在
CC函
数内
参数
*pa的
值被
修
改;
(4)的
作用
是防
止DD
函数
在执
行过
程中
修改
DD类
的数
据成
员或
者调
用非
const
函
数;
A预处理编译预处理
前
运行C分号句号新行冒号
a561114
抽象
个数;类型;
常;
自身;
本类对象的引用;
第12行错,因为在
类B中,name是由
类A私有成员继承
来的,不能在派生
类中被直接访问.
第24行
x=A1.X;y=A1.Y;
错,因为main函
数不能访问对象
A1的私有成员.
参数Type a,b应改
为 Type a ,Type b
base类中应声明
数据成员m:
private : int
shougong
shougong
计算题
编程题
论述题
名词解释题案例分析题判断题
多选题