C++语言程序设计复习文档格式.docx
- 文档编号:5670933
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:48
- 大小:46.11KB
C++语言程序设计复习文档格式.docx
《C++语言程序设计复习文档格式.docx》由会员分享,可在线阅读,更多相关《C++语言程序设计复习文档格式.docx(48页珍藏版)》请在冰点文库上搜索。
=.&
.*=D.&
=.%.=
8.已知x,y为整型,z为实型,ch为字符型,下列表达式中合法的是()
A.z=(y+x)++B.x+y=zC.y=ch+xD.y=z%x
9.若有变量定义”inta=7;
”,则下列语句组对应的输出结果是()
switch(a%5)
{case0:
a++;
case1:
++a;
case2:
a--;
case3:
--a;
default:
cout<
”其它值”;
A.其它值B.5C.7D.75其它值
10.执行下列程序段后,变量K的值为()
for(k=0,m=1;
m<
4;
m++)
{
for(n=1;
n<
5;
n++)
if(m*n%3==0)continue;
k++;
A.1B.3C.6D.12
11.若输入字符串“ABC”,下面程序段的输出为()
charc;
while(cin>
c,c!
=’\n’)
c+2;
A.222B.CDEC.676869D.333
12.以下不能对二维数组a初始化的语句是()
A.inta[2][]={{1},{2}};
B.inta[2][3]={1,2,3,4,5,6};
C.inta[2][3]={1};
D.inta[2][3]={{1},{2}};
13.已知有语句“inta[3][4]={{1,2,5,3},{2,4,7,9},{3,6,5,8}},*p=&
a[0][0];
”,则表达式
(*p+2)+*(p+2)的值应为()。
A.10B.5C.6D.8
14.要比较两个字符数组a,b中字符串是否相等,下面正确的是()。
A.a==bB.strcmp(a,b)==0B.strcpy(a,b)D.strcmp(a,b)=0
15.若函数的类型和return语句中的表达式类型不一致,则()
A.编译时出错
B.运行时出现不确定结果
C.不会出错,且返回值的类型以return语句中表达式的类型为准
D.不会出错,且返回值的类型以函数类型为准。
16.下面函数说明正确的是()
A.voidf1(inta=3,intb,intc);
B.voidf2(inta,intb=3,incc);
C.voidf3(inta,intb,intc=3);
D.voidf4(inta,intb,int3);
17.下面程序的输出结果是()
iostream.h>
intm=10;
voidf(intm,int&
n)
m=m+2;
n=n+2;
}
intn=5;
f(m,n);
”m=”<
”n=”<
A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5
18.以下函数中不属于类的成员函数的是()
A.构造函数B.析构函数C.友元函数D.拷贝初始化构造函数
19.作用域运算符的功能是()
A.标识作用域的级别的B.指出作用域的范围的
C.给定作用域的大小的D.标识某个成员是属于哪个类的
20.假设person是一个类,p1是该类的一个对象,p2是指向p1的指针,getname是该类的一个成员函数,则以下表达式不正确的是()
A.person.getname()B.p1.getname()
C.p1.person:
:
getname()D.p2->
getname()
21.C++源程序文件的扩展名为(
)
A..CPP
B..C
C..DLL
D..EXE
22.以下()是C++合法的表达式
A.a=1,a++B.(x+y)++C.a+b=cD.12.25%10
23.以下程序的输出结果是:
(
#include<
int
fun(char*s){
char*p=s;
while(*p!
='
\0'
)
p++;
return(p-s);
voidmain(){
fun("
abc"
)<
A.0
B.1
C.2
D.3
24.下面叙述中正确的是()
A.for循环只能用于循环次数已经确定的情况
B.for循环同do-while语句一样,先执行循环体再判断
C.不管哪种形式的循环语句,都可以从循环体内转到循环体外
D.for循环体内不可以出现while语句
25.使用()可以设置数据输出的宽度。
A.setbase(intn)B.setw(intn)
C.setfill(intn)D.setprecision(intn)
26.在inta[][3]={{1},{3,2},{4,5,6},{0}}中,a[2][2]的值是(
)
A.3
B.2
C.6
D.4
27.下面正确定义数组的语句是()
A.intx[][2]={2,1,3,2}B.intx[][]={2,1,3,2}
C.intx[2][]={2,1,3,2}D.intx[2,2]={2,1,3,2}
28.已知charc;
constchar*pc="asdf";
)是正确的。
A.pc="dfgh"B.*pc=‘b’C.*pc++=‘y’D.pc=&
c
29.若有变量定义”inta=7;
break;
A.5B.7C.75D.75其它值
30.以下程序段的输出结果是()
for(i=4;
i<
=10;
i++)
if(i%3==0)continue;
i;
A.45B.457810C.69D.678910
31.执行下列语句后的输出结果是( )。
inthot=10;
int&
rad=hot;
hot+=10;
rad<
A.0
B.20
C.10
D.30
32.若用数组名作为函数调用的实参,传递给形参的是。
A.数组的首地址B.数组中第一个元素的值
C.数组全部元素的值D.数组元素的个数
33.定义如下变量和数组:
inti;
intx[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;
3;
i++)cout<
x[i][2-i];
则下面语句的输出结果是()。
A.159B.147C.357D.369
34.将两个字符串连接起来组成一个字符串时,选用的函数是。
A.strlen()B.strcap()C.strcat()D.strcmp()
35.若有以下程序段:
intx[12]={1,2,3,4,5,6,7,8,9,10,11,12};
charc=’a’,d,g;
则数值为4的表达式是()。
A.x[g-c]B.x[4]C.x[‘d’-‘c’]D.x[’d’-c]
36.若函数的调用形式如下:
f((x1,x2,x3),(y1,y2))
则函数形参个数是()。
A.2B.3C.4D.5
37.有如下程序
#include<
inostream>
iomanip>
usingnamespacestd;
intmain(){
setprecision(3)<
fixed<
setfill(‘*’)<
setw(8);
cout<
12.345<
<
34.567;
return0;
若程序的输出是:
**12.345**34.567
则程序中下划线处遗漏的操作符是______。
A.setprecision(3)B.fixedC.setfill('
*'
)D.stew(8)
38.在私有继承中,基类的公有成员将成为其派生类的()。
A.公有B.保护C.私有D.不能访问
39.下列哪个不是成员访问限定符。
A.publicB.protectedC.privateD.static
40.在下面关于函数的描述中错误的是()
A.在一个源文件中,如果函数定义在先,调用在后,则不必声明该函数
B.如果一个函数在一个源文件里定义,而调用在另一个源文件中,则必须在调用之前声明该函数
C.函数的声明应使用函数原型
D.在一个源文件中,如果自定义函数调用在先,定义在后,则不必声明该函数
41.若有inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
int(*q)[4]=a;
*q=a[0];
则能够正确表示数组元素a[1][2]的表达式是()。
A.*((*q+1)[2]B.*(*(q+5))C.(*q+1)+2D.*(*(q+1)+2)
42.类是C++中的一种新的数据类型,下列有关类的说法不正确的是()。
A.类是一种用户自定义的数据类型
B.只有类中的成员函数才能存取类中的私有成员
C.在类中,如果不做特别说明,所指的数据均为私有类型
D.在类中,如果不做特别说明,所有的成员函数均为公有类型
43.设intx[]={1,3,5,7,9,11,13},*p=x;
则不能正确引用数组元素的表达式是()
A.*(p--)B.*(--p)C.*(p++)D.*(++p)
44.执行下面程序段后,a的值为()。
inta,b;
for(b=1,a=1;
b<
=50;
b++)
if(a>
=10)break;
if(a%2==1)
{a+=5;
continue;
a-=3;
A.2B.6C.10D.8
45.在下面的引用定义中,正确的是()。
A.intx,&
y;
y=x;
B.intx,&
y=x
;
C.int&
y=x,x;
D.floatz;
intx,y=&
z;
46.下面对模板的声明正确的是_().
A.template<
T>
B.Template<
classt1,classT2>
C.Template<
classt1,T2>
D.Template<
classt1
classT2>
47.已知一个类A的定义如下,则执行“Ax(3)
”语句后,x.a和x.b的值分别为()
classA
{inta,b
public:
A(intaa=1,intbb=0){a=aa;
b=bb};
A.1和0B.3和0C.1和3D.3和0
48.C++源程序文件的扩展名为()
A..CPPB..OBJC..CD..EXE
49.下列变量名中,()是合法的。
A.doubleB.A+aC.CHINAD.5S
50.下列符号能用作C++标识符是的()。
A.xyz/2B.2xsaleC.x-saleD.x_sale
51.()不是C++的基本数据类型。
A.字符类型B.数组类型C.整数类型D.布尔类型
52.下列运算符中优先级最高的是()
A.%B.()C.
!
D./
53.字符串常量“ME”的字符个数是()。
A.4B.3C.
2D.1
54.在C++语言中,080是()
A.八进制数B.十进制数C.十六进制数D.非法数
55.整型变量i定义后赋初值的结果是()。
inti=2.8*6
A.12B.16C.17
D.18
56.如有intm=31;
则表达式(m++*1/2)的值是()
A.0B.15C.15.5
D.16
57.在C++语言中,自定义的标识符()
A.能使用关键字并且不区分大小写
B.不能使用关键字并且不区分大小写
C.能使用关键字并且区分大小写
D.不能使用关键字并且区分大小写
58.下列C++标点符号中表示一条语句结束的是()
A.#B.//C.}D.
59.下列C++标点符号中表示一条预处理命令开始的是()
A.#B./C./*D.&
60.定义如下变量:
inti=2
intj=3
则i/j的值是()
A.0.7B.0.66667C.0.66666....D.0
61.已知inta=2,a+=a-=a*a的值是()。
A.-4B.-2C.0D.4
62.语句n1=2,n2=++n1,n1=n2++;
执行后变量n1,n2的值分别为()
A.3,4B.3,3C.2,3D.2,4
63.下列程序段执行后输出结果为()
chara=’a’
”a=”<
a-32<
A.a=AB.a=33C.a=65D.a=A-32
64.for(i=0,x=0;
!
x&
=3;
i++)循环的次数为()
A.4B.5C.1D.无限循环
65.若有如下程序段:
{inta=2,b=-1,c=2;
if(a<
b)
if(b<
0)c=0;
elsec+=1;
”c=”<
c<
执行后输出结果是()
A.2B.1C.3D.0
66.有如下程序段:
inti=10;
switch(i)
{case9:
i++;
case10:
case11:
A.11B.12C.13D.14
67.下列描述正确的是()
A.break语句与continue语句完全一样,可以相互代替。
B.用break语句可以提前终止整个循环
C.用continue语句可以提前终止整个循环
D.用break语句与continue语句都不能提前终止整个循环
68.以下for循环的执行次数是()
for(x=0,y=0(y=123)&
(x<
2);
x++)
A.执行1次B.执行2次C.执行3次D.无限次
69.为了避免嵌套的if—else语句的二义性,C语言规定else总是与()
A.缩排位置相同的ifB.在其之前未配对的if
C.在其之前未配对的最近的ifD.同一行上的if
70.break语句的作用是()
A.立即跳出包含该break语句的所在层的循环语句和switch语句
B.立即跳出包含该break语句的最小的各种循环语句
C.立即跳出包含该break语句的switch语句
D.立即跳出包含该break语句的各层循环语句和switch语句
71.下面程序段执行完后,x的值是()
x=0
for(i=0
i<
90
i++)
if(i)x++
A.0B.30C.89D.90
72.continue语句的作用是()
A.结束包含该continue语句的最小的各种循环语句
B.结束包含该continue语句的各种循环语句
C.结束本次循环,直接进行循环条件的判断
D.循环执行完后,结束循环
73.下列程序段循环()次
intx=-10
while(++x){}
A.9B.10C.11D.无限
74.有如下程序段:
…….
for(inti=1;
{if(i%2==0)continue;
”,”;
执行以下程序段的输出结果是()。
A.1B.1,3,4C.1,3,D.2,4
75.用逻辑表达式表示“大于10而小于20的数”,正确的是()
A.10<
x<
20B.x>
10||x<
20C.x>
10&
20D.!
=10|x>
=20)
76.如果switch语句中的选择表达式是字符型变量code,下面哪一项case子句是合法的()
A.case“3”:
B.case‘3’:
C.case3:
D.case=3:
77.设inta=10,b=11,c=12;
(a+b)<
c&
&
b==c的值是()
A.2B.0C.-2D.1
78.在以下关于C++语言的叙述中,正确的是()
79.若m是一个值为10的int型变量,n是一个bool型变量,则表达式
m||n>
0的值为()。
A.trueB.falseC.与n的值相反D.与n的值相同
80.下列dowhile循环的循环次数是()
inti=5
do{cout<
i--<
endl
i--
}while(i
=0)
A.0B.2C.5D.无限次
81.若有以下定义语句:
inta[10]={1,2,3,4,5,6,7,8,9,10};
则下列()是对数组元素的正确使用。
A.a[10]B.a[a[3]-5]C.a[a[9]]D.a[a[4]+4]
82.对语句:
inta[3][4]={0};
描述正确的是()。
A.只有元素a[0][0]可得到初值0
B.数组a中每个元素均可得到初值0
C.此说明语句不正确
D.数组a中各元素都可得到初值,但其值不一定为0
83.若有以下定义,则数组元素a[2][2]的值是()
inta[][3]={{1,2},{3,2,4},{4,5,6},{1,2,3}};
A.4B.5C.2D.6
84.在下面的一维数组定义中,不正确的是()
A.intx[10][10]B.intx[][10]={{1,3},5,7};
C.intx[][]D.intx[10][10]={0};
85.若定义了一个4行3列的数组,则第8个元素是()
A.a[1][3]B.a[2][3]C.a[3][1]D.a[2][1]
86.判断两个字符串(分别用a,b表示)是否相等的操作为()
A.a==bB.if(a==b)C.if(strcmp(a,b))D.if(strcpy(a,b))
87.定义一个一维数组,正确的语句是()
A.inaa(10)B.intn=10;
inta[n];
C.intn;
n;
inta[n]D.constintn=10;
inta[n];
88.下面数组定义错误的是()
A.#definen5
chara[n]={“good”}
B.constintn=5;
C.intn=5;
chara[n]={“good”};
D.constintn=5;
chara[n+2]={“good”};
89.执行下列语句:
intc[4]={0,1,2,3};
for(inti=0;
i++)c[i]=c[i]+i;
则c[3]的值是()。
A.0B.4C.6D.8
90.数组intarea[4]={1,2,3,4};
执行程序
=4;
area[i-1]=1;
那么area[4]的值是()。
A.4B.3C.1D.不确定值
91.对字符数组进行初始化,下列语句正确的是()
A.chara[]=”abcd”;
B.chara[][]=”abcd”;
C.chara[4]=”abcd”;
D.chara[2][2]={“ab”,”cd”};
92.下列关于指针运算的描述错误的是()
A.指针变量是用于存储变量地址的变量
B.指针变量是用于存储变量值的变量
C.在一定条件下,指针变量可以为空值
D.可以使用指针变量来访问数组
93.若已经定义了a为int型变量,则对指针变量p的定义及初始化正确语句是()。
A.int*p=a;
B.intp=a;
C.int*p=*a;
D.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 语言程序设计 复习