28.以下对C++语言函数的有关描述中,正确的是( ) A.在C++语言中调用函数,只能把实参的值传给形参,形参的值不能传送给实参 B.C++语言函数既可以嵌套定义又可以递归调用 C.函数必须无返回值,否则不能使用函数 D.函数必须有返回值,返回值类型不定 【参考答案】 A 29.拷贝构造函数的参数一般是( ) A.某对象名 B.某对象成员名 C.某对象的引用名 D.指向对象的指针名 【参考答案】 C 30.下面这个程序的结果是( ) #include class A { private: int a; public: void seta();int geta();}; void A::seta() { a=1;} int A::gate() { return a;} class B { private: int a; public: void seta();int geta();}; void B::seta() {a=2;} int B::geta() {return a;} class C:public A,public B { private: int b; public: void display();}; void C::display() { int b=geta(); cout< void main() C c; C.seta(); C.display();} A.1 B.2 C.随机输出1或2 D.程序有错 【参考答案】 D 31.对于模板定义关键字class和typename说法不正确的是( ) A.程序中的class并不能都替换为typename B.class和typename都可互相替换 C.程序中的typename都能替换为class D.程序中的部分class可以替换为typename 【参考答案】 B 32.以下程序的输出结果是( ) #include long fun(int n) { long s; if(n==1||n==2)s=2; else s=n-fun(n-1); return s; } void main() { cout< A.1 B.2 C.3 D.4 【参考答案】 A 33.有如下程序 #include void main() { char ch[2][5]={″6937″,″8254″},*p[2]; int i,j,s=0; for(i=0;i<2;i++)p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]>′\0′;j+=2) s=10*s+p[i][j]-′0′; cout< 该程序的输出结果是( ) A.69825 B.63825 C.6385 D.693825 【参考答案】 C 34.以下程序的输出结果是( ) #include void main() { char x=040; cout<<(x<<1);} A.100 B.80 C.64 D.32 【参考答案】 C 35.对以下说明语句的正确理解是( ) int a[10]={6,7,8,9,10}; A.将5个初值依次赋给a[1]至a[5] B.将5个初值依次赋给a[0]至a[4] C.将5个初值依次赋给a[6]至a[10] D.因为数组长度与初值的个数不相同,所以此语句不正确 【参考答案】 B
|