一、选择题
1.以下叙述中正确的是( )
A: 只能在循环体内和switch语句体内使用break语句
B: 当break出现在循环体中的switch语句体内时,其作用是跳出该switch语句体,并中止循环体的执行
C: continue语句的作用是:在执行完本次循环体中剩余语句后,中止循环
D: 在while语句和do-while语句中无法使用continue语句
【答案】A
【解析】
对于break语句:
1.break语句通常用在循环语句和switch语句中,当break用于switch语句中时,可使程序跳出switch而执行switch以后的语句
2.当break语句用于do-while、for、while循环语句中时,可使程序终止循环而执行循环后面的语句,即满足条件时便跳出循环
对于continue语句:
continue语句的作用是跳过循环体中剩余的语句而强行执行下一次循环
2.下列for循环的次数为( )
for(int i = 0 ; i || i++ < 5;)
A: 0 B: 5 C: 1 D: 无限
【答案】D
显而易见:这是逻辑或运算
逻辑或运算最重要的一个知识点:前表达式为真,后表达式不计算
对于第一次循环时i为0时,即i为假,进而执行i++表达式,此时i=1(为真),进入循环体中,执行一次循环
第二次循环时i为1(非0),是个真值,不再执行i++,也就死循环了
3.
以下描述中正确的是( )
A: 由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B: do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
C: 在do-while循环体中,不一定要有能使while后面表达式的值变为零("假")的操作
D: do-while循环中,根据情况可以省略while
【答案】C
【解析】
do-while循环的语法:(循环至少执行一次)
do { 循环语句; }while(表达式);
do-while循环中的循环体通常都是复合语句代码块,A错误,while(表达式)后面要写分号,B错误,while不能省,D错误
4.设函数 fun 和实参数组的说明是如下形式,则对函数的调用语句中,正确的是( )
void fun(char ch,float x[]); float a[10];
A: fun("asd" , a[]); B: fun('x' , A);
C: fun('68' , 2.8); D: fun(32 , a);
【答案】D
【解析】
分析此函数:
函数的第一个参数为:字符类型
函数的第二个参数为:float x[ ]来接收参数,可以转换为float *(x),所以这里需要我们传浮点型数组或者float *指针(地址)即可
A选项数组传参只需要写数组名就行,a[]时错误的
B选项第二个参数写成了大写,错了。
C选项第二个参数是浮点数,但是fun函数的第二参数是数组不匹配,fun函数参数x需要传一个数组或者float *指针只有D选项的形式是正确的。
5.在c语言中,一个函数不写返回值类型,默认的返回类型是 ( )
A、int B、char C、void D、都不是
【答案】A
【解析】
一个函数不写返回值类型,默认的返回类型是int,但不提倡这么做,故选A。