一、选择语句
1.1 if……else 语句
if ,else语句的语法形式如下:
if (表达式1)
{
语句1;
…………
}
else if(表达式2)
{
语句1;
…………
}
else
{
语句1;
…………
}
在C语言中0表示假,非0表示真。else在匹配的时候遵循就近原则,与离他最近的if匹配。例如一下程序结果为什么都不打印。if+else合起来是一条语句。
#include <stdio.h>
int main()
{
int a = 0;
int b = 2;
if(a == 1)
if(b == 2)
printf("hehe\n");
else
printf("haha\n");
return 0;
}
1.2 关系操作符
注意:==与=好的区别,==是判断是否相等,=是用于赋值。
1.3 条件操作符
exp1 ?exp2:exp3
如果 exp1 为真, exp2 计算,计算的结果是整个表达式的结果;如果 exp1 为假, exp3 计算,计算的结果是整个表达式的结果。
1.4 逻辑操作符
&& 与 ||,注意短路现象,对于&& 若左边为假,右边无需计算,整体为假。对于||若左边为真,右边无需计算,整体为真。例子如下
#include <stdio.h>
int main()
{
int i = 0,a=0,b=2,c =3,d=4;
i = a++ && ++b && d++;//a=1 b=2 c=3 d=4 i=0
//i = a++||++b||d++;//a=1 b=3 c=3 d=4 i=1
printf("a = %d\n b = %d\n c = %d\nd = %d\n", a, b, c, d);
return 0;
}
1.5 switch语句
语法形式如下:
switch (expression) {
case value1: statement
case value2: statement
default: statement
}
注意:在每一个case对于break 的使用,如果某⼀个 case 语句的后边没有 break 语句,代码会继续往下执⾏,有可能执⾏其他 case 语句中的代码,直到遇到 break 语句或者 switch 语句结束。如果switch 后的表达式中的值⽆法匹配代码中的 case 语句的时候,这时候要不就不做处理,要不就得在 switch 语句中加⼊ default ⼦句。default与case的顺序并没有明确的规定要求,但一般都把default放在最后。
二、循环语句
2.1 while循环
while循环语法形式如下:
while(表达式)
{
语句1;
…………
}
2.2 for循环
for循环语法形式如下:
for(表达式1; 表达式2; 表达式3)
{
语句1;
…………
}
for循环的初始化、调整、判断三个部分可以省略,但是如果判断部分省略,意味着条件很成立,则会陷入死循环。
2.3 do-while 循环
do-while 循环语法形式如下:
do
{
语句1;
…………
}while(表达式);
注意 :三种循环当中,do-while循环特别点为:先直接进入循环体,至少执行一次。即先执行在判断。而while,for循环是先判断在循环。
2.4 break和continue语句
break 的作⽤是⽤于永久的终⽌循环,只要 break 被执⾏,直接就会跳出循环,继续往后执 ⾏。continue 的作⽤是跳过本次循环 continue 后边的代码,在 for 循环和 while 循环中有所差异的。
while循环中,continue 可以帮助我们跳过某⼀次循环 continue 后边的代码,直接到循环的判断部分,进⾏下⼀次循环的判断,如果循环的调整是在 continue 后边的话,可能会造成死循环。do-while 语句中的 break 和 continue 的作⽤和 while 循环中⼏乎⼀模⼀样。
for循环中 continue 的作⽤是跳过本次循环中 continue 后的代码,直接去到循环的调整部分。未来当某个条件发⽣的时候,本次循环⽆需再执⾏后续某些操作的时候,就可以使⽤ continue 来实现。
三、goto语句
C语⾔提供了⼀种⾮常特别的语法,就是 goto 语句和跳转标号, goto 语句可以实现在同⼀个函数内跳转到设置好的标号处。举例如下:
#include <stdio.h>
int main()
{
printf("hehe\n");
goto next;
printf("haha\n");
next:
printf("跳过了haha的打印\n");
return 0;
}
注意:goto 语句如果使⽤的不当,就会导致在函数内部随意乱跳转,打乱程序的执⾏流程,所以我们的建 议是能不⽤尽量不去使⽤;但是 goto 语句也不是⼀⽆是处,在多层循环的代码中,如果想快速跳出 使⽤goto 就⾮常的⽅便了。
本文详细介绍了C语言中的条件语句(if-else,关系操作符,条件操作符,逻辑操作符,switch),以及循环语句(while,for,do-while)的语法、用法和注意事项,包括break和continue的特殊作用,以及对goto语句的合理运用和潜在问题的警示。

457

被折叠的 条评论
为什么被折叠?



