C语言---基本语句(面试题)

C语言中的基本语句及常考的面试题

1.switch语句

注意括号中只能为整型(包括字符类型)、枚举类型

面试题:switch-case与if-else的区别?

①case语句小于3句时,与if-else**底层的实现方式是相同的**;
②线性查找
当case语句大于4的时候,且相邻的两个case之间产生的间隔之和不超过6的时候,就按照线性结构查找;
③树形查找
当最大的case和最小的case之差大于255的情况下,编译器会进行树形查找。将数据由小到大排列,取中间值(若为偶数,取中间值靠右的那一个),在左右两边继续取中间值进行划分,直到小于等于3个数据的时候为止。

2.goto语句只能在函数体内跳转

3.面试题:break与continue的区别?

break跳出当前循环结束整个循环过程,不再判断执行循环的条件是否成立
continue结束本次循环,而不是终止整个循环的执行

注意:在循环语句中,break语句以及continue语句一般都是与if语句一起使用。break以及continue不能用于循环语句和switch语句之外的任何其他语句中。

4.面试题:死循环中,while(1)与for(;;)哪个效率更高?

for(;;)的效率更高一些,两个;;空语句,编译器一般会优掉,直接进入死循环。而while(1)每次循环都需要判断常量1是不是等于0

猜你喜欢

转载自blog.csdn.net/zwe7616175/article/details/80025335