我的个人主页:☆光之梦☆的博客_CSDN博客-C语言基础语法(超详细)领域博主
欢迎各位 点赞 ⭐收藏 评论
特别标注:本博主将会长期更新c语言的语法知识,初学c语言的朋友们,可以收藏订阅一下我的
专栏。 关注博主,学习不迷路哦
目录
一、if 语句的基本结构
二、 if 语句的基本用法
2.1 项目一 找钱
2.2 else的用法
2.3 项目二 比较数的大小
2.4 关于大括号{}
三、分支
3.1 嵌套的 if 语句
3.2 else 的配对
3.3 用 if else 语句来表示分段函数
3.4 if 语句的常见错误
if (条件成立){
......
}
解析:
if 代表的意思是如果,()内是判断是否执行 if 语句的条件,{ }内的…… 代表 if 要执行的内容
if 语句 不循环,条件满足只执行一次 if 内的语句,条件不满足就跳过 if 语句
光说不练是肯定学不会的,接下来让我们在实战中来学习与掌握 if 语句
要求:计算并打印找钱,或告知用户余额不足以购买。
代码示例:
//初始化,定义两个变量,一个价格price,一个金额bill
int price = 0;
int bill = 0;
//读入价格和金额
printf("请输入价格:");
scanf("%d",&price);
printf("请输入金额:");
scanf("%d",&bill);
//判断找钱
if( bill >= price){
printf("需要找您:%d元\n",bill - price);
}
万一金额不够,我们还要输出:您的钱不够
我们该怎么输呢?
if( bill >= price){
printf("需要找您:%d元\n",bill - price);
}
printf("您的钱不够\n");
这样输肯定不对,因为这种情况不管钱够不够都会输出 您的钱不够
请看下方运行结果:
因为 printf("您的钱不够\n"); 不在 if 语句中,if语句如果条件不成立也不会跳过它,所以不管钱够不够都会输出 您的钱不够
所以我们需要用到else
else = 否则的话
要输出 您的钱不够 正确的做法是:
if( bill >= price){
printf("需要找您:%d/n元",bill - price);
}else{
printf("您的钱不够\n");
}
这个代码的意思是:当 if 语句条件不满足(也就是bill
要求:随机输入两个数,比较这两数中哪个数最大
比较数的大小(方案一) 纯 if
int a,b;
printf("请输入两个整数:");
scanf("%d %d", &a, &b);
int max = 0;
if(a>b){
max = a;
}
if(b>a){
max = b;
}
printf("最大的那个数是%d\n", max);
比较数的大小(方案二) if else(更推荐)
int a,b;
printf("请输入两个整数");
scanf("%d %d",&a,&b);
int max=0;
if(a>b){
max=a;
}else{
max=b;
}
printf("最的大那个数是:%d\n",max);
比较数的大小(方案三) 先让其中一个数为最大值
int a,b;
printf("请输入两个整数:");
scanf("%d %d", &a, &b);
int max = b;
if(a>b){
max = a;
}
printf("大的那个是%d\n", max);
if与else也可以不带中括号去执行(非常不建议),条件满足只能执行if接下来的一句内容,如果带来中括号{},条件满足则可以执行{}内的全部内容
例如:
int a=3,b=4;
int max;
if(a>b)
printf("max=a");
else
printf("max=b");
printf("max=%d\n",max);
注:即使只有一条语句的时候也要在 if 或者 else 后面总是用{},这样做可以降低报错率
当 if 的条件满足或者不满足的时候要执行的语句也可以是一条 if 或者 if-else 语句,这就是嵌套的if语句
代码示例如下;
int a=3,b=6;
int count=10;
if(count>=0){
if(a>b){
printf("一切正常");
}else{
printf("程序有问题");
}
}
运行结果:
else总是和最近的那个 if 匹配,且与缩进无关
代码示例如下:
int code,a,count=18;
printf("请输入code的值:");
scanf("%d",&code);
printf("请输入a的值:");
scanf("%d",&a);
if( code<=0)
if( count < 20 )
printf("一切正常\n");
else
printf("继续等待\n");
运行结果:
解析:由于code=3,大于0,所以 if 语句的条件code<=0不满足,所以就会跳过 if 语言,而 else总是和最近的那个 if 匹配,并且与缩进无关,所以这个else是与 if (count<20)匹配,不是与 if (code<=0)匹配。
if( x < 0 ){
f = -1;
}else if( x == 0){
f = 0;
} else {
f = 2 * x;
}
各位学习C语言的初学者,如果有问题随时都可以来问我,我会随时为您解答!欢迎大家与我一起学习,互相进步。
+⭐ +(一键三连) 是对博主最大的鼓励与支持哦。