目录
语法结构:
ps:表达式详解:
ps:单条语句与多条语句:
ex:下面我们写几个例子来加深一下理解:
if语句是分支语句(循环结构)的一种:
语法结构:
1.
if (表达式)
语句;
#include <stdio.h>
int main()
{
int age = 0;
scanf("%d", &age);
if (age < 18)
printf("未成年\n");
}
当age满足 <18 这个条件时,就可以继续执行下面的语句,打印出 "未成年"。
2.
if (表达式)
语句1;
else
语句2;
#include <stdio.h>
int main()
{
int age = 0;
scanf("%d", &age);
if (age < 18)
{
printf("未成年\n");
}
else
{
printf("成年\n");
}
}
当age满足条件 <18 时,执行if下面的语句,打印出"未成年",
否则,就会执行 else 下面的语句,打印出"成年" 。
3.
//多分支
if (表达式1)
语句1;
else if (表达式2)3.
语句2;
else
语句3;
#include <stdio.h>
int main()
{
int age = 0;
scanf("%d", &age);
if (age < 18)
{
printf("少年\n");
}
else if (age >= 18 && age < 30)
{
printf("青年\n");
}
else if (age >= 30 && age < 50)
{
printf("中年\n");
}
else if (age >= 50 && age < 80)
{
printf("老年\n");
}
else
{
printf("老寿星\n");
}
}
多分支语句:
从上到下依次判断,若符合 if 条件,就执行if下面的语句;若不符合 if ,就看是否满足下一条 else if 的条件;
直到找出符合条件的为止,若所有条件都不符合,就执行 else 的语句。
ps:表达式详解:
如果满足表达式,即表达式为真,则执行语句;
若不满足表达式,即表达式为假,不执行语句。
那何为真假呢?
0表示假,非0表示真
ps:单条语句与多条语句:
想必大家也注意到了,这里我所写的语句都是单条语句,只有一个printf语句,
当我们要写多条语句时,要用到{},将代码括起来。
if (age < 18)
printf("未成年\n");
printf("不能喝酒\n");
else
printf("成年");
if语句默认只会执行一条语句,像这样输入多条语句时,编译器会认为if else 中间多出了一条外来语句,不符合if语句的语法 ,所以会报错。
我们必须要用{}括起来才行!
#include <stdio.h>
int main()
{
int age = 0;
scanf("%d", &age);
if (age < 18)
{
printf("未成年\n");
printf("不能喝酒\n");
}
else
printf("成年\n");
printf("适量饮酒\n");
return 0;
}
这里当我们输入15时,本想再else中输出的语句也会打印出来,这就说明else的第二条语句不包含在else中;
所以要用{}括起来。
为了避免这种错误,我们要养成加{}的习惯!!!
ex:下面我们写几个例子来加深一下理解:
1.悬空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;
}
这段代码的结果是什么都不打印!
ps: else的匹配:else是和它离的最近的if匹配的。
2.if书写形式的对比
//代码1
if (condition)
{
return x;
}
return y;
这段代码的意思也是if...else
return 一次之后就会结束函数,如果符合condition 返回x, 不符合,返回y
逻辑不是很清晰。
//代码2
int num = 1;
if (num == 5)
{
printf("hehe\n");
}
这里if的表达式为判断是否相等,判断是否相等的符号为"==",
但是我相信几乎每个人都会犯这样的错误:
if (num = 5)
这样一来就不是判断了,而是将5赋值给num!!!
为了避免这样的错误,我们可以将"=="两边的表达式交换一下:
if (5 == num)文章来源:https://www.toymoban.com/news/detail-418540.html
这样写的话,就算你只写了一个=,编译器就会报错,就可以及时得改正过来。文章来源地址https://www.toymoban.com/news/detail-418540.html
到了这里,关于if语句—超详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!