if语法
例题:输入一个整数,判断是否为奇数
注意这里scanf内格式和你执行时输入的格式要一样,比如手动输入\n
语法形式1:
if(表达式)
{
语句;
}
如果表达式为真,则执行语句。
如果if后不写花括号,则只执行if(表达式)后的一条指令
语法形式2:
if(表达式)
{
语句1;
}
else
{
语句2;
}
如果表达式为真则执行语句1,否则执行语句2。
例题:输入一个年龄,>= 18岁就输出“成年”,否则就输出“未成年”
语法形式3:
if(表达式1)
{
语句1;
}
else if(表达式2)
{
语句2;
}
else
{
语句3;
}
如果表达式1为真则执行语句1,如果表达式2为真则执行语句2,否则执行语句3。
逻辑运算符
- !:逻辑取反运算符(改变单个表达式的真假)。
- &&:逻辑与运算符,就是“且”的意思(两侧的表达式都为真,则为真,否则为假)。
- ||:逻辑或运算符,就是“或者”的意思(两侧至少有一个表达式为真,则为真,否则为假)。
注:C语言中,非0表示真,0表示假。
1. 逻辑取反运算符 !
逻辑取反:如果是真,经过逻辑取反结果就是假。如果是假,经过逻辑取反结果就是真。
| a | !a |
|---|---|
| 非0 | 0 |
| 0 | 1 |
2.逻辑与运算符&&
只有两个表达式都为真的时候,整个表达式为真;只要有一个表达式为假,整个表达式为假。
例题:输入一个月份,如果是在3月到5月之间则输出春季
&&短路的时候,如果左边操作数为假,则右边不再计算
3. 逻辑或运算符 ||
|| 两边的表达式只要有一个是真,整个表达式就是真,两边的表达式都为假的时候,才为假。
||短路的时候,如果左边操作数为真,则右边不再计算
switch语句
多分支选择
switch语句是一种特殊形式的 if...else 结构,用于判断条件有多个确定结果的情况。它把多重的else if改成更易用、可读性更好的形式。
switch语法格式:
switch (整型表达式)
{
case 整型常量1: 语句;
case 整型常量2: 语句;
...
default: 语句;
}
swich()是一个入口,break是一个出口,没有break则进入对应case后会接着执行下一个case
输出hellothird
注意:
- switch后的expression必须是整型表达式。
- case 后的值,必须是整型常量表达式。
while语法格式:
while (循环条件)
{
// 循环条件为真则执行代码
}
练习:在屏幕上打印 1~10 的值
练习:输入一个正的整数,逆序打印这个整数的每一位
(改进一下)
(改进一下)
练习:求5的阶乘
break 和 continue
循环控制语句
break 和 continue 是两个用于在循环内部精确控制循环流程的关键字。
- break:立即终止并跳出当前所在的循环。
- continue:跳过本次循环中尚未执行的语句,直接开始下一次循环的判断和执行