答案:
1).10
第10题(1分)题号:
6429
当a=3,b=2,c=1;时,执行以下程序段后b=【1】.
if(a>b)a=b;
if(b>c)b=c;
elsec=b;
c=a;
答案:
1).1
第11题(1分)题号:
6484
设x=5>1+2,x的值为【1】.
答案:
1).1
第12题(1分)题号:
6379
C++语言表达式!
(3<6)||(4<9)的值是【1】.
答案:
1).1
第13题(1分)题号:
6381
C++语言表达式5>2>7>8的值是【1】.
答案:
1).0
第14题(1分)题号:
6488
设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为【1】.
答案:
1).1.0或1
第15题(1分)题号:
6523
已知x=2,y=2则表达式x*=y+8的值为【1】.
答案:
1).20
第16题(1分)题号:
6508
已知a=10,b=15,c=1,d=2,e=10,则表达式a++&&e++&&c++的值为【1】.
答案:
1).1
第17题(1分)题号:
6476
设i,j,k均为int型变量,则执行完下面的for循环后,k的值为【1】.
for(i=0,j=10;i<=j;i++,j--)
k=i+j;
答案:
1).10
第18题(1分)题号:
6554
在类中,成员的缺省权限是【1】有的.
答案:
1).私
第19题(1分)题号:
6471
设a、b、c为整型数,且a=2、b=3、c=4,则执行完以下语句:
a*=16+(b++)-(++c);
后,a的值是【1】.
答案:
1).28
第20题(1分)题号:
6401
intx=2,y=3,z=4;则表达式x+(y>!
z)的值为【1】.
答案:
1).3
━━━━━━━━━━━━━━━
二、判断共20题(共计20分)
━━━━━━━━━━━━━━━
第1题(1分)题号:
1481
每个C++程序的入口和出口都位于函数main()之中.
答案:
Y
第2题(1分)题号:
1602
若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是2.5.
答案:
N
第3题(1分)题号:
1482
从用户的使用角度,函数可以分为以下两种:
即系统库函数和用户自定义函数.
答案:
Y
第4题(1分)题号:
1535
字符串复制函数strcpy(字符数组1,字符数组2),字符数组1的长度应大于等于字符数组2的长度.
答案:
Y
第5题(1分)题号:
1506
数组元素在内存中占据一组地址连续的存储单元.
答案:
Y
第6题(1分)题号:
1592
若有inti=10,j=2;则执行完i*=j+8;后ⅰ的值为28.
答案:
N
第7题(1分)题号:
1514
二维数组初始化的方法是:
a[3][2]={2,4,6,8,10,12};
答案:
Y
第8题(1分)题号:
1620
对数组进行初始化chaa[]={'h','e','l','l','0'};则数组aa的长度是5.
答案:
Y
第9题(1分)题号:
1544
inta[10]={0,1,2,3};int*p;p=a;p=&a[2];*p+=a[0];此语句等价于语句a[2]=a[0]+a[2];.
答案:
Y
第10题(1分)题号:
1594
如果有一个字符串,其中第十个字符为'\n',则此字符串的
有效字符为9个.
答案:
N
第11题(1分)题号:
1622
表达x>20或x<-10的C++语言表达式是:
x>20|x<-10
答案:
N
第12题(1分)题号:
1603
inti表示取变量i的整数部分.
答案:
N
第13题(1分)题号:
1627
C++语言中数028是一个八进制数.
答案:
N
第14题(1分)题号:
1492
实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都...
答案:
Y
第15题(1分)题号:
1513
二维数组在内存中是按列存放的.
答案:
N
第16题(1分)题号:
1597
若有intⅰ=6,j=10;则执行完语句switch(i){case4:
j++;case5:
j--;case6:
j++;case...
答案:
N
第17题(1分)题号:
1606
3%5的值是3
答案:
Y
第18题(1分)题号:
1649
int*p=NULL;是正确的定义.
答案:
Y
第19题(1分)题号:
1515
二维数组初始化的方法是:
inta[3][2]={{2,4},{6,8},{10,12}};
答案:
Y
第20题(1分)题号:
1489
形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元.
答案:
Y
━━━━━━━━━━━━━━━━━
三、单项选择共30题(共计30分)
━━━━━━━━━━━━━━━━━
第1题(1分)题号:
3661
下列程序段的输出结果为().
#includevoidmain(){floatx=213.82631f;cout<<(int)x;}
A:
213.82
B:
213.83
C:
213
D:
214
答案:
C
第2题(1分)题号:
3672
以下字符串赋值中不正确的是().
A:
charstr[]="abcdefg";
B:
charstr[80];str="abcdefg";
C:
char*pstr="abcdefg"
D:
char*pstr=NULL;pstr="abcdefg";
答案:
B
第3题(1分)题号:
3559
若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是().
A:
a,point,*&a
B:
&*a,&a,*point
C:
*&point,*point,&a
D:
&a,&*point,point
答案:
D
第4题(1分)题号:
3595
以下不能正确进行字符串赋初值的语句是().
A:
charstr[5]="good!
";
B:
charstr[]="good!
";
C:
char*str="good!
";
D:
charstr[5]={'g','o','o','d'};
答案:
A
第5题(1分)题号:
3650
下列语句的结果是().
#includevoidmain(){intj;j=3;cout<<++j;cout<<","<A:
3,3
B:
3,4
C:
4,3
D:
4,4
答案:
D
第6题(1分)题号:
3454
若有以下定义:
chars='\032';则该语句().
A:
使s的值包含1个字符
B:
定义不合法,s的值不确定
C:
使s的值包含4个字符
D:
使s的值包含3个字符
答案:
A
第7题(1分)题号:
3429
下列数组说明中,正确的是().
A:
intarray[][4];
B:
intarray[][];
C:
intarray[][][5];
D:
intarray[3][];
答案:
A
第8题(1分)题号:
3576
下列选项中正确的语句组是().
A:
chars[8];s={"Beijing"};
B:
char*s;s={"Beijing"};
C:
chars[8];s="Beijing";
D:
char*s;s="Beijing";
答案:
D
第9题(1分)题号:
3603
以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是().
A:
chars[10]="abcdefg";
B:
chart[]="abcdefg",*s=t;
C:
chars[10];s="abcdefg";
D:
chars[10];strcpy(s,"abcdefg");
答案:
C
第10题(1分)题号:
3550
若有说明inta[3][4];则对a数组元素的正确引用是().
A:
a[2][4]
B:
a[1,3]
C:
a[1+1][0]
D:
a
(2)
(1)
答案:
C
第11题(1分)题号:
3527
假定int类型变量占用四个字节,其有定义:
intx[10]={0,2,4};,
则数组x在内存中所占字节数是().
A:
6
B:
12
C:
20
D:
40
答案:
D
第12题(1分)题号:
3765
下列哪个是C++语言的有效标识符?
A:
_No1
B:
No.1
C:
12345
D:
int
答案:
A
第13题(1分)题号:
3483
在C++语言中,if语句后的一对园括号中,用以决定分支的流程的表
达式().
A:
只能用逻辑表达式
B:
只能用关系表达式
C:
只能用逻辑表达式或关系表达式
D:
可用任意表达式
答案:
D
第14题(1分)题号:
3521
对以下说明语句inta[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
第15题(1分)题号:
3565
设以下变量均为int类型,则值不等于7的表达式是().
A:
(x=y=6,x+y,x+1)
B:
(x=y=6,x+y,y+1)
C:
(x=6,x+1,y=6,x+y)
D:
(y=6,y+1,x=y,x+1)
答案:
C
第16题(1分)题号:
3659
下列程序的输出结果为().
#includevoidmain(){intm=7,n=4;floata=38.4f,b=6.4f,x;x=m/2+...
A:
27
B:
27.5
C:
28
D:
28.5
答案:
A
第17题(1分)题号:
3512
inti,j,a[2][3];按照数组a的元素在内存的排列次序,不能将数
1,2,3,4,5,6存入a数组的是().
A:
for(i=0;i<2;i++)for(j=0;j<3;j++)a[i][j]=i*3+j+1;
B:
for(i=0;i<3;i++)for(j=0;j<2;j++)a[j][i]=j*3+i+1;
C:
for(i=0;i<6;i++)a[i/3][i%3]=i+1;
D:
for(i=1;i<=6;i++)a[i][i]=i;
答案:
D
第18题(1分)题号:
3507
inta[10];
给数组a的所有元素分别赋值为1、2、3、……的语句是().
A:
for(i=1;i<11;i++)a[i]=i;
B:
for(i=1;i<11;i++)a[i-1]=i;
C:
for(i=1;i<11;i++)a[i+1]=i;
D:
for(i=1;i<11;i++)a[0]=1;
答案:
B
第19题(1分)题号:
3605
以下定义语句中,错误的是().
A:
inta[]={1,2};
B:
char*a[3];
C:
chars[10]="test";
D:
intn=5,a[n];
答案:
D
第20题(1分)题号:
3543
若以下变量均是整型,且num=sum=7;则计算表达式sum=num++,sum++,++num后sum的值为().
A:
7
B:
8
C:
9
D:
10
答案:
B
第21题(1分)题号:
3561
设intx=1,y=1;表达式(!
x||y--)的值是().
A:
0
B:
1
C:
2
D:
-1
答案:
B
第22题(1分)题号:
3509
inta=1,b=2,c=3;
if(a>b)a=b;
if(a>c)a=c;
则a的值为().
A:
1
B:
2
C:
3
D:
不一定
答案:
A
第23题(1分)题号:
3656
下列程序的输出结果是().
#includevoidmain(){intx=1,y=0,a=0,b=0;switch(x){case1:
switch...
A:
a=1,b=0
B:
a=2,b=1
C:
a=1,b=1
D:
a=2,b=2
答案:
B
第24题(1分)题号:
3544
若有
chars1[]="abc",s2[20],*t=s2;cin>>t;
则下列语句中能够实现当字符串s1大于字符串s2时,输出s2的语句是().
A:
if(strcmp(s1,s1)>0)cout<B:
if(strcmp(s2,s1)>0)cout<C:
if(strcmp(s2,t)>0)cout<D:
if(strcmp(s1,t)>0)cout<答案:
D
第25题(1分)题号:
3400
C++语言的if语句嵌套时,if与else的配对关系是().
A:
每个else总是与它上面的最近的if配对
B:
每个else总是与最外层的if配对
C:
每个else与if的配对是任意的
D:
每个else总是与它上面的if配对
答案:
A
第26题(1分)题号:
3770
在c++程序开发环境中,经过下列()阶段后,会生成扩展名EXE的目标程序文件
A:
编辑
B:
预处理
C:
编译
D:
链接
答案:
D
第27题(1分)题号:
3587
一个C++程序的执行是从().
A:
本程序的main函数开始,到main函数结束
B:
本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C:
本程序的main函数开始,到本程序文件的最后一个函数结束
D:
本程序文件的第一个函数开始,到本程序main函数结束
答案:
A
第28题(1分)题号:
3516
表达式18/4*sqrt(4.0)/8值的数据类型为().
A:
int
B:
float
C:
double
D:
不确定
答案:
C
第29题(1分)题号:
3637
在C++语言中,一维数组的定义方式为:
类型说明符数组名().
A:
[常量表达式]
B:
[整型表达式]
C:
[整型常量]或[整型表达式]
D:
[整型常量]
答案:
D
第30题(1分)题号:
3583
下面四个选项中,均是不合法的用户标识符的选项是().
A:
AP_0do
B:
floatla0_A
C:
b-a3toint
D:
_123tempint
答案:
C
━━━━━━━━━━━━━━━━
四、程序填空共2题(共计16分)
━━━━━━━━━━━━━━━━
第1题(8分)题号:
302
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:
以下程序通过调用自定义函数scopy()将字符串s1复制到
字符串s2,并输出显示。
-------------------------------------------------------*/
#include
/***********SPACE***********/
voidscopy(【?
】,char*q)
{
while(*p!
='\0')
{
/***********SPACE***********/
【?
】
p++;
/***********SPACE***********/
【?
】
}
*q='\0';
}
voidmain()
{
char*s1="Nanjing,China";
chars2[20];
cout<<"\nThes1is:
"</***********SPACE***********/
【?
】
cout<<"\nThes2is:
"<}
答案:
1).char*p
2).*q=*p;
3).q=q+1;或q++;或q+=1;
4).scopy(s1,s2);
第2题(8分)题号:
96
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:
将字母转换成密码,转换规则是将当前字母变成其后的第
四个字母,但W变成A、X变成B、Y变成C、Z变成D。
小写字
母的转换规则同样。
-------------------------------------------------------*/
#include
voidmain()
{charc;
/***********SPACE***********/
while((c=【?
】)!
='\n')
/***********SPACE***********/
{if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))【?
】;
/***********SPACE***********/
if((c>'Z'【?
】c<='Z'+4)||c>'z')c-=26;
cout<}
cout<}
答案:
1).cin.get()
2).c+=4或c=c+4或c=4+c
3).&&
━━━━━━━━━━━━━━━━
五、程序改错共1题(共计8分)
━━━━━━━━━━━━━━━━
第1题(8分)题号:
290
/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
题目:
打印扬辉三角形
1
11
121
1331
13641
--------------------------------------------------------
注意:
不可以增加或删除程序行,也不可以更改程序的结构。
------------------------------------------------------*/
#include
voidmain()
{inta[5][5],i,j;
for(i=0;i<5;i++)
{
/***********FOUND***********/
a[i][1]=1;
a[i][i]=1;
for(j=1;j<=i-1;j++)
/***********FOUND***********/
a[i][j]=a[i-1][j-1]+a[i][j];
}
for(i=0;i<5;i++)
{
/***********FOUND***********/
for(j=0;j<5;j++)
/***********FOUND***********/
cout<cout<}
答案:
1).a[i][0]=1;
2).a[i][j]=a[i-1][j-1]+a[i-1][j];
3).for(j=0;j<=i;j++)
4).cout<
━━━━━━━━━━━━━━━━
六、程序设计共1题(共计6分)
━━━━━━━━━━━━━━━━
第1题(6分)题号:
256
/*------------------------------------------------
【程序设计】
--------------------------------------------------
题目:
利用冒泡法将10个数按降序排列
--------------------------------------------------
注意:
部分源程序给出如下。
请勿改动主函数main和其它
函数中的任何内容,仅在函数的花括号中填入所编
写的若干语句,只能用for循环。
-------------------