1、一、C++基础、变量、常量部分试题: (一)单项选择题 8. 由C++语言编写的代码程序( ) A. 可直接执行(.exe才能够直接执行 B. 是一61个源程序 C. 通过编译即可执行 (通过编译链接才能够执行) D. 通过编译解释才能执行 9. 按照C++语言要求的用户标识符命名规则,不能出目前标识符中的是( ) A. 大写字母 B. 中划线 C. 数字字符 D. 下划线 10. 下列选项中,不能用作标识符的是( ) A. _1234_ B. _1_2 C. int_2_ D. 2_int 11. 如下选项中合
2、法的用户标识符是( ) A. long(核心字) B. _2Test C. 3Dmax D. A.dat 12. 如下不能定义为用户标识符的是( ) A. Main B. _0 C. _int D. sizeof(运算符) 13. 列定义变量的语句错误的是( ) A. int _int; B. double int_; C. char For; D. float US?; 14. 在C++语言中,非法的字符常量是( ) A.‘\t’ B.‘\017’ C. "\n" D.‘\xaa’ 29.
3、如下程序的输出成果是()
void main()
{
int k=11;
cout< 4、 D.character
42.
是C++语言提供的合法核心字的是( )。
A.Float B.signed C.integer D.Char
43.
下列说法中,错误的是( )。
A.每个语句必须独占一行,语句的最后能够是一个分号,也能够是一个回车换行符号
B.每个函数都有一个函数头和一个函数体,主函数也不例外
C.主函数只能调用用户函数或系统函数,用户函数能够相互调用
D.程序是由若干个函数组成的,不过必须有、并且只能有一个主函数
(二)填空题
1.一个C源程序最少有并且只能有一个 main 5、 函数。
2. 如下程序运行后的输出成果是 1012a 。
#include 6、如下程序运行后的输出成果是 2 1 。
void main()
{ int a=1,b=2;
a=a+b;b=a-b;a=a-b;
cout< 7、则如下语句的功效是_互换变量x,y的值___。
x+=y; y=x-y; x-=y;
二、运算符部分试题:
(一)单项选择题
1.
如下程序的输出成果是( )
void main()
{
int a=1,b=2,c=3,d=4;
cout<<(a 8、
{ int a=3,b=4;
cout<<(a<=b)< 9、 D. 3.8
20.
设有语句:int a=3;则执行了语句a+=a-=a*a;变量a的值是( )
A. 3 B. 0 C. 9 D. -12
21.
设有语句:int x=10;则执行了语句x+=x-=x-x;变量x的值是( )
A. 10 B. 20 C. 40 D. 30
22.
如下程序的输出成果是( )
void main()
{
int i=10,j=1;
cout< 10、1 D. 10,1
23.
如下程序的输出成果是( )
void main()
{
int x=100,y=200;
cout<<(x,y)< 11、他三个体现式的值不相同的是( )
A. k++ B. k+=1 C. ++k D. k+1
26.
如下程序的输出成果是( )
void main()
{
int x,y,z;
x=y=1;
z=x++,y++,++y;
cout< 12、t;
x=y=3;
t=++x||++y;
cout< 13、<逻辑与运算符
B.逻辑与运算符<关系运算符<算术运算符<赋值运算符
C.赋值运算符<逻辑与运算符<关系运算符<算术运算符
D.算术运算符<关系运算符<赋值运算符<逻辑与运算符
48.
判断char型变量s是否为小写字母的正确体现式是( )。
A.’a’ <= s<=’z’ B.(s>=’a’) & (s<=’z’)
C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s)
49.
若希望当x的值为奇数时,体现式的值为“真”,x的值为偶数时,体现式的 14、值为“假”。则如下不能满足要求的体现式是( )。
A.x%2==1 B.!(x%2==0)
C.!(x%2) D.x%2
50.
已知 x=45, y=’a’, z=0; 则体现式(x>=z && y<’z’ || !y)的值是( )。
A.0 B.语法错
C.1 D.“假”
51.
执行如下语句后,y 的值为( 15、 )。
int x,y,z;
x=y=z=0;
++x || ++y && ++z;
A.0 B.1 C.2 D.不确定值
55.
则执行下面语句后的w值是( )。
void main()
{int a=1,b=2,c=3,d=4,w;
w=(a 16、如下程序运行后的输出成果是 。
main()
{
int x=,y=;
cout<<(x,y);
}
2. 如下程序运行后的输出成果是 D 。
void main()
{ char ch='B';
ch+=2;
cout< 17、6 。
#include 18、iostream.h>
void main()
{
int a=0,b=0,c=0;
c=(a+=a-=5),(a=b,b+3);
cout<
void main()
{
int a=5,b=4,c=3,x;
x=a>b>c;
cout< 19、id main()
{
int a=3,b=2;
b=a<0&&a++>3;
cout<
void main()
{
int x,a=1,b=2,c=3,d=4;
x=(a 20、值是____4____。
12. 定义int x=10,y,z; 执行y=z=x; x=y==z;后, x的成果是____1____。
三、流程控制语句部分试题:
(一)单项选择题
2.
void main()
{
int i;
for(i=0;i<3;i++)
{
switch(i)
{
case 0:cout< 21、 01 D. 120
7.
如下程序运行后的输出成果是 4 5 99 。
#include 22、e
cout< 23、 B. y=-1
C. y=1 D. while组成无限循环
44.
为了防止嵌套的if-else语句的二义性,C++语言要求else总是与( )组成配对关系。
A.缩排位置相同的if
B.在其之前未配正确if
C.在其之前未配正确最近的if
D.同一行上的if
47.
选择出合法的if语句(设int x,a,b,c;)( )。
A.if(a=b) c++;
B.if(a=b) c++;
D.if(a=>b) c++;
52.
已知int a=1,b=2,c=3; 24、如下语句执行后a,b,c的值是( )。
if(a>b)
c=a;
a=b;
b=c;
A.a=1, b=2, c=3 B.a=2, b=3, c=3
C.a=2, b=3, c=1 D.a=2, b=3, c=2
53.
请阅读如下程序:该程序( )。
void main()
{ int x=-10, y=5, z=0;
if (x=y+z) cout<<"***\n";
else cout<<"$$$\n";
}
A.有语法错不能通过编译
B.能够通过编译但 25、不能通过连接
C.输出***
D.输出$$$
54.
执行完下面一段程序后x的值是( )。
void main()
{ int a=1,b=2,c=4,d=3,x;
if (a 26、正确的?( )
A.
void main()
{int a=1,b=0,c1,c2,x,y;
switch (a+b);
{ case 1: y=a+b; break;
case 0: y=a-b; break;
}
}
B.
void main()
{int a=1,b=0,c1,c2,x,y;
switch a ( )
{ case c1: y=a-b; break;
case c2: x=a*b; break;
27、 default:x=a+b;
}
}
C.
void main()
{int a=1,b=0,c1,c2,x,y;
switch (a*a+b*b)
{ case 3:
case 1: y=a+b; break;
case 3: y=b-a; break;
}
}
D.
void main()
{int a=1,b=0,c1,c2,x,y;
switch (a*a+b*b)
{ default:y=a*b;break; 28、
case 3: x=a+b; break;
case 10:
case 11:y=a-b; break;
}
}
57.
假定等级和分数有如下对应关系:
等级:A 分数:85——100
等级:B 分数:60——84
等级:C 分数:60如下
对于等级grade输出对应的分数区间,能够完成该功效的程序段是( )。
A.
void main()
{
char grade;
cin>>grade;
switch (grade)
{
case 'A':cout<<"85-- 29、100\n";
case 'B':cout<<"60--84\n";
case 'C':cout<<"<60\n";
default:cout<<"grade is error!\n";
}
}
B.
void main()
{
char grade;
cin>>grade;
switch (grade)
{
case 'A':cout<<"85--100\n";
break;
case 'B':cout<<"60--84\n";
case 'C':cout<<"<60\n";
default:cout<<"grade is e 30、rror!\n";
}
}
C.
void main()
{
char grade;
cin>>grade;
switch (grade)
{
case 'A':cout<<"85--100\n";
break;
case 'B':cout<<"60--84\n";
break;
case 'C':cout<<"<60\n";
default:cout<<"grade is error!\n";
}
}
D.
void main()
{
char grade;
cin>>grade;
switch (grade 31、)
{
case 'A':cout<<"85--100\n";
break;
case 'B':cout<<"60--84\n";
break;
default:cout<<"grade is error!\n";
break;
case 'C':cout<<"<60\n";
}
}
58.
当执行如下程序段时,程序将( )。
void main()
{
int x=-1;
do
{x=x*x;}
while (!x);
}
A.循环体将执行一次 B.循环体将执行两次
C.循环体将 32、执行无数数次 D.系统将提示有语法错误
59.
若i,j已定义为int类型,则如下程序段中内循环的总的执行次数是 ( )。
for (i=5;i;i--)
for (j=0;j<4;j++)
{…}
A.20 B.24 C.25 D.30
60.
有如下语句:
i=1;
for(;i<=100;i++) sum+=i;
与以上语句序列不等价的有( )。.
A. for(i=1; ;i++) {sum+=i;if(i==100)break 33、}
B. for(i=1;i<=100;){sum+=i;i++;}
C. i=1;for(;i<=100;)sum+=i;
D. i=1;for(; ;){sum+=i;if(i==100)break;i++;}
61.
标有/**/的语句的执行次数是( )。
int y,i;
for(i=0;i<20;i++)
{if(i%2==0)continue;
y+=i;/**/
}
A.20 B.19 C.10 D.9
(二)填空题:
2. #include 34、> 0
void main()
{
int i,t=0;
for(i=5;i>=0;i--)
t*=i;
cout< 35、 输入c,输出成果是 pass 。
#include 36、<"warning\n";break;
default:cout<<"error\n";
}
}
5. 如下程序的功效是计算:1-2+3-4……+99-100
void main()
{ int i=1,j=1,s=0;
while( i<=100 )
{ s+= i*j ;
i++;
j=-j ; }
cout< 37、
int a;
cin>>a;
if (a>50) cout<40) cout<30) cout<>x;
if (【1】(x>2)&&(x<=10)) y=x*(x+2);
else if (【2】((x>-1)&&(x<=2))) y=1/x;
else 38、 if (x<=-1) y=x-1;
else 【3】y=-1;
if (y!= -1) cout< 39、ut<<” the converted letter is< 40、nclude 41、
B. int x[2][3]={{1,2},{3,4},{5,6}};
C. int x[][3]={{1,2,3},{4,5,6}};
D. int x[2][3]={1,2,3,4,5,6};
4.
如下能正确定义二维数组的是( )
A. int a[][3]; B. int a[][3]={2*3};
C. int a[][3]={}; D. int a[2][3]={{1},{2},{3,4}};
5.
设有char array[]="China";
则数组array所占的 42、空间字节数为( )
A. 4 B. 5 C. 6 D. 7
6.
对于如下定义正确的论述为( )
char x[]="abcdefg";
char y[]={'a','b','c','d','e','f','g'};
A. 数组x和数组y等价 B. 数组x和数组y的长度相同
C. 数组x的长度不小于数组y的长度 D. 数组x的长度不小于数组y的长度
33.
如下论述中正确的是( )
A. 能够在一个函数中调用另一个函数
B. 能够在一个函数中定义另一个函数
C. main()函 43、数必须放在其他函数之前
D. 所有被调用函数一定要在调用之前进行定义
34.
如下说法中正确的是( )
A. C++语言程序总是从第一个函数开始执行
B. 在C++语言程序中,要调用的函数必须在main()函数中定义
C. C++语言程序总是从main()函数开始执行
D. C++语言程序中的main()函数必须放在程序的开始部分
35.
如下程序的输出成果是( )
void main( )
{
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
cout<<*(p+2)< 44、 C. 1 D. 2
36.
如下程序的输出成果是( )
void main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
cout<<(*p+9)< 45、 D. 6
38.
如下不能正确进行字符串赋初值的语句是( )
A. char str[5]= "good!"; B. char str[]="good!";
C. char *str="good!"; D. char str[5]={'g','o','o','d','!'};
39.
如下程序的输出成果是( )
void main()
{ char str[]="ABCD",*p=str;
cout< 46、是( )
void main()
{ char str[]="aeiou",*p=str;
cout<<*(p+4)< 47、); B. int n=10,a[n];
C.int n; D. const int SIZE=10;
cin>>n; int a[SIZE];
int a[n];
64.
在C++语言中,引用数组元素时,其数组下标的数据类型允许是( )。
A. 整型常量
B. 整型体现式
C. 整型常量或整型体现式
D. 任何类型的体现式
65.
如下对一维数组m进行正确 48、初始化的是( )。
A. int m[10]=(0,0,0,0) ; B. int m[10]={ };
C. int m[ ]={0}; D. int m[10]=10*2;
66.
若有定义:int bb[ 8];。则如下体现式中不能代表数组元bb[1]的地址的是( )。
A. &bb[0]+1 B. &bb[1] C. &bb[0]++ D. bb+1
67.
假定int类型变量占用两个字节,其有定义:int 49、x[10]={0,2,4};,则数组x在内存中所占字节数是( )。
A. 3 B. 6 C. 10 D. 20
68.
执行下面的程序段后,变量k中的值为( )。
int k=3, s[2];
s[0]=k; k=s[1]*10;
A. 不定值 B. 33 C. 30 D. 10
69.
如下程序的输出成果是( )
void main()
{
int i, a[1 50、0];
for(i=9;i>=0;i--) a[i]=10-i;
cout<2][!1] D. a[2][0]
71.
若有定义:int b[3][4]={0};则下述正确的是( ) 。
void main()
{






