C++复习题Word下载.docx

上传人:b****8 文档编号:22743374 上传时间:2023-02-05 格式:DOCX 页数:71 大小:58.85KB
下载 相关 举报
C++复习题Word下载.docx_第1页
第1页 / 共71页
C++复习题Word下载.docx_第2页
第2页 / 共71页
C++复习题Word下载.docx_第3页
第3页 / 共71页
C++复习题Word下载.docx_第4页
第4页 / 共71页
C++复习题Word下载.docx_第5页
第5页 / 共71页
点击查看更多>>
下载资源
资源描述

C++复习题Word下载.docx

《C++复习题Word下载.docx》由会员分享,可在线阅读,更多相关《C++复习题Word下载.docx(71页珍藏版)》请在冰豆网上搜索。

C++复习题Word下载.docx

b)求a、b、c中最大值。

30.执行intx(3);

doubley(3.0);

if(x=y)cout<

<

”x=y”;

elsecout<

”x!

=y”;

后屏幕显示得结果为x!

=y。

31.若i=3,则执行语句“j=++i;

”之后j的值为4。

32.如果x=0;

则条件语句if(x=5)的值为假。

33.若i=3,则执行“j=i++;

34.执行inta=1;

cout<

~a后屏幕显示得结果为-1。

35. 

数组是一种构造型数据,即是若干相同类型的数据的集合。

36.若有inta[3][4];

则a[3][4]是对二维数组的正确访问。

37.在C++中将数组名看成是一个地址,其地址值是常量,不可改变。

38.数组名表示数组在内存中的首地址,其值为一个可变的量。

39.数组定义为a[N],则N可以是常量,也可以是变量。

40.定义数组时,可以使用变量来说明数组某一维的大小。

41.inta[5]={1,2,3,4},b[5];

b=a;

含有非法语句。

42.在两个具有包含关系的作用域内声明了两个同名标识符,则外层标识符在内层结束生命期。

43.静态全局变量和静态局部变量的作用域不同,但生命期相同。

44.局部静态变量和局部自动变量具有相同的生命期。

45.定义在函数中或{…}之间的变量称为局部变量。

46.函数的形参存放在全局数据区。

47.静态变量和全局变量存放在全局数据区。

48.函数调用语句f(a++,b--,f(++c,--d))的参数个数是4个。

49.函数原型中的形参名与函数调用中的实参名可以相同,也可以不相同。

50.如果函数调用中将实参的值传递给形参,则形参的改变会影响实参。

51.当函数的形参为数组时,实参传递给形参的是数组的首元素。

52.数组名作为函数实参时,传递给被调函数的是数组首元素的值。

53.函数的实参数在任何情况下都要和形参数相同。

54.为函数的形式参数指定缺省值时,这些形式参数必须在参数表的右侧连续出现。

55.所有函数都可定义为内联函数。

56.内联函数的调用机制和一般函数不同。

57.内联函数中不可使用循环,break等语句。

58.使用内联函数的目的是提高程序的可读性。

59.函数可以有多个return语句,因此函数可以返回多个值。

60.一个函数可以没有return语句。

61.函数的类型可以作为是否为重载函数的标志。

62.charc[10]=”ABCD”。

则函数strlen(c)的值为4。

63.函数strcmp(“AShhjjj”,“ASHHJJJ”)的返回值是0。

64.内存单元的地址与内存单元中的内容是两个相同的内容。

65.声明一个指针型变量后,就可以将该指针指向任何对象。

66.声明指针型变量必须声明其类型。

67.不可为一个指针赋常量。

68.语句inti,j;

int*pi,pj;

定义了2个整型变量和2个指向整型变量的指针。

69.在inti,*intp=&

i;

(*intp)++中出现的两个*含义是相同的。

70.语句char*ps=”Thisisc++”的含义是将字符串存放到ps字符数组中。

71.语句“*p++”与语句“(*p)++”等价。

72.语句“int*p[4]”定义了一个一维指针数组。

73.指针在任何情况下都可进行>

<

>

=,<

=,==运算。

74.inta[10];

语句a++;

非法。

75.double(*fp)()表示为一函数名,该函数返回一个指向double类型变量的指针。

76.通过赋值语句“函数指针名=&

函数名“获得函数的地址。

77.使用文件操作必须先说明一个文件流对象。

选择填空

1.____将C++源程序生成目标程序。

A解释程序B编译程序

C连接程序D汇编程序

B

2.用#include命令包含的文件是()

A.目标文件B.可执行文件C.源程序文件D.二进制文件

C

3.C++使用控制符对数据进行格式输出时,应包含()文件。

A.iostream.hB.fstream.hC.iomanip.hD.stdlib.h

4.以下可作为正确变量名的是()。

A.caseB.-cdC._33D.33s

5.下面选项中能用作用户自定义的标识符是()。

A.friendB.-varC.3Xyz-D.Float

D

6.下列变量名中,()是合法的。

A.CHINAB.Byte-sizeC.doubleD.A+a

A

7.下列变量名中,()是合法的。

A.classB.class1C.1classD.cl\ass

8.下列变量名中,()是合法的。

A._123B.voidC.doubleD.switch

9.下列标识符中合法的标识符有____个。

void_mainf4.5$MyFilecCharnint43a

A3B4

C6D5

10.下列标识符中,关键字有______个。

_mainifIntusingvoidbreaksin

A.2B.3

C.4D.5

11.下列标识符中合法的标识符有____个。

void_mainx2.1$FilecCharnintinteger

12.下列字符常量的表示中,()是错误的。

A.’\105’B.’*’C.’\4f’D.’\a’

13.在3,-5.0,0.6,0x12,12e3,‘a’,”ab”,017等常量中,属于整型常量的有______个。

14.____是三目运算符。

A?

:

B+=

C<

=D|=

15.____不是复合运算符。

A.?

B.+=

C.&

=D.%=

A

16.^为异或运算符,a^a的结果是____个。

A全1B全0

CaD~a

17.inti=2,c=65;

则cout<

char(i|c)的显示结果是____。

A67B65

CADC

18.将01110101的低4位每位求反,高4位不变,可将其与____进行异或运算。

A11111111B00001111

C01010101D00000000

19.若inta;

charb;

floatc;

doubled;

则表达式a*b-c+d值的数据类型为()。

A.intB.floatC.doubleD.char

20.设a和b为int类型的变量,且b不等于0,则a/b*b+a%b的结果是____。

AaBb

C大于a的整数D小于a的整数

21.当x=y=0,z=1时,逻辑表达式x&

&

y++&

--z执行后,x、y、z的值分别是______。

A.010B.011

C.001D.000

22.执行intx,y,t;

x=y=3;

t=++x||++y后,x和y的值分别为______。

A.33B.34

C.43D.44

23.设x和y均为bool量,则x&

y为真的条件是__________。

    A.它们均为真  B.其中一个为真

    C.它们均为假  D.其中一个为假

24.判断年份是否为闰年的条件是:

年份是400的倍数,或者年份是4的倍数但不是100的倍数。

变量year中保存一整数代表年份,则____是判断year是否为闰年的正确表达式。

Ayear%400==0&

year%4==0&

year%100!

=0

Byear%400==0||year%4==0||year%100!

Cyear%400==0&

year%4==0||year%100!

Dyear%400==0||year%4==0&

25.正确表示”a、b都大于0或都小于0”的关系表达式是______。

A.(a>

0&

b>

0)&

(a<

b<

0)B.(a>

0||b>

0||b<

0)

C.(a>

0)||(a<

0)D.a*b>

D

26.a不小于5且b小于-3的错误条件表达式是____。

A(a>

=5)&

(b<

=-3)B!

((a<

5)||(b>

=-3))

C!

5)&

!

(b>

=-3)D(a>

-3)

27.要判断char型变量m是否是数字,可以使用下列表达式()。

A.0<

=m&

m<

=9B.’0’<

=m&

m<

=’9’

C.”0”<

m>

=”9”D.以上都错误

28.下列语句中不正确的是____。

Ainta=3,b=3,c=3;

Binta=b=c=3;

Ca=b=c=3;

Da=(b=10)/(c=2);

29.inti=12;

cout<

hex<

”,”<

dec<

oct<

endl;

输出结果为

A14,c,12B12,14,c

C12,c,14Dc,12,14

30.整型常量011表示的是____11。

A二进制B八进制

C十进制D十六进制

31.需要换行时,可以使用操作符endl;

其作用和____相同。

A‘\b’B‘\t’

C‘\n’D‘\r

32.对switch的错误描述是______。

A.break可选B.case后的常量表达式必须各不相同

C.default必须出现在最后D.switch可以嵌套使用

C

33.对选择结构的语句描述有:

①if语句可以嵌套;

②else与最近的且没有与其它else匹配的if匹配;

③switch语句可以实现多项选择;

④switch语句中的case表达式可以是含有变量和函数的表达式;

⑤switch语句中的case部分如都带有break,则case书写一般没有次序要求;

⑥switch语句中default可以缺省;

⑦switch语句可以嵌套;

则下列有错误的描述是______。

A.①②③④B.①②③⑤

C.①②③⑥D.①②③⑦

A?

34.程序如下,该程序运行结果是____。

inti=5;

while(i);

--i;

A.不构成循环B.循环5次

C.循环4次D.死循环

35.下列while循环的次数为()

while(inti=0)i--;

A.0B.1C.5D.无限

36.下列do-while循环的循环次数为()

已知inti=5;

do{cout<

i--<

i--;

}while(i!

=0);

37.程序inti=1,sum=0;

while(i++<

=10)sum+=i;

出循环后sum的值为____。

A45B55

C65D75

38.程序inti=0,s=0;

while(i++<

=10)s+=i;

其中while语句循环____。

A9次B10次

C11次D死循环

39.下列程序中不构成死循环的是______。

A.inti=5;

while(i--);

B.inti=5;

while(i--)i--;

C.inti=5;

do{i++;

}while(i>

5);

D.inti=5;

while

(1){i=i%5+1;

if(i>

5)break;

}

40.要定义具有5个元素,初始值依次为1,2,3,0,0的一维数组vect,错误地定义形式是______。

A.vect[5]={1,2,3,0,0}B.vect[5]={1,2,3}

C.vect[]={1,2,3,0,0}D.vect[]={1,2,3}

41.在inta[][3]={{1},{3,2},{4,5,6},{0}};

中,a[2][2]的值是()。

A.0B.5C.6D.2

42.若有说明inta[3][4];

则对a数组元素的非法引用是()。

A.a[0][2*1]B.a[0][4]C.a[4-2][0]D.a[1][3]

43.二维数组可以看成一个矩阵,二维数组matrix初始化成{{1,2,3},{4,5},{6}},则位于矩阵中心的元素值为____。

A0B5

C6D随机数

44.执行下列程序后显示的结果是______。

voidDispchar(char*pc){

if(*pc!

=0){Dispchar(++pc);

*--pc;

}

return;

voidmain(){

charch[]="

ABCD"

*pc=ch;

Dispchar(pc);

A.ABCDB.DCBA

C.DABCD.BADC

45.下面程序段的运行结果是()。

charc[]=”\t\v\\\0will\n”;

strlen(c);

A.4B.3C.9D.字符串中有非法字符,输出值不确定

46.判断字符串a和b是否相等,应当使用()。

A.if(a==b)B.if(a=b)C.if(strcpy(a,b))D.if(strcmp(a,b))

47.字符串”Thisis”比字符串”This”______。

A.大B.小

C.相等D.无法比较

48.若有以下语句:

staticcharx[]=”12345”;

staticchary[]={‘1’,’2’,’3’,’4’,’5’};

则正确的说法是()。

A.x数组和y数组的长度相同B.x数组的长度大于y数组的长度

C.x数组的长度小于y数组的长度D.x数组与y数组等价

49.下面对s初始化不正确的是()。

A.chars[5]={“abc”};

B.chars[5]={‘a’,’b’,’c’};

C.chars[5]=””;

D.chars[5]=”abcde”;

50.设有变量说明:

chara[10],*p=a;

则下列表达式中,正确的是()。

A.a=”welcome”B.*p=”welcome”C.a[10]=”welcome”D.p=”welcome”

51.对语句char*strp=”ThisisC++program”的正确描述是____。

A定义了一个字符数组strp,将上述字符串放入其中。

B等价于char*string;

*string=”ThisisC++program”。

C等价于char*string;

string=”ThisisC++program”。

DABC描述均正确。

52.若charp,p1[20];

*s;

s=”visual”;

p1=p;

正确的说法是()。

A.p和p1的均为”visual”

B.第一个赋值语句正确,第二个赋值语句不正确。

C.第一个赋值语句不正确,第二个赋值语句正确。

D.两个赋值语句均不正确。

53.下列有错误的语句是____。

Aconstinti=3;

i=i+1Binti,*pi=&

Cchar*constpchar=”C++”;

Dcharstr[20]=”C++Program”;

54.定义数组inta[10],*p=a;

则与a[i]含义不同的是____。

A*a+iB*(p+i)

Cp[i]D*(a+i)

55.执行程序inta,*p=&

a;

*p=10;

(*p)++;

a++后,a的值为____。

A10B11

C12D不定

56.有定义inti=0,j=9,a[10],*p1=a,*p2=p1+j;

则不正确的表达式是______。

A.p1+jB.p2-i

C.p2>

p1D.p3=(p2+p1)/2

57.有定义inti,*p1=&

i,*p2;

doubled,*p3=&

d;

A.p1++B.p2--

p1D.p2=p3

58.执行inta[6]={1,2,3,4,5,6},*p=&

不能访问到值为4的元素的表达式是______。

A.a[3]B.*(a+3)

C.*(p+3)D.*p+3

59._____是对指针的错误描述。

A.同类型的指针可以进行加运算

B.同类型的指针可以进行减运算

C.同类型的指针可以关系运算

D.同类型的指针可以赋值运算

60.对指针的描述有①指针的类型表示指针所指对象的类型;

②同类型指针可以进行=运算;

③同类型指针可以进行关系运算;

④同类型指针可以进行+-*/运算;

⑤*p++和(*p)++等价;

⑥inta[10];

a=a+1;

含有非法操作;

⑦各类指针均是一个32位无符号数,因此指针变量无类型区别。

下列选项中全部正确的是____。

A.①②③⑦B.①②③⑤

C.①②③⑤⑥D.①②③④

61.对指针的描述有①指针的类型表示指针所指对象的类型;

⑤*p++和*(p++)的作用相同;

⑥int(*fp)()和int*fp()含义相同;

A①②③⑦B①②③⑥

C①②③⑤D①②③④

62.对数组的描述有:

①数组元素在内存中依次存放没有空隙;

②数组名是一个指针常量;

③可以用指向数组的指针访问数组元素;

④数组名和数组元素均可作为函数的参数传递给形参;

⑤chars[50]=”…”;

s;

显示的是s数组首元素的地址;

⑥数组元素在内存中以最左下标变化最快,最右下标变化最慢的顺序线性存放;

⑦同类型的数组可以整体赋值。

则下列全部正确的描述是______。

A.①②③④B.②③④⑤

C.③④⑤⑥D.④⑤⑥⑦

63.对数组的描述有:

①数组是一种顺序容器;

②数组中的元素可以是基本的或自定义的数据类型;

③数组名表示数组首元素的地址;

④字符串可以存放在字符数组中,以0作为结束标记;

⑤数组名和数组元素均可作为函数的参数;

⑥数组在内存中以元素最左下标变化最快,最右下标变化最慢的顺序线形存放;

⑦inta[3];

通过a++操作可以访问元素a[1],⑧inta[3][4],*p=a是正确的定义;

A.①②③④⑤B.①②③④⑥

C.①②③④⑦D.①②③④⑧

64.指针数组p的正确定义是()

A.int(*p)[4]B.int*p[4]C.int*p[]D.int*(p[4])

65.以下说明中,标识符ptr()。

int(*ptr)[3];

A.说明不合法。

B.是一个指针数组名。

C.是一个指针,它指向一个具有三个元素的一维数组。

D.是一个指向整型变量的指针。

66.若有以下声明,则它与()中的声名是等价的。

chars[3][5]={“aaaa”,”bbbb”,”cccc”};

A.char**s1={“aaaa”,”bbbb”,”cccc”};

B.char*s2[3]={“aaaa”,”bbbb”,”cccc”};

C.chars3[][5]={“aaaa”,”bbbb”,”cccc”};

D.Chars4[][4]={“aa

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1