A. sizeof(a)/sizeof(int) B. sizeof(a)/sizeof(a[0]) C. sizeof(p)/sizeof(int) D. sizeof(a)/sizeof(1)
63、设有int a[ ]={10,11,12},*p=&a[0];则执行完*p++;*p+=1;后a[0],a[1],a[2]的值依次是( )。
A.10,12,12 B.10,11,12 C.11,11,12 D.11,12,12 64、下列关于类和对象的叙述中,错误的是( )。
A. 一个类只能有一个对象 B. 对象是类的具体实例
C. 类是对某一类对象的抽象 D. 类和对象的关系是一种数据类型与变量的关系 65、有如下类声明: class XA { int x;
public:
XA(int n) { x=n; } };
class XB: public XA { int y;
public:
XB(int a, int b); };
在构造函数XB的下列定义中,正确的是( )。 A. XB::XB(int a,int b): x(a),y(b) {} B. XB::XB(int a,int b): XA(a),y(b) {} C. XB::XB(int a,int b): x(a),XB(b) {} D. XB::XB(int a,int b): XA(a),XB(b) {} 66、下列类的定义正确的是(D )。
A. class a { int x=0; int y=1; } B. class b { int x=0; int y=1; }; C. class c { int x; int y; } D. class d { int x; int y; }; 67、若有如下类定义,则下列关于输出结果叙述正确的是(C )。 class S {
int x; public:
S ( ) { x=0; }
S (int a) { x=++a; }
void show( ) { cout<<“x=”< void main( ) { S s1=100; s1.show( ); } A. 有语法错 B. x=100 C. x=101 D. x=0 68、在C++中,结构体与类的唯一区别是( C)。 A. 结构体只能声明数据成员,而类能声明数据成员和成员函数 翰林·百特 6 B. 结构体中不可以有虚函数,而类中可以有虚函数 C. 结构体中成员的默认访问权限是public,而类中的是private D. 结构体中不允许有析构函数,而类中可以有析构函数 69、下列叙述不正确的是( C)。 A. 类的构造函数可以有多个 B. 类中没有参数的构造函数称为缺省构造函数 C. 类中缺省的构造函数可以有多个 D. 类中各参数均有缺省值的构造函数称为缺省构造函数 70、以下有关构造函数的叙述不正确的是( D )。 A. 构造函数名必须和类名一致 B. 构造函数在定义对象时自动执行 C. 构造函数无任何函数类型 D. 在一个类构造函数有且仅有一个 二、基本概念填空题 1、C++语言程序执行的入口是_______。 2、C++源文件扩展名为____ ____。 3、执行以下语句段后,i的值为_______。 int i=1, a=3, b=2; i= (--a==b++) ? -a : ++b ; 4、执行以下语句段后,d的值是_______,c的值是_______。 int a=3, b=4, c=2, d; d=ab; 5、设有定义int x,y; x=1.2; y=(1.2+3.8)/5.0; 则y的值为______。 6、执行语句:int a=5,b=6,c;c=!a&&b++; 后,变量b的值为______。 7、设有语句:int a=5,b=4,c=2,m; 则表达式的值m=a>b!=c为____。 8、 已知字母A的ASCII码为十进制数65,D为字符型变量,则D=’A’+’9’-‘4’的值为_______。 9、语句cout<<”ABC\\0EF”;的输出结果为_ ______。 10、执行语句cout<<\后,输出结果为_____。 11、对于switch(t),表达式t只能是_____ _____或枚举型表达式。 12、设有语句: int i=10,j=10; if ( j=0 ) i=i*i; else i=i+j; 执行以上语句后i的值为___ ____。 13、continue语句只能出现在__ _____语句中。 14、在C++中,函数参数传递方式有三种,分别是传值传递、_ ______传递和_______传递。 15、设有函数调用f((e1,e2),(e3,e4,e5));则实参个数为_______个。 16、定义内联函数的方法是在函数的返回值类型前面加关键字_______。 17、对于无返回值的函数,必须以_______作为类型修饰符。 18、函数中的形参和调用时的实参都是数组名时,传递方式为_______。 19、静态字符型变量的缺省初值为_______。 20、在缺省情况下,整型静态数据成员的初值为________。 翰林·百特 7 21、C++中编译预处理包括:文件包含、________和条件编译。 22、若有宏定义# define s(x) x*x-x,设int k=3; 问cout< 25、若有“int a[3][4]”,则sizeof(a)的值是________。 26、执行以下语句: int a[5]={25,14,27,18},*p=a; (*p)++; 则*p的值为_______,再执行语句:*p++; 则*p的值为_______。 27、C++语言中数组元素的访问方式有两种,即:_______。 28、程序中使用new运算符动态分配的内存空间,必须用_______来释放。 29、若有定义struct s{int x,y[2];}stru; union u{int a;char b;}un; 则在32位机系统下sizeof(stru)+sizeof(un)= _______B。 30、若有定义enum week{sun,mon,tue,wed,thu,fri,sat} day1=wed; 则语句cout< 31、在定义一个类时,缺省的构造函数是唯一的。当自定义的构造函数的每一个参数均有缺省值或_______时,这种构造函数是缺省的构造函数。 32、若希望类中的成员只能被该类的成员函数及该类的派生类中的成员函数访问,则应加上访问权限________________。 33、类继承中,缺省的继承方式是________。 34、假定A为一个类,则语句A(A &x);是此类________构造函数的原型说明。 35、class test{ public: static int x; } t1,t2; t1.x = 25; 程序运行到这里时,t2.x的值为_______。 三、阅读程序题 1、执行以下程序时,程序的输出结果为 。 输入一行字符串为:Thank you very much! #include cout< 2、下列程序的第一行输出为_________,第二行输出为________。 #include cout<<(::a-=--a)<<’\\n’; } void main() 翰林·百特 8 { int a=10; for(int cc=-10; cc< 3、下列程序的第一行输出为_________,第二行输出为________。 #include { static int a; cout<<(a=2+a++)< void main( ) { int cc; for (cc=0; cc<2; cc++ ) fun(); } 4、下列程序的输出结果是_________。 #include { int a[2][3], *p, i; p=&a[0][0]; for(i=0; i<6; i++) p[i]=i+1; for(i=0; i<2; i++) *a[i]=p[i]+1; cout< 5、下列程序的第一行输出为_________,第二行输出为_________。 #include { int a=10,y=0; do { a+=2; y+=a; if(y>100) break; else if (y>40) continue; cout< 6、下列程序的输出结果是___________。 #include { if(n==0||n==1) a[n]=2; else a[n]=n+fun(a,n-1); cout< 翰林·百特 9 } void main( ) { int a[6]={1,2,3,4,5,6}; fun(a,5); } 7、下列程序输出的结果是__________。 #include void main() { cout< 8、下列程序输出的结果是__________。 #include for (k=7;k>=0;k--) { switch (k) { case 1: case 4: case 7:s++;break; case 2: case 3: case 6:break; case 0: case 5:s+=2;break; } } cout<<\} 9、下列程序输出的结果是__________。 #include double f2(double (*f)(double x),int a) { int x; double sum=0; for(x=a;x 翰林·百特 10