C程序设计模拟试题
- 格式:docx
- 大小:38.95 KB
- 文档页数:18
C++ 程序设计模拟试题
、选择和填空:
1. C++程序的基本单位是()
A. 程序行 B. 语句 C. 函数 D. 字符
2. 假设所有变量均为整型.则表达式(a=4,b=6,a++,a+b的值是
3. 下列程序段运行后x的值是: ____________
a=b=c=0;
x=35;
if (!a) x--;
else if (b);
if ( c) x=3;
else x=5;
4. 若有定义 : float w;
int a, b;
则合法的 switch 语句是
A. switch(w)
{ case 1.0: cout<<"*\\n"; case 2.0: cout<<"**\\n";
}
B. switch(a);
{ case 1 cout<<"*\\n"; case 2 cout<<"**\\n";
}
C. switch(b)
{ case 1: cout<<"*\\n";
default: cout<<"\\n";
case 1: cout<<"**\\n";
}
D. switch(a+b)
{ case 1: cout<<"*\\n";
case 2: cout<<"**\\n"; default: cout<<"\\n";
}
5. 有以下程序段
int k=0;
while(k=1) k++;
while 循环执行的次数是
A. 无限次 B.有语法错,不能执行 C. 一次也不执行
6. ________________________________ 下面程序的输出结果是:
void main() { int y=9;
for( ; y>0; y--)
{ if(y%3==0)
{ cout<<- -y;continue;}
} D. 执行 1 次 }
7. 关于内嵌函数,以下说法正确的是 :
A. 内嵌函数中可以存在循环结构和 SWITCH结构.
B. 内嵌函数可以在调用之后定义,只要在调用前声明即可 .
C. 使用内嵌函数可节省函数调用与返回时的开销,能够提高程序的运行速度
D. 内嵌函数可长可短.
8. 下列程序的输出结果是: ____________
int rfact(int n) { int c;
if (n==1) c=1;
else c=n*rfact(n-1);
return ( c );}
void main( ) {cout<
9. 以下程序的输出的结果是 : _________
int x=3;
void incre( )
{ static int x=1;
x++; cout<
}
void main( )
{ int i;
for (i=1;i<=x;i++)
incre( );
}
10. 请选出以下程序的输出结果 : __________
#define MIN(x,y) (x)<(y)? (x):(y)
void main()
{ int i,j,k;
i=10; j=15;}
k=10*MIN(i,j);
cout<
11若有下面的说明和定义,贝U sizeof (ua和sizeof(aa)的值分别是 _____________
struct aa
{ short r1; double r2; float r3; union uu { char u1[5];
long u2[2];
} ua;
}mya;
12. 合法的数组定义是
A. int a[ ]=”string”
C. char a=”string”
13. 若有以下说明:
int w[3][4]={{0,1},{2,4},{5,8}};
int (*p)[4]=w;
贝数值为 4 的表达式是
A. *w[1]+1 B. p++, *(p+1)
14. 设有说明语句 int (*ptr)[m]; 其中的标识符 ptr 是
A. m 个指向整型变量的指针
B. 指向m个整型变量的函数指针
C. 一个指向具有m个整型元素的一维数组的指针
D. 具有m个指针元素的一维指针数组,每个元素都只能指向整型变量
15. 若有以下说明:
int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a;
贝数值为 6 的表达式是
A . *p+6 B. *(p+6) C. *p+=5 D. P+5
16. 有如下程序
# 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<
D. char a[ ]={0,1,2,3,,4,5}
C.w[2][2] D. P[1][1] 该程序的输出结果是
17. 下面程序的输出是 # include sub1(char a, char b) {char c; c=a;
a=b; b=c;} sub2(char *a, char b) {char c; c=*a; *a=b; b=c;} sub3(char *a, char *b)
{char c; c=*a; *a=*b; *b=c;} void main() { char a,b;
a='A '; b='B'; sub3(&a,&b); cout<
cout<
}
A. BABBAB B. ABBBBA
C. BABABA D. BAABBA
18. struct sk {int a; float b;} data, *p;
若有p=&data,则对data中的a成员的正确引用是
A. (*P).data B.(*p).a C. p->data.a D. p.data
19. 以下程序的输出结果是 ___________
# include
fun(int n,int *s) { int f1,f2;
if(n==1||n==2) *s=1;
else
{ fun(n-1,&f1); fun(n-2,&f2); *s=f1+f2; } } void main() { int x; fun(6,&x);
cout<
20. 以下程序的输出结果是 ___________
# include
main()
{ char *s="12134211"; int v[4]={0,0,0,0},k,i; for(k=0;s[k];k++) { switch(s[k])
{ case '1':i=0;
case '2':i=1;
case '3':i=2;
case '4':i=3;
}
v[i]++;
} for(k=0;k<4;k++) cout<
}
21. ________________________________________ 在C++类中,一个保护成员是通过关键字 ____________________________________ □以说明的
A.virtual B. protected C. public D.protect
22. 每个类( )构造函数。
A.只能有一个B.只可有公有的C.可以有多个D.只可有缺省的
23. 假定一个类的构造函数为 A(int aa,int bb){a=aa--;b=a*bb--;}, 则执行
A x(8,9);语句后,x.a和x.b的值分别为 ________________ 24. 类的释放函数是在什么时间被自动调用的 ?
A.类创建时 B.创建对象时 C.删除对象时D.不自动调用
25. 若派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定
是基类中的 ( )
A.私有成员 B.公有成员 C.保护成员 D.保护成员或私有成员
26. 在C++中,对于基类的public成员,当以protected方式派生一个新类时,该
成员将成为派生类的 _____ 成员。
A.private B.protected C.public D.非法
27. C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是 ()
A. 增加了一些新的运算符
B. 允许函数重载,并允许设置缺省参数
C. 规定函数说明符必须用原型
D. 引进了类和对象的概念
28. 继承机制的作用是
A.信息隐藏 B.数据圭寸装 C.定义新类 D.数据抽象
29. 下列哪一个不是类的特性()
A.多态性 B.继承性 C.封装性 D.虚拟性
30若类丫是类X的友元类,则下列哪种访问关系是正确的
A. 类 Y 的成员不能访问类 X 的私有成员
B. 类丫的成员可以访问类X的私有成员
C. 类X的成员可以访问类丫的私有成员
D. 只有类X的公共成员才能访问类丫的私有成员
31、在每个C++S序中都必须包含有这样一个函数,该函数是整个应用程序的入
口,该函数的函数名为 ____________ 。
32、设x和y均为bool量,则x&&y为假的条件是 ______________ 。
A.它们均为真 B.其中一个为真
C.它们均为假 D.其中一个为假
33、 下面的哪个保留字不能作为函数的返回类型? ____________ 。