23.假定x=10,y=6,则表达式2+x++和++y*3的值分别为_13___和___21__。
24.算术表达式对应的c++表达式为_(x*x+y*y)/(2-x*y)_。
25.算术表达式对应的c++表达式为__x*y*y/3*a+4*b-1__。
26.表达式float(25)/4和int(14.6)%5的值分别为_6.25___和___4__。
27.表达式a=a+b表示成复合赋值表达式为__a+=b___。
28.表达式a=a+l表示成增量表达式为__a++或++a_____。
29.增量表达式++y表示成赋值表达式为___y=y+1或y+=1___。
30.关系表达式(x==0)的等价表达式为_____x!
=1____。
31.关系表达式(x!
=0)的等价表达式为__x=1__。
32.关系表达式x+y>z的相反表达式为_____x+y!
>Z或_x+y<=Z____。
33.逻辑表达式x>5&&x<10的相反表达式为____x<=5||x>=10___。
34.逻辑表达式a>b||b==5的相反表达式为____a<=b&&b!
=5______。
35.若x=15,y=40,则x>y和x<=y的逻辑值分别为____0___和__1___。
36.假定x=5,则执行”a=(x?
10:
4*2);”语句后a的值为___10__。
37.假定a=5,则条件表达式”a==0?
10:
20”的值为____20___。
38;执行”typedefintDataType;”语句后,在使用int定义整型变量的地方都可以使
用DataType来定义整型变量。
39.设x和y均为bool量,则x&&y为真的条件是_x=ture,y=ture____。
40.设x和y均为bool量,则x||y为假的条件是_x=false,y=false___。
1.假定一个一维数组的定义为”char*a[5];”,则该数组所含元素的个数为____5___所占存储空间的字节数为____6____.
2.假定一个二维数组的定义为”inta[4][6];”,则该数组所含元素的个数为___24_____,所占存储空间的字节数为____96_。
3.假定一个二维数组的定义为”chara[8][8];”,则该数组所含元素的个数为_64___,所占存储空间的字节数为__64__。
4.执行”typdeffloatABC[10];”语句把ABC定义为具有10个单精度元素的__数组_。
5.在函数外定义的变量称为___全局__变量,若没有被初始化则系统隐含对它赋初值0__。
6.函数中的形参变量的初值由调用函数调用该函数时获得。
7.函数调用时,实参向形参的传送分为_传值__和_传址___两种传送方式。
8.变量分为全局和局部两种,局部_变量没有赋初值时,其值是不确定的。
1.假定P所指对象的值为28,p+1所指对象的值为62,则*p++的值为__28___。
2.假定p所指对象的值为28,P+l所指对象的值为62,则*++p的值为__62__。
3.假定p所指对象值为25,p+l所指对象的值为50,则执行”(*p)++;”语句后,p所指对象的值为_25___。
4.假定p所指对象的值为25,p+1所指对象的值为50,则执行”*(p++);”语句后,p所指对象的值为_50__。
5.假定a是一个指针数组,则a+i所指对象的地址比a地址大_i*sizeof(a[0])_字节。
6.假定a是一个一维数组,则a[i]的指针访问方式为____*(a+i)__。
7.假定a是一个二维数组,则a[i][j]的指针访问方式为___*(a[i]+j)___。
8.假定a是一个一维数组,则a[i]对应的存储地址(以字节为单位)为&a[0]+i*sizeof(a[0][0])_。
9.假定一个二维数组为a[M][N],则a[i][j]对应的存储地址(以字节为单位)为_&a+(i*4j)*sizeof(a[0][0])。
10.假定一个二维数组为a[M][N],则a[i]的地址值(以字节为单位)为&a[0][0]+(i*aj)*sizeof(a[0][0])。
11.假定p是一个指向float型数据的指针,则p+l所指数据的地址比p所指数据的地址大4_字节。
12.假定a为一个字符数组名,则元素a[8]的字节地址为_&a+8_。
13.假定a为一个整型数组名,则元素a[4]的字节地址为__&a+16___。
14.假定一个结构类型的定义为”structA{inta,b;shortc;A*d;};”,则该类型的大小为10_字节。
15.假定一个结构类型的定义为”structB{inta[8];char*b;”,则该类型的大小为33字节。
16.假定一个结构类型的定义为”structD{inta;union{intb;doublec;}
D*d[3];};”则该类型的大小为__12_字节。
17.假定要动态分配一个类型为Worker的具有n个元素的数组,并由r指向这个动态数组,则使用的语句为_worker*r=new(worker[n]_。
18.假定要访问一个结构x中的由a指针成员所指向的对象,则表示方法为_&a→对象。
19.假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为
p→b→对象。
1.在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类的__构造函数_使其初始化。
2.当—个类对象被撤消时将自动调用该类的__析构函数____。
3.对基类数据成员的初始化是通过执行派生类构造函数中的__构造函数____来实现的。
4.对一个类中的数据成员的初始化可以通过构造函数中的_赋值__实现,也可以通过构造函数中的_初始化表__实现。
5.在一个派生类中,对基类成员、类对象成员和非类对象成员的初始化次序是先_基类对象__,后数对象成员_,最后为_非类成员_。
6.当撤消一个含有基类和类对象成员的派生类对象时,将首先完成_派生类对象_的析构函数定义体的执行,接着完成_类对象__的析构函数定义体的执行,最后完成__基类__的析构函数定义体的执行。
7.设px是指向一个类动态对象的指针变量,则执行”deletepx;”语句时,将自动调用该类的__析构函数__。
8.当一个类对象离开它的作用域时,系统将自动调用该类的_析构函数__。
9.假定一个类对象数组为A[N],当离开它的作用域时,系统自动调用该类析构函数的次数为_N___。
10.假定AB为一个类,则执行”ABa[10];”语句时,系统自动调用该类构造函数的次数为10__。
11.假定用户没有给一个名为AB的类定义构造函数,则系统为其隐含定义的构造函数为无参构造函数__。
12.假定用户没有给一个名为AB的类定义析构函数,则系统为其隐含定义的析构函数为_空析构函数_。
13.若需要把一个函数”voidF();”定义为一个类AB的友元函数,则应在类AB的定义中加入一条语句:
_friendclassF()_。
14.若需要把一个类AB定义为一个类CD的友元类,则应在类CD的定义中加入一条语句:
__friendclassAB。
15.假定一个类AB中有一个静态整型成员bb,在类外为它进行定义并初始化为0时,所使用的语句为_AB:
:
bb=0_。
16.假定类AB中有一个公用属性的静态数据成员bb,在类外不通过对象名访问该成员bb的写法为___thisbb____________。
17.当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为__n-1__。
18.假定AB为一个类;则该类的拷贝构造函数的声明语句为__AB(AB&对象)__。
19.对类对象成员的初始化是通过执行构造函数中的_赋值语句__完成的。
20.对于类中定义的成员;其隐含访问权限为__私有____,对于结构中定义的成员,其隐含访问权限为_共有___。
21.一个类的友元函数或友元类能够通过成员操作符访问该类的_所有成员(数据成员+函数成员)_。
22.假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为:
_ABoperator+(AB&AB&)____。
23.在C++流类库中,根基类为_ios___。
24.在C++流类库中,输入流类和输出流类的名称分别为istream__和__ostream___。
25.若要在程序文件中进行标准输入输出操作,则必须在开始的#inlude命令中使用__头文件。
26.若要在程序文件中进行文件输入输出操作,则必须在开始的#include命令中使用___头文件。
27.当从字符文件中读取回车和换行两个字符时,被系统看作为一个换行符_。
28.当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为读取ios:
:
in_,当使用ofstrean流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为_ios:
:
out_________
29.当需要使用istrsteam流类定义一个流对象并联系一个字符串时,应在文件开始使用
#include命令,使之包含__。
二、写出下列程序运行后的输出结果
1.#include
voidSB(charch){
switch(ch){
case‘A’:
case‘a’:
Cout<<“well!
”;break;
Case‘B’:
case‘b’:
Cout<<“good!
”;break;
Case‘C’:
case‘c’:
cout<<“pass!
”;break;
default:
cout<<“bad!
”;break;good!
Pass!
Bad!
Well!
}
}
voidmain(){
chara1=‘b’,a2=‘C’,a3=‘f’;
SB(a1);SB(a2);SB(a3);SB(‘A’);
cout<}
2.#include
#include
doubleSD(inta,intb,charop){
doublex;
switch(op){
case‘+’:
x=double(a)+b;break;
case‘-’:
x=double(a)-b;break;8.0240.03.2
case‘*’:
x=doubel(a)*b;break;
case‘/’:
if(b)x=double(a)/b;
elseexit
(1);break;
default:
exit
(1);}
returnx;}
voidmain(){
intx=20,y=12;
cout<cout<cout<}
3.#include
voidmain(){
ints=0;
for(inti=l;i<6;i++)
S+=i*i;
cout<<“s=”<
}
4.#include
voidmain(){
ints=0;
for(inti=1;;i++){
if(s>50)breeak;
if(i%3==0)s+=i;
cout<<“i,s=”<
}i,s=19,63
5.#include
voidmain(){
ints1=0,s2=0;
for(inti=0;i<10;i++)
if(i%2)s1+=i;
elses2+=i;
cout<}2520
6.#include
voidmain(){
intn=10,y=1;
while(n--){y++;++y;}
cout<<“y*y=”<}y*y=441
二、给出下列程序运行后的输出结果
1.#include
voidmain(){
inta[10]={12,39,26,41,55,63,72,40,83,95};
inti0=0,i1=0,i2=0;
for(inti=0;i<10;i++)
switch(a[i]%3){
case0:
i0++;break;
case1:
i1++;break;
case2:
i2++;}
cout<}424
2.#include
#include
voidmain(){
chara[5]={“student”,”worker”,”cadre”,”apple”,”peasant”};
char*pl,*p2;
pl=p2=a[0];
for(inti=0;i<5;i++){
if(strcmp(a[i],pl)>0)pl=a[i];
if(strcmp(a[i],p2)<0)p2=a[i];
}
cout<}
3.#include
voidmain(){
inta[8]={36,73,48,14,55,40,32,66};
intbl,b2;
bl=b2=a[0];
for(inti=l;i<8;i++)
if(a[i]>bl){
if(bl>b2)b2=bl;
bl=a[i];
}
cout<}
4.#include
voidmain(){
chara[]=“aabcdaabacabfgacd”;
intil=0,i2=0,i=0;
while(a[i]){
if(a[i]==‘a’)il++;
if(a[i]==‘b’)i2++;
i++;
}73
cout<}
5.#include
voidnain(){
chara[]=“abcdabcabdaeaf”;
intb[5]={0},i=0;
while(a[i]){
switch(a[i]){
case‘a’:
b[0]++;break;
case‘b’:
b[l]++;break;
case‘c’:
b[2]++;break;
case‘d’:
b[3]++;break;
default:
b[4]++;
}
i++;
}
for(i=0;i<5;i++)cout<
}53222
6.#include
voidmain(){
inta[10]={76,83,54,62,40,75,80,92,77,84};
intb[4]={60,70,90,101};
intc[4]={0};
for(inti=0;i<10;i++){
intj=0;
while(a[i]>=b[j])j++;
c[j]++;
}
for(i=0;i<4;i++)cout<cout<}2201
7.#include
voidmain(){
inta[3][4]={{1,2,7,8},{5,6,11,12},{24,10,3,4}};
intm=a[0][0];
intii=0,jj=0;
for(inti=0;i<3;i++)
for(intj=0;j<4;j++)
if(a[i][j]>m){m=a[i][j];ii=i;jj=j;}
cout<}2024
8.#include
voidmain(){
inta=10,b=20;
cout<{a*=43
intb=a+35;
cout<}4075
cout<}
二、给出下列程序运行后的输出结果
1.#include
voidmain(){
inta[8]={7,9,ll,13,3,8,15,17};
int*p=a;
for(inti=0;i<8;i++){
cout<if(i+1)%4==0)cout<}381517
}
2.#inelude
voidmain(){
inta[5]={3,6,15,7,20};
int*p=a;
for(inti=0;i<5;i++)
cout<cout<for(i=0;i<5;i++)
cout<cout<}2071563
3.#include
voidmain(){
inta[8]={4,8,12,16,20,24;28,32};
int*p=a;
do{
cout<<*p<<‘‘;
p+=3;
}while(pcout<}
4.#include
voidmain(){
intx=20,y=40,*p;
p=&x;cout<<*p<<‘‘;
*p=x+10;
p=&y;cout<<*p<*p=y+20;cout<}3060
5、#include
intLA(int*a,intn){
ints=0;
for(inti=0;is+=a[i];
returns;
}
voidmain(){
inta[]={5,10,15,20,25,30};
intb=LA(a,5);
intc=LA(a+3,2);
cout<
}
6.#include
voidLC(inta,intb){
intx=a;
a=b;b=X;
cout<}
voidmain(){
intx=15,y=36;
LC(x,y);cout<}1536
7.#include
vo