C++复习题.docx
- 文档编号:7730959
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:20
- 大小:29.75KB
C++复习题.docx
《C++复习题.docx》由会员分享,可在线阅读,更多相关《C++复习题.docx(20页珍藏版)》请在冰豆网上搜索。
C++复习题
一、单选题
1.每个C++程序都必须有且仅有一个()
(A)主函数(B)预处理命令(C)函数(D)语句
2.C++程序中的简单语句必须以()结束。
(A):
(B);(C)//(D)}
3.按C++标识符的语法规定,合法的标识符是()
(A)5name(B)new(C)π(D)Abc
4.设inta=8,b=-6;则条件表达式a
a+2:
b的值为()
(A)8(B)-6(C)1(D)0
5.表示“大于-9且小于20的数”,正确的是()
(A)-9
(C)x>-9||x<20(D)!
(x<=-9||x>=20)
6.C++源程序的文件扩展名为()。
(A).h(B).cpp(C).1ib(D).obj
7.按C++标识符的语法规定,合法的标识符是()。
(A)float(B)_hi(C)π(D)“hello”
8.设chart=’A’;则表达式5+0.6+t值的数据类型为 。
A、intB、floatC、不确定D、double
9.转义字符'\n'的功能是()。
(A)空格(B)换行(C)空字符(D)水平制表
10.数组元素为指向整型变量的指针,则该一维数组的定义是 。
A、int*p()B、int(*p)()C、int*p[4]D、int(*p)[4]
11.以下关于switch语句和break语句的描述中不正确的是 。
A、break语句不能用于循环语句和switch语句外的任何其它语句
B、switch语句中使用break语句或continue语句的作用相同
C、在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环
在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环的执行。
12.若有以下说明语句
inta[3][4]={2,3,4,5,3,4,5,6,4,5,6,7};
则正确对数组元素引用为 。
A、*(a+1)B、*(a[3]+2)C、a[1]+3D、a[0][0]
13.假设inti=2;执行下列语句后i的值为()
switch(i)
{case1:
i++;break;
case2:
i--;
case3:
i=i+3;break;
case4:
i=i-3;break;
}
(A)1(B)2(C)4(D)-1
14.写出下列表达式的值()
a=3*5,a=b=3*2;
(A)15(B)5(C)6(D)3
15.用来连接两个字符串的函数是()
(A)strcat()(B)strcmp()(C)strcpy()(D)strlen()
16.已知intx=6;执行下列语句后,x的值为()。
x+=x-=x*x;
(A)-24(B)20(C)-60(D)-30
17.假设inti=3;执行下列语句后i的值为()。
switch(i)
{case1:
i++;break;
case2:
i--;break;
case3:
i=i+3;break;
case4:
i=i-3;break;
}
(A)2(B)4(C)0(D)6
18.写出下列代码段中变量c的值()。
inta=2,b=5;
intc=a+b;
(A)7(B)8(C)9(D)10
19.用来求字符串复制的函数是()。
(A)strcat()(B)strcmp()(C)strcpy()(D)strlen()
20.设inta=12;,则执行完语句a=a*a后,a的值是()。
(B)12(B)144(C)156(D)288
21.设X为整型变量,不能正确表达数学关系25 (A)X==26||X==27||X==28(B)25 (C)25 (X<=25)&&! (X>=29) 22.在PC机中运行的C++语言程序,char类型的数据占 字节。 A、1B、2C、3D、4 23.写出下列代码段中变量c的值() inta=2,b=5; intc=a++,b++,a+b; (A)7(B)8(C)9(D)10 24.用来求字符串长度的函数是() (A)strcat()(B)strcmp()(C)strcpy()(D)strlen() 25.设inta=12;,则执行完语句a+=a*a后,a的值是()。 (C)12(B)144(C)156(D)288 26.在C++语言中,要求参加运算的数必须是整数的运算符是() (A)/(B)%(C)*(D)&& 27.下面for语句结束后,i的值是() for(i=2;i<100;i++); (A)98(B)99(C)100(D)101 28.设有程序段: intk=10; while(k=0)k=k-1; 则下面描述中正确的是() (A)循环是无限循环(B)循环体语句一次也不执行 (C)while语句执行10次(D)循环体语句执行一次 29.已知inti=3;下面while语句执行时的循环次数为() do{i--; cout< }while(i! =0); (A)1(B)2(C)3(D)4 30.C++中,关于函数说法正确的是() (A) 函数的定义可以嵌套,但函数的调用不可以嵌套 (B) 函数的定义不可以嵌套,但函数的调用可以嵌套 (C) 函数的定义和函数的调用均不可以嵌套 (D) 函数的定义和函数的调用均可以嵌套 31.下面for语句结束后,i的值是()。 for(i=0;i<5;i++); (A)4(B)5(C)6(D)7 32.已知字符B的ASCII码是66,则执行语句: charch='B'+2;后,cout< (A)66(B)C(C)D(D)不能确定 33.以下正确的函数原型声明是()。 (A)doublef1(inta,intb);(B)doublef1(a,b); (C)voidf1(inta,b);(D)voidf1(a,intb); 34.下列关于do…while语句的叙述正确的是() (A)do…while语句所构成的循环不能用其他语句构成的循环来代替 (B)do…while语句所构成的循环只能用break语句跳出 (C)do…while语句所构成的循环只有在while后面的表达式非零时才结束 (D)do…while语句所构成的循环只有在while后面的表达式为零时才结束 35.以下正确的函数原型声明是() (A)doublef2(inta;chara);(B)doublef2(a,b); (C)voidf2(inta,b);(D)voidf2(int,int); 36.若有inta,b,t;下面不能实现将a和b中的数据进行交换的是()。 (A)a=a+b,b=a-b,a=a-b;(B)t=a,a=b,b=t; (C)a=t;t=b;b=a;(D)t=b;b=a;a=t 37.有数组intnum[5]={12,13,14,15,16};则num[0]的值为()。 (A)12(B)13(C)14(D)15 38.若用数组名作为函数调用的实参,则传递给形参的是()。 (A)数组的首地址(B)数组第一个元素的值 (C)数组中全部元素的值(D)数组元素的个数 39.以下程序段的执行结果是()。 intone=1; int&two=one; two=2; cout< (A)0(B)1(C)2(D)3 40.下面对字符串赋初值的语句中错误的是()。 (A)charstr[6]="test! ";(B)charstr[6]={'t','e','s','t','! ','\0'}; (C)charstr[6]='test! ';(D)charstr[]="test! "; 41.在C++语言中,引用数组元素时,其数组下标的数据类型不允许是() (A)整型常量(B)整型表达式 (C)整型常量或整型表达式(D)变量 42.有数组intnum[5]={12,13,14,15,16};则num[2]的值为() (A)12(B)13(C)14(D)15 43.若有说明: inta[5][6],则对a数组元素的正确引用是() (A)a[4,2](B)a[5][6](C)a[1+3][1](D)a(4) (2) 44.以下程序段的执行结果是() intaa=2; int&bb=aa; bb=6; cout< (A)0(B)2(C)4(D)6 45.C++中,函数的返回值的类型是由() (A) 调用该函数时的主调函数类型所决定 (B) 调用该函数时系统临时决定 (C) 在定义该函数时所指定的函数类型所决定 (D) return语句中的表达式类型所决定的 46.已有定义intk=2;int*p1,*p2;且p1和p2均已指向变量k,下面能正确执行的赋值语句是() (A)k=*p1+*p2;(B)p2=k; (C)p1=*p2;(D)*p1=p2; 47.已知以下程序段: voidfunc() {intn=5;} intmain() {intn=4; func(); cout< return0; } 则程序的输出结果是() (A)4(B)5(C)0(D)1 48.已知以下程序段: intfunc(intx,inty) {returnx*y;} intmain() { intj=5; intm=func(j,2); intk=func(j,3); return0; } 则程序中变量m和k的值分别为() (A)15,10(B)10,15(C)10,10(D)15,15 49.以下程序段的执行结果是()。 voidadd(inta,intb) {a++; b++; } voidmain() {intx=1,y=2; fun(x,y); cout< } (A)12(B)22(C)23(D)33 50.函数默认参数在函数原型中说明,默认参数必须放在参数列表的()。 (A)前部(B)中部(C)后部(D)两端 51.下列程序段中循环体执行的次数为()。 for(n=1;n<4;n+2); (A)2(B)3(C)4(D)无限次 52.设a,b,c,d,m,n均为整型变量,且a=7,b=5,c=3,d=8,m=2,n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为()。 (A)0(B)1(C)2(D)3 53.已知以下程序段: intfunc(intx,intn=2) {returnx*n;} intmain() { inta=5; intm=func(a); intk=func(a,3); return0; } 则程序中变量m和k的值分别为()。 (A)15,10(B)10,15(C)10,10(D)15,15 54.下列语句中不是死循环的是() (A)inti=100; while (1){i=i%100+1;if(i==20)break;} (B)inti,sum=0; for(i=1;;i++)sum++; (C)intk=0; do{++k;}while(k>=0); (D)ints=3379; while(s++%2+3%2)s++; 55.以下 为不正确的if语句。 A、if(x>y);B、if(x==y)x+y; C、if(x! =y)cin>>xelsecin>>y;D、if(x 56.在intb[][3]={{1},{3,2},{4,5,6},{0}};b[2][2]的值是() A.0B.2C.5D.6。 57.要定义数组A,使得其中每个元素的数据依次为: 3、9、4、8、0、0、0,错误的定义语() A.intA[]={3,9,4,8,0,0,0,}; B.intA[7]={3,9,4,8,0,0,0}; C.intA[]={3,9,4,8}; D.intA[7]={3,9,4,8}; 58.下面的程序,对于输入: 29,输出的结果是() #include usingnamespacestd; voidmain() { inta; floatb; cin>>a>>b; cout<<"a+b="< } (A)a+b=2(B)a+b=11(C)a+b=26(D)a+b=24 59.下列选项中属于C++语句的是() (A);(B)a=17(C)i+5(D)cout<<'\n' 60.若有定义inta=7;则下列语句组对应的输出结果是() switch(a%5) { case0: cout< case1: cout<<++a; case2: cout< case3: cout<<--a; default: cout<<"其他值"; } (A)其他值(B)5(C)7(D)75其他值 61.下列程序段中循环体执行的次数为() for(m=4;m;m-=2) for(n=1;n<4;n++) {s=m+n;} (A)16(B)12(C)6(D)8 62.在一个被调用函数中,关于return语句使用的描述,下列哪项是错误的() A.被调用函数中可以不用return语句 B.被调用函数中可以使用多个return语句 C.被调用函数中,如果有返回值,就一定要有return语句 D.被调用函数中,一个return语句可返回多个值给调用函数 63.若i为整型变量,则下列while循环执行的次数为() i=10; while(i==0)i=i-1; (A)0次(B)1次(C)10次(D)无限次 64.设有intx=8;则表达式++x/3的值是() (A)2(B)3(C)2.6(D)0 65.若变量c为char型,能正确判断出c为大写字母的表达式是()。 (A)'A'<=c<='Z'(B)(c>='A')||(c<='Z') (C)('A'<=c)and('Z'>=c)(D)(c>='A')&&(c<='Z') 66.设有程序段如下: intk; intA[10]; 则下列表达式中,与元素A[k]等效的是 A.A+k B.*A+k C.*(A+k) D.A+*k (密封线内不答题) ……………………………………………………密………………………………………………封………………………………………线……………………………………线……………………………………… 姓名学号 学院专业座位号 (密封线内不答题) ……………………………………………………密………………………………………………封………………………………………线……………………………………线……………………………………… 二、阅读下列程序,写出执行结果。 1. #include usingnamespacestd; intmain() { inta=5,b=10,c=3,d=0; c+=a; d--; ++b; cout<<"a="< cout<<"b="< cout<<"c="< cout<<"d="< return0; } 2. #include usingnamespacestd; intmain() { intn2=0,n3=0,n5=0; intM=10; for(inti=1;i<=M;i++) { if(i%2==0)n2++; if(i%3==0)n3++; if(i%5==0)n5++; } cout< return0; } 3. #include voidmain() { inti=1,s=0; while(i<=5) {s=s+i;i=i+1;} cout<<”s=”< return0; } 4. #include usingnamespacestd; intmain() { intn2=0; intM=10; for(inti=1;i<=M;i++) { if(i%2==0)n2++; } cout< return0; } 5.假定输入4个整数: 87,32,64,53下列程序的输出结果是? #include usingnamespacestd; intmain() { inta,b,c,x; a=b=c=0; for(intk=0;k<4;k++) { cin>>x; switch(x%3) { case0: a+=x;break; case1: b+=x;break; case2: c+=x;break; } } cout< return0;} 6. #include usingnamespacestd; voidswap(int*x,int*y) { inttemp; temp=*x; *x=*y; *y=temp; } intmain() {inta,b; a=5;b=7; cout<<"a="< swap(&a,&b);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 复习题