一、单项选择题(共15题,每题 1 分) 1. 下列数据中不合法的C++实数是(). A、3e-5 B、 .6 C、5. D、6 2. 下列数据中合法的c++字符常量是(). A、’as’ B 、”a” C、’123’ D、’\\\\’ 3. 表达式33/5的结果为()。
A、6 B、6.6 C、7 D、以上都不对
4. 设有定义:int a[6]={1,2,3,4,5,6},*p=a; 则表达式*p++的值为()。 A、1 B、2 C、3 D、以上结果都不对 5. 下列程序段中循环体执行的次数为(). int k=10; while (k==1)k=k-1;
A、循环体语句一次都不执行 B 、循环体语句执行无数次 C、循环体语句执行一次 D、循环体语句执行9次 6. 下列符号属于C++语言用户标识符的是().
A、DO B、if C、void D、switch 7. 任意一个类,析构函数的个数最多是 ( ).
A、不限个数 B、1 C、2 D、3 8.()函数是Windows应用程序开始执行时的入口点。
A、WinMain() B、Win() C、Main() D、Windows() 9. 在C++程序中,对象之间的相互通信可以通过()实现。
A、继承B、调用成员函数D、函数重载 C、封装 10. 类的析构函数的作用是()。
A、一般成员函数的初始化 B、类的初始化C、对象的初始化 D、删除类创建的对象 11. 函数重载的正确叙述是函数名相同,但()不相同。 A、函数的参数个数或参数的类型不同 B、函数的返回值的类型不同 C、函数体不同,与参数的个数及类型无关 D、满足A和B 12. 执行以下程序段后,变量i 的值为()。 int i=2; switch (i)
{case 1: i+=10; case 2:i+=10; case 3:i++; break; default :i++; break; }
A、24 B、14 C、12 D、13
13. 在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是()。
A、友元函数 B、虚函数 C、构造函数 D、析构函数 14. 在C++程序中关于函数的定义和调用的说法正确的是()。 A、函数的定义可以嵌套,而函数的调用不可以嵌套。 B、函数的定义不可以嵌套,而函数的调用可以嵌套。
C、函数的定义和嵌套都可以嵌套。D、函数的定义和调用都不可以嵌套。 15. 下面说法错误的是()。
A、在基类定义的public成员在公有继承的派生类中可见,也能在类外被访问。
1
B、在基类定义的public和protected成员在私有继承的派生类中可见,在类外可以被访问。 C、在基类定义的public 和protected 成员在保护继承的派生类中是可见的。 D、以上说法都错误。
二、填空题 (共30个空,共30 分)
1. 设int a=3,b; 则执行表达式 b=3*a++后,a= ,b= 。 2. 结构化程序设计的三种基本结构为、、。 3. 若有int a=10,b=20,c=30 ; 则执行程序段
if(a>b) a=b;b=c;c=a; 后a = b= c= 。 4. 类的访问限定符包括、和。 5. 运算符重载时,其函数名由和该运算符构成。成员函数重载双目运算符时,左操作数是,右操作数是该函数的参数。
6. 表达式x+a%3*(int)(x+y)%2/4 的结果为 (设x=2.5, y=4.7, a=7)。 7. 判断一个年份(year)是否是润年的条件为。 8. C/C++定义了4个内存区间:、、和。
9. 设有n1=1,n2=2,n3=3,n4=4,x=0,y=0,则求解表达式(x=n1 for(i=0;i<10;i++,sum+=i); 11. 执行下面程序段后,m= ,k= 。 intm,k; for(k=1,m=0;k<=50;k++) { if(m>=10) break; if(m%2==0) { m+=5; continue; } m-=3; } 12. 数组定义时有三个要素:数组名,数组元素的和数组元素的。 13. 模板是为了实现代码的,它把数据类型改为一个,称为参数化程序设计。模板包括和。 三、程序分析题(共4 题,每题5 分,共20 分) 1. 以下程序的运行结果是 _________ #include m=i+j; i++; j++; n=i*j; a++; cout<<\"i=\"<cout<<\"m=\"< 2 cout<<\"a=\"<2. 以下程序的运行结果是_________ #include virtual void fn(){ cout<<\"In Base class\\n\"; } }; class Sub : public Base {public: virtual void fn(){ cout<<\"In Sub class\\n\"; } }; void test(Base& b) { b.fn();} int main() { Basebc; Sub sc; test(bc); test(sc);} 3. 以下程序的运行结果是_________ #include if (n= =0 ||n= =1) t=1; else t=n*fun (n-1); return(t);} void main( ) {int a; A= fun (6);