C++习题Word文档格式.docx
- 文档编号:7820962
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:39
- 大小:29.72KB
C++习题Word文档格式.docx
《C++习题Word文档格式.docx》由会员分享,可在线阅读,更多相关《C++习题Word文档格式.docx(39页珍藏版)》请在冰点文库上搜索。
50
p↑
A)30B)20C)19D)29
11.以下说法中,D不是构造函数的特征。
A)构造函数的函数名与类名相同
B)构造函数可以重载
C)构造函数可以设置默认参数
D)构造函数必须指定说明类型
12.执行以下代码的结果是D。
constintA=20;
#ifA>
cout<
“A>
10”<
#elifA>
11
11”<
#else
“else”<
#endif
A)A>
10B)A>
11C)A>
12D)else
13.已知“intm=10;
”在下列定义引用正确的是A
A)int&
x=m;
B)inty=&
m;
C)int&
z;
D)int&
t=&
14.执行以下代码的结果是B。
inti(5);
switch(i)
{case0:
cout<
“0”<
’’
default:
“default”<
’’;
case1:
“1”<
}
A)屏幕无任何显示B)default1
C)defaultD)0default1
15.下列定义中,定义指针数组p的是A
A)int*p[3]B)int(*p)[3]
C)(int*)p[3]D)int[]*p
16.字符串”\\\40a,0\n”的长度是C。
A)8B)7C)6D)5
17.下列存储类标识符中,C的可见性与存在性不一致。
A)外部类B)自动类C)内部静态类D)寄存器类
18.下面的函数声明中,B是”voidBC(inta,intb)”的重载函数。
A)intBC(inta,intb)B)voidBC(inta,charb)
C)floatBC(inta,intb,intc=0)D)voidBC(inta,intb=0)
19.关于函数的传值调用,下列说法正确的是A。
A)形参是实参的备份B)实参是形参的备份
C)形参和实参是同一对象D)形参和实参无联系
20.已知:
inti,j=2;
*p=&
j;
则完成i=j赋值功能的语句是A。
A)i=*p;
B)p*=*&
C)i=&
D)i=**p;
21.下列运算符中,既可做单目运算符,又可以做双目运算符的是B。
A)newB)-C)<
=D)&
22.下列语句不是死循环的是D。
A)while(x=1){x--;
x<
B)for(j=0,i=0;
j<
10;
i++){i=j+i}
C)intk=0;
do{++k;
}while(k>
D)inti=100;
while
(1){i=i%100+1;
if(i==20)break;
23.若以下变量均是整型,且num=7,sum=7;
则执行语句“sum=num++;
sum++;
++num;
”后,sum的值为B。
A)7B)8C)9D)10
24.对字符数组进行初始化时,B是正确的。
A)chars1[5]="
abcde"
B)chars2[]="
xyz"
C)chars3[][3]={‘a’,’x’,’y’,’z’}
D)chars4[2][3]={"
"
mnp"
25.在程序中固定不变的值称为A。
A)常量B)变量C)关键字D)数组
26.下列程序段中对数组定义错误的是B。
A)inta[10+2]B)intlength=10;
inta[length]
C)intconstlength=10;
inta[length]D)inta[12];
27.下列符号中不能作为c++标识符的是C。
A)_wangB)tempC)elseD)quality
28.设有下列程序段
chars[]=”china”;
char*p;
p=s;
则以下叙述正确的是D。
A)数组s中的内容和指针变量p的内容相等
B)s和p完全相同
C)s数组长度和p所指向的字符长度相等
D)*p和s[0]相等
29.在位运算中,操作数每右移一位,其结果相当于:
B
30.针对数组定义“intdata[10];
”,下列表述中错误的是D。
A)用*data可访问到数组的首元素
B)用data[9]可访问到数组的尾元素
C)用data9[10]访问数组的首元素会超出数组边界
D)data中共有10个元素,其首元素是data[1]
31.以下程序的输出结果是C
main()
{inti,a[10];
for(i=9;
i>
=0;
i--)a[i]=10-i;
a[2]<
a[5]<
a[8]<
A)258B)741C)852D)369
32.下列语句的输出结果是A
y=5;
p=&
y;
x=*p++;
A)x=5,y=5B)x=5,y=6C)x=6,y=5D)x=6,y=6
33.若有说明:
inti,j=2;
*p=&
则完成i=j赋值功能的语句是A。
B)p*=*&
C)i=&
D)i=**p;
34.下列存储类标识符中,C的可见性与存在性不一致。
35.下面程序段的运行结果是B
charstr[]="
ABC"
*p=str;
*(p+3);
A)67B)0C)字符'
C'
的地址D)字符'
36.下列变量名中,A是合法的
A)_256B)classC)newD)a-1
37.下列不属于C++运算符的是B。
A)++B)#c)*D)%
38.下列表示引用的方法中,A是正确的。
已知:
intm=10;
B)int&
y=10;
D)float&
39.字符串”\\\40a,0\n”的长度是C。
A)8B)7C)6D)5
40.下列关于开关语句的描述中,A是正确的。
A)开关语句中default子句可以没有,也可以有一个
B)开关语句中的每个语句序列中必须有break语句
C)开关语句中default子句只能放在后面
D)开关语句中case子句后面的表达式可以是整型表达式
41.如果下面的变量都是int类型,则输出的结果是C。
sum=pad=5;
pAd=sum++,pAd++,++pAd;
pad;
A)7B)6C)5D)4
42.下列各运算符中,D不能作用于浮点数。
A)/B)&
C)!
D)&
43.下列各运算符中,C运算的结合性从左到右。
A)?
:
B)=C)>
=D)+=
44.下面程序段的运行结果是B
45.以下语句错误的是D
A)inta[]={1,2};
B)char*a[3];
C)chars[10]=”test”D)intn=5,a[n];
46.下面关于c++语言变量的叙述错误的是B
A)c++语言变量分为auto,static,extern和register四种存储类型
B)自动变量和外部变量的作用域是整个程序
C)内部静态变量的作用域是定义它的函数
D)外部静态变量的作用域是定义它的文件
47.若有以下说明,0<
i<
4,则A是错误的赋值。
inta[4][10];
*p,*q[4];
A)p=a;
B)q[i]=a[i];
C)p=a[i];
D)q[i]=&
a[2][0];
48.表达式0x13|0x17的值是A。
A)0x17B)0x13C)0xf8D)0xec
49.下列存储类标识符中,C的可见性与存在性不一致。
50.若运行时,给变量x输入12,则以下程序的运行结果是
A
voidmain()
{intx,y;
cin>
>
x;
y=x>
12?
x+10:
x-12;
y<
A)0B)22C)12D)10
51、以下选项中合法的用户标识符是(B)。
A.long
B._2Test
C.3Dmax
D.A.dat
52、已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则字符常量’\102’是(C)
A.字符A
B.字符a
C.字符B
D.字符b
53、在inta[][3]={{1,0},{3,2},{4,5,6},{0}};
中a[2][2]的值是( C )。
A.0;
B.5;
C.6;
D.2
54、设有数组定义:
chararray[]=”China”;
则数组array所占的空间为(C)
A.4个字节
B.5个字节
C.6个字节
D.7个字节
55、设有如下说明
typedefstruct
{intn;
charc;
doublex;
}STD;
则有以下选项,能正确定义结构体数组并赋初值的语句是(A)
A.STDtt[2]={{1,'
A'
,62},{2,'
B'
,75}};
B.STDtt[2]={1,”A”,62,2,”B”,75};
C.structtt[2]={{1,'
},{2,'
}};
D.structtt[2]={{l,”A”,62.5},{2,”B”,75.0}};
56、对于int*p[5];
的描述,( B )是正确的。
A.p是一个指向数组的指针,所指向的数组是5个int型元素;
B.p是一个具有5个元素的指针数组,每个元素是一个int型指针;
C.p是一个指向某个数组中第5个元素的指针,该元素是int型变量;
D.p[5]表示某个数组的第5个元素的值;
57、若已定义inta[]={1,2,3,4,5,6,7,8,9,10),*p=a,i=5;
则对数组元素的不正确的引用是(D)
A.a[p-a]
B.*(&a[i])
C.p[i]
D.*(*(a+i))
58、已知语句intm=10;
则下列表示引用的表示中正确的是(A)
A.int&
x=m;
B.int&
v=10;
C.int&
z;
D.float&
59、执行语句x=5*4,x+5,3+4;
x的值是(C)。
A.20B.24
C.7D.51
60、下面对宏定义的描述中不正确的是(C)
A.宏不存在类型问题,宏名无类型,它的参数也无类型
B.宏替换不占用运行时间
C.宏替换时先求出实参表达式的值,然后代入形参数运算求值
D.其实,宏替换只不过是字符替代而已
61、以下非法的赋值语句是(C)
A.n=(i=2,++i);
B.j++;
C.++(i+1);
D.x=j>
0;
62、现已定义整型变量inti=3;
执行循环语句“while(i-->
0);
”后,i的值为(C)。
A.1B.0
C.-1D.以上三个答案均不正确
63、下面程序的输出结果是(B)
#include<
iostream.h>
inti=0;
intfun(intn)
{
staticinta=2;
a++;
returna+n;
intk=5;
{
inti=2;
k+=fun(i);
}
cout<
k;
A.13B.14
C.15D.16
64.执行下列语句,输出的结果是(C)
inti=0;
while(i<
25)i+=3;
i;
A)24B)25C)27D)28
65.for(intx=0,y=0;
!
x&
=5;
y++)语句执行循环的次数是(C)
A)0B)5C)6D)无次数
66.下列程序段中对数组定义错误的是(B)
A)inta[10+2]B)intlength=10;
inta[length]D)inta[12];
67.下列关于do……while语句叙述正确的是(D)
A)do……while语句不可以转换为等价的while循环
B)do……while语句所构成的循环只能用break语句跳出
C)do……while语句所构成的循环只有在while后面的表达式为零时才结束
D)do……while语句先执行循环内容后判断条件
68.表达式0x13&
0x17的值是(B)
69.在位运算中,操作数每左移一位,其结果相当于:
(A)
70.运行时给变量x输入12,则以下程序的运行结果是(A)
71.下列关于c++函数的叙述中,正确的是(D)
A)每个函数至少要具有一个参数B)函数必须返回一个值
C)函数被调用之前必须先说明D)函数可以自己调用自己
72.下列说法正确的是(B)
A)指针只要赋给一个地址就可以
B)数组大小必须在编译的时候确定
C)使用引用的时候可以不必初始化
D)引用可以指向不同的变量,只要类型一致就可以
73.下列各运算符中,三元运算符是(C)
A)?
=D)++
74.下面关于c++语言变量的叙述错误的是(B)
二、填空题
1.以下程序的功能是:
输出100以内能被3整除且个位为6的所有整数。
#include<
{inti,j;
for(i=0;
i<
10;
i++)
{j=i*10+6;
if(j%3!
=0)continue;
"
"
;
2.下列函数的功能是计算并输出5!
+4!
+3!
+2!
+1!
的结果。
intfac(inta);
{ints(0);
for(inti
(1);
i<
=5;
i++)s+=fac(i);
cout<
5!
="
s<
intfac(inta)
{staticintb=1;
b*=a;
returnb;
3.以下程序中,函数fun()的功能是:
将数组元素的值反序存放,例如:
若某数组中的元素值依次为1、2、3、4、5、6、7、8、9,则反序存放后依次为9、8、7、6、5、4、3、2、1。
形参n给出数组元素的个数。
voidfun(inta[],intn)
{inti,t;
n/2;
i++)
{t=a[i];
a[i]=a[n-1-i];
a[n-1-i]=t;
{intb[9]={1,2,3,4,5,6,7,8,9};
fun(b,9);
for(inti=0;
9;
i++)cout<
b[i]<
””;
4.下面程序的功能是求数组中大于0的元素之和,请将空格内的语句补充完整。
{intnum[10]={10,1,-20,-203,-21,2,-2,-2,11,-21};
intsum=0,i;
for(i=0;
=9;
{if(num[i]>
0)
sum=sum+num[i];
”sum=”<
sum;
5.下列程序段的功能为输入一个正整数,要求以相反顺序输出,例如,输入123,输出321。
#include<
unsignedn;
输入一个正整数:
cin>
n;
相反顺序:
do
n%10;
n=n/10;
}while(n!
6.下面程序是判断一个数是不是素数,请填空。
math.h>
intm,i,k;
k=sqrt(m);
或k=m-1
for(i=2;
=k;
if(m%i==0)break;
if(i>
k)cout<
m<
是素数"
elsecout<
不是素数"
7.下面程序的功能是将字符串b复制到字符串a。
请填空。
voids(char*s,char*t)
{inti=0;
while(t[i]!
='
\0'
)
{s[i]=t[i];
i++;
s[i]='
voidmain()
{chara[20],b[10];
b;
s(a,b);
a<
8.下面程序的功能是求数组中大于0的元素之和,请将空格内的语句补充完整
10或i<
=9_;
{if(num[i]>
0)
9.下列程序段的功能为,使用递归调用方法将一个n位整数转换成字符串。
string.h>
voidconvert(intn)
{intm;
m=n/10;
if(n/10)或(m)convert(m);
char(n%10+’0’);
{intnum;
请输入一个整数:
num;
endl<
转换成字符串为:
convert(num);
10、十进制28和3.26的类型分别是int和double。
11、执行语句序列
charstrl[10]=”ABCD'
’,str2[10]=”XYZxyz'
’;
for(inti=0;
strl[i]=str2[i];
i++);
后,数组str1中的字符串是XYZxyz。
12、将以下if-else语句改写成switch语句,请填空。
if(s>
0&
s<
10)
if(s>
5)x=2;
elsex=1;
elsex=0;
改写成的switch语句:
switch(s>
{case1:
switch(s>
5)
{case1:
x=2;
break;
case0:
x=1;
}break;
case0:
x=0;
}
13、程序的功能是用递归算法计算学生的年龄,已知第一位学生年龄最小,为10岁,其余学生一个比一个大2岁,求第5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 习题