1、 C++期中考试试题 一、 选择题(20*1) 1.设有说明“int a = 3,b = 5,m;”,则执行表达式“m = a<=3&& a+b<8”后,m的值为 。 A.tree B.false C.0 D.1 2.设有说明“int x=5, y=7, z=8;”,执行表达式“z += x++||y++||++z”后,则x、y、z的值分别为 。 A.6、7、9 B.6、8、10 C.6、8、8 D.6、8、1 3.设有以下语句序列: int x; cin>>x; float z, y[x]={1,2,3,4,5,6,7,8}; //A
2、 z=v[3]; //B 则以下说法中正确的是 。 A.z的值为4 B.z的值为3 C.B行语句错 D.A行语句错 4.有关函数重载的正确说法是 。 A.函数名不同,但参数的个数和类型相同 B.函数名相同,但参数的个数不同或参数的类型不同 C.函数名相同,参数的个数和类型也相同 D.函数名相同,函数的返回值不同,而与函数的参数和类型无关 5.数组作为函数的形参时,把数组名作为实参,传递给函数的是 。 A.该数组的首地址 B.该数组的元素个数 C.该数组中的各元素值
3、 D.该数组的大小 6.执行以下语句序列: enum {Red,Blue,Yellow}cl,c2;cl=YeHow; //A cout << cl; //B 则 。 A.输出1 B.输出2 C.输出3 D.B行语法错 7.设有说明语句“int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; int * p=&a[0][0];”,能够正确表示数组元素a[2][2]的表达式是 。 A.p[2][2] B.*(*(p+2)+2) C.*(p+10) D.*(p+8) 8.在循环语句的循环体中
4、使用break语句的作用是 。 A.结束本次循环 B.结束该层的循环 C.结束开关语句 D.结束程序执行 9.设有说明语句“int A[4][3]={{1,2},{3,4,5},{6,7,8},{9,10}};”,则A[0][2]和A[2][2]的初始化值分别为 。 A.0、7 B.3、8 C.3、7 D.0、8 10.设有语句“float(*p)(int,int);”,该语句的作用是 。 A.函数原型说明 B.p为指向函数的指针变量 C.函数定义 D.p为指向整数的指针变量 11.循环语句for(<表达式1>;<表达式2>;<表达式
5、3>)<语句>中,<语句>的执行情况是 。 A.至少执行一次 B.至少执行两次 C.可能执行,也可能不执行 D.不执行 12.设有函数定义“int f1(void){return 100,200;}”,设用函数f1()时, 。 A.函数返回值100 B.函数返回两个值100和200 C.函数返回值200 D.语句“return 100,200;”语法错,不能调用函数 13.设有语句“int fun(char*,int &);char str[100];int k;”,则对函数fun的正确的调用形式是 。 A.fun(str, &k
6、) B.fun (str, k) C.fun(str[100], k) D.fun(str[100], &k) 14.执行下列程序段后,变量i的值为 。 int i = 10; switch(i) { case 9: i+=1; case 10: i+=1; case 11: i+=1; default: i+=1; } A. 13 B.12 C.11 D.14 15.设有语句“for(int i=5, sum=0; i<10, sum++; i++)sum+=i;”,则for()语句
7、的执行情况是 。
A.循环0次 B.循环4次 C.循环5次 D.循环6次
16.设有说明“int x[]={1,2,3,4,5}, *p=x;”,输出值不是5(数组x的元素个数)的是 。
A.cout< 8、 B.char s2[6]="string";
C.static int a[4]={1}; D.char * p[]={"A","B","C"};
18.在数学式中,变量x和y的取值为整数,而变量a和b的取值为实数,在C++程序中对应的正确表达式是 。
A.3/5*x*y/a/b B.3*x*y/5/a/b
C.3*x*y/5*a*b D.3/a/b/5*x*y
19.编译以下程序时,结果是 。
#include 9、
{cout< 10、 。
3.设有语句“char s[]="China\0Nanjin";int m=strlen(s);”,则m的值是 。
4.若有宏定义:
# define T(x,y,z) x*y*z/4
则表达式T(3+4,2*4,4+4)的值是 。
5.以下语句输出结果为 。
int a = 10;
int b = 6;
int cbit = a | b;
int clogic = a || b;
cout << cbit << “\n” << clogic << “\n” ;
6.v 11、ector 12、< ' ' << b << endl;
}
8.以下程序输出的第一行是 ,第二行是 。
int f(int x=0)
{
static int t = 10; //A
int a = 10; //B
t += 5; a += 5;
return x * a + t; //C
}
void main(void)
{
cout< 13、b){int t=a;a=b;b=t;}
void main(void)
{int x=100,y=200; f(x, y); cout< 14、t a=1,b=1;a<=5;a++)
{ if(b>=8) break;
if(b%2==1){b+=7;continue;}
b-=3;
}
cout<<"a="< 15、void)
{ static int a,b=10,c=1;
a+=b;b+=c;return c=a+b;
}
void main(void)
{ cout< 16、 {
switch(i)
{
case 1:
case 2:j=(*fun)(i,i+1);break;
case 3:j=(*fun)(i-1,i+2);break;
}
cout<<"j="< 17、e std;
vector






