C语言--每日五道选择题--Day11

第一题

1、以下叙述中正确的是( )

A: 只能在循环体内和switch语句体内使用break语句

B: 当break出现在循环体中的switch语句体内时,其作用是跳出该switch语句体,并中止循环体的执行

C: continue语句的作用是:在执行完本次循环体中剩余语句后,中止循环

D: 在while语句和do-while语句中无法使用continue语句

答案及解析 A

break和continue语句,可以出现在循环语句和switch语句中;

break的作用是立刻跳出当前循环;

continue的作用是,不执行后面的语句,直接去下一次循环;

第二题

2、下列 for 循环的次数为( )

for(int i = 0 ; i || i++ < 5;);

A: 0 

B: 5 

C: 1 

D: 无限

答案及解析 D

本题是考察的逻辑或的应用,有1就是1,全0才是0,所以这就注定了逻辑或的结果要么是1,要么是0,恒小于5,所以是死循环;

但是要注意的是,逻辑或,左边成立,不会执行右边;

第三题

3、以下描述中正确的是( )

A: 由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句

B: do-while循环由do开始,用while结束,在while(表达式)后面不能写分号

C: 在do-while循环体中,不一定要有能使while后面表达式的值变为零("假")的操作

D: do-while循环中,根据情况可以省略while

答案及解析 C

A:错误,do-while循环,循环体内部可以是复合语句,任意嵌套;

B:错误,while(表达式)后面必须有分号

C:正确,while后面的表达式随便定,根据自身需要

D:错误,不可以省略,因为while后面的表达式是代表的循环条件的判断

第四题

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

对于函数调用来说,实参的类型要和形参的类型保持一致,所以先看形参的类型是char类型和数组类型,但是我们要知道,数组在传参的本质是指针,所以fun函数的形参类型分别是char和float*类型;

A:错误,传的是字符串,不是char类型,字符串默认传的是首元素地址;

B:错误,A啥也不是,程序也没有定义,而且A和a不一样,严格区分大小写

C:错误,2.8是float类型,不是float*类型;

D:正确,32可以当作字符类型的ASCII值,32对应的字符是‘ ’(空格);a是float数组的数组名,数组名是首元素地址,是float类型。

第五题

5、在c语言中,一个函数不写返回值类型,默认的返回类型是( )

A: int 

B: char 

C: void 

D: 都不是

答案及解析 A

这个大家可以测试一下,C语言规定,函数不写返回值类型,默认返回类型是int

但是永远不要这么写!

你可能感兴趣的:(C语言选择题,c语言,java,算法)