C++基础+编程题复习

发布时间 : 星期三 文章C++基础+编程题复习更新完毕开始阅读

f(int,int=0,double=0.0);则下列函数中不可以加以重载的是__c____。

A. int f(int); B. int f(int,int);

C. f(int,int,double); D. f(int,double); 89. 已知函数f的原型是:int f(char a,char *b=NULL,double c=0.0); 则下列调用中,不能正确地调用f函数的是____b____。 A. f(99) B. f('A',4.5)

C. f('A',\ D. f((char)65,\ 90. 已知一函数的形参说明为int arr[5][6],在下列说明中,与此等效的形参说明为_____d____。

A. int arr[][] B. int [5][] C. int *a[6] D. int (*a)[6]

91. 已知int f(int);和int g(int);分别是函数f和g的原型。下列语句中,将函数f作为语句调用的有___d_____。 A.f(3)+g(3);B.p/=f(3); C.g(f(3)); D. f(g(3));

92. 下面的哪个保留字不能作为函数的返回类型?____c___。

A. void B. int C. new D. long 93. 在下面的函数原型声明中,存在着语法错误的是___d____。

A.void BC(int a,int); B. void BD(int ,int); C. void BE(int ,int=5); D. int BF(int x;int y); 94. 在每个C++程序中都必须包含有这样一个函数,该函数的函数名为___a____。 A. main B. MAINC. name D. function 95. 由C++目标文件连接而成的可执行文件的缺省扩展名为____b____。

A. cpp B. exe C. obj D. lik 96. 对数组名作函数的参数,下面描述正确的是___b__。

A. 数组名作函数的参数,调用时将实参数组复制给形参数组。

B. 数组名作函数的参数,主调函数和被调函数共用一段存储单元。

C. 数组名作参数时,形参定义的数组长度不能省略。

D. 数组名作参数,不能改变主调函数中的数据。

97. 预处理命令以(b)开头。 A. * B. # C. / D. : 98. 对于一个功能不太复杂,并且要求加快执行速度,选用______a____合适。 A. 内联函数 B. 重载函数 C. 递归调用 D. 嵌套调用 99. C++中,关于参数默认值的描述正确的是_____b____。

A. 只能在函数定义时设置参数默认值 B. 设置参数默认值时,应当从右向左设置 C. 设置参数默认值时,应当全部设置 D. 设置参数默认值后,调用函数不能再对参数赋值

100. 在参数传递过程中,对形参和实参的要求是____b_____。

A. 函数定义时,形参一直占用存储空间。 B. 实参可以是常量、变量或表达式。 C. 形参可以是常量、变量或表达式。 D. 形参和实参类型和个数都可以不同。 101. 下列哪个不是重载函数在调用时选择的依据。___c_______

A. 参数类型 B. 参数个数 C. 函数类型 D. 函数名

102. 关于函数返回值的的描述正确的是____c______。

A. 函数返回表达式的类型一定与函数的类型相同

B. 函数返回值的类型决定了返回值表达式的类型

C. 当函数类型与返回值表达式类型不同,将对返回值表达式的值进行类型转换 D.函数返回值类型就是返回值表达式类型 103. 如果一个函数无返回值,定义它时函数类型应是____c______。

A. 任意 B. int C. void D. 无 104. 以下正确的说法是____d_____。 A. 用户若需要调用标准函数,调用前必须重新定义

B. 用户可以直接调用所有标准库函数 C. 用户可以定义和标准库函数重名的函数,但是在使用时调用的是系统库函数 D. 用户可以通过文件包含命令将系统库函数包含到用户源文件中,然后调用系统库函数

105. 下面程序段的运行结果是_d____。

#include void main( ) {

int I,j,a=0;

for(I=0;I<2;I++) {

for(j=0;j<4;j++) {

if(j%2) break; a++; } a++; }

cout<

} A. 4 B. 5 C. 6 D. 7

106. 下面程序段的运行结果是___a____。#include void main() {int I;

for(I=1;I<=5;I++) { if(I%2) cout<<―*‖; else continue; cout<<―#‖; } cout<<―$\\n‖; }

A. *#*#*#$ B. #*#*#*$ C. *#*#$ D. #*#*$

107. 下面程序段的运行结果是___b__。 #include main( ) {

int i,j,x=0;

for(I=0;I<2;I++) { x++;

for(j=0;j<=3;j++) {

if(j%2) continue; x++; } x++; }

cout<<―x=‖<

} A. x=4 B. x=8 C. x=6 D. x=12 108. 下面程序的运行结果是_b____。 #include void main() {

int a,b;

for(a=1,b=1;a<=100;a++) {

if(b>=20)break; if(b%3==1)

{b+=3;continue;} b-=5; }

cout<

} A. 7 B. 8 C. 9 D. 10 109. 下面程序段__c___。 x=3; do {y=x--;

if(!y){cout<<\cout<<\

while(1<=x<=2);

A. 将输出## B. 将输出##* C. 是死循环

D. 含有不合法的控制表达式 110. 下面程序段__d___。 for(t=1;t<=100;t++) {cin>>x;

if(x<0)continue; cout<

A. 当x<0时整个循环结束 B. x>=0时什么也不输出 C. cout永远也不执行

D. 最多允许输出100个非负整数

111. 以下能正确计算1*2*3*?*10的程序段是___c___。

A. do {i=1;s=1; s=s*i; i++;} while(i<=10); B. do {i=1;s=0; s=s*i;i++;} while(i<=10);

C. i=1;s=1; do {s=s*i; i++;} while(i<=10);

D. i=1;s=0; do{s=s*i; i++;}

while(i<=10); 112. int x=-1; do

{x=x*x;} while(!x);

下列说法正确的是____c____。 A. 是死循环 B. 循环执行两次 C. 循环执行一次 D. 有语法错误 113. int a=1,b=2,c=2;

while(a

A. 1,2,0 B. 2,1,0 C. 1,2,1 D. 2,1,1 114. int x=0,y=0;

while(x<15) y++,x+=++y; cout<

则运行结果为___d_____。 A. 20,7 B. 6,12 C. 20,8 D. 8,20 115. int x=0,s=0; while(!x!=0) s+=++x; cout<

则____b___。

A. 运行程序段后输出0 B. 运行程序段后输出1

C. 程序段中的控制表达式是非法的 D. 程序段执行无限次

116. 带参数的宏定义中,程序中引用宏定义的实参__a__

A. 只能是常量 B. 任何标识符 C. 任意表达式 D. 被定义的宏名

117. 文件包含命令中被包含的文件扩展名___d__。

A. 必须为.h B. 不能为.h C. 必须是.c D. 不一定是.h

118. 预处理命令在程序中都是以_b___开头的。

A. * B. # C. : D. /

119. 以下程序输出的结果是a=___a__,b=_______ #include void main(void)

{ for(int a=1,b=1; a<=5; a++) { if (b>=8) break;

if(b%2==1){b+=7; continue;} b-=3; }

cout<<\} A. 2 8 B. 1 7 C. 8 2 D. 7 1

120. break语句只能用在___d__ A. 开关语句中

B. 函数体中允许语句出现的任一位置 C. 循环语句中

D. 开关语句或循环语句中

121. 循环语句for(<表达式1>;<表达式2>;<表达式3>)<语句>中,<语句>的执行情况是__c__.

A. 至少执行一次 B. 至少执行两次 C. 可能执行,也可能不执行 D. 不执行 122. 下列程序的运行结果是__b____. include void main() {

int i=1; do{ i++;

cout<<++i;

if (i==7) break; }while(i==3); cout<<‖ok!‖;

} A. 2 4 ok! B. 3 5 ok! C. 1 1 ok! D. 3 3 ok! 123. 下面程序的运行结果是_a__ #include void main() {

int i=0; while(++i) {

if(i==10) break; if(i%3!=1) continue; cout<< i; }

} A. 1 4 7 B. 1 1 1

C. 3 3 3 D. 2 4 6

124. 下列关于开关语句的描述中,___a__是正确的.

A. 开关语句中default子句可以没有,也可以有一个

B. 开关语句中每个语句序列中必须有break语句

C. 开关语句中default子句只能放在最后 D. 开关语句中case子句后面的表达式可以是整型表达式

125. 下述关于break语句的描述中,___c__是不正确的

A. break语句可用于循环体内,它将退出该重循环

B. break语句可用于开关语句中,它将退出开关语句

C. break语句可用于if体内,它将退出if语句

D. break语句在一个循环体内可以出现多次

126. 下述关于循环体的描述中,___c_是错误的.

A. 循环体中可以出现break语句和continue语句

B. 循环体中还可以出现循环语句 C. 循环体中不能出现goto语句 D. 循环体中可以出现开关语句

127.下列for循环的循环体执行次数为__d_. For(int i=0,j=10;i=j=10;i++,j--) A. 0 B. 1 C. 10 D. 无限

128. 下列DO-While循环的次数为__d__. int i=5; Do

{ cout<

}while(i!=0);

A. 0 B. 1 C. 5 D. 无限 129. 下列While循环的次数是_a__. While( int i=0) i--;

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

130. 下列for循环的次数为__b___. for(int i=0,x=0;!x&&i<=5;i++)

A. 5 B. 6 C. 1 D. 无限 131. 下列__a__是语句. A. ; B. a=17 C. x+y D. cout<<‖\\n‖ 132. 在循环语句的循环体中使用break语句的作用是__b___。

A. 结束本次循环 B. 结束该层的循环 C. 结束开关语句 D. 结束程序执行 133. 循环语句\x=0,y=0;y!=100||x<10;)x++;\,执行的循环次数是___a___。

A. 无限次 B. 10 C. 11 D. 100 134. 执行以下程序段时,输出_a___。 int s1=0,s2=0,s3=0,s4=0; for(int t=1; t<=4; t++ ) switch(t) {

case t>= 4 : s1++ ; break ; case t>= 3 : s2++ ; break ; case t>= 2 : s3++ ; default: s4 ++ ;

cout<

B. 1,1,1,2 C. 1,2,3,2 D. 1,1,2,2 135. 设e1和e3是表达式,与语句for(e1;;e3)s;等同的语句是___d___。

A. for(e1;e1;e3) s; B. for(e1;e3;e3) s; C. for(e1;0;e3) s; D. for(e1;1;e3) s; 136. 为了避免嵌套的if-else语句的二义性,C++语言规定else总是与__c__组成配对关系。

A. 缩排位置相同的if B. 在其之前未配对的if

C. 在其之前未配对的最近的if D. 同一行上的if

137. 选择出合法的if语句(设有int x,y;),正确输出x与y的大小关系__b___。 A. if(x!=y)

if(x>y) cout<<\; else cout<<\ B. if(x!=y)

if(x>y) cout<<\ else cout<<\else cout<<\ C. if(x!=y)

if(x>y) cout<<\else cout<<\

联系合同范文客服:xxxxx#qq.com(#替换为@)