在现实生活中需要进行判断和选择的情况是很多的。如:从北京出发上高速公路,到一个岔路口,有两个出口,一个是去上海方向,另一个是沈阳方向。驾车者到此处必须进行判断,根据自己的目的地,从二者中选择一条路径,这就是所谓的流程控制。如下图所示:
在编程的世界里,流程控制是我们引导程序执行路径的关键。而if else条件语句,就像是编程中的导航系统,能够帮助我们根据不同情况做出不同的决策。在本章中,我们将探索C语言中if else条件语句的神奇之处,了解其如何在程序中发挥作用,带你进入一个充满挑战和乐趣的编程冒险!让我们一起开始吧!
一、C语言的6种关系运算符:
- < (小于)
- <= (小于或等于)
- > (大于)
- >= (大于或等于)
- == (等于)
- != (不等于)
前4种的优先级相同,优先级比后两种高;5和6的优先级相同,优先级较前4种低。
例子:《你富有不?》;目的:对if 语句有个基本概念
- 打开notepad++
- 敲上基础框架(不懂基础框架的看前面几篇文章)
- 开始写代码
- 代码思路:定义一个变量,判断你富有不富有,如果你的钱比100多,那么你富有,输出“有钱人”,谈话结束。
通过这个例子,我们可以看到if 语句的基本格式为: if(判断条件是否满足){条件满足后执行的语句}
在(判断条件是否满足)中,所有的条件判断在计算机眼里都会变成两个数字,要么是0(不满足条件),要么是1 (满足条件),如果是1就执行{ }中的语句。像上面这个例子,如果我输入200,满足了条件,那么就执行{打印“有钱人”}这个命令,接着继续执行接下来的程序,直到程序结束。
二、实现两数的交换
现在有两个数13和19,我希望把2个数打印出来,那么依次打印就行了,但是如果我希望大的数在前面,小的数在后面,这个应该怎么实现呢?这就涉及到了两个数的交换, 下面先来看看土方法:
两数交换简便方法:简便在只需要判断一次大小即可,让程序更加高效!
#include <stdio.h>
int main()
{
int a = 13; //定义一个容器a,里面装13
int b = 19; //定义一个容器b,里面装19
int tmp; //定义一个临时容器tmp
if(a < b){
tmp = a; //把a容器里的水倒到tmp容器里{此时tmp=13}
a = b; //此时a容器空了{a=0},把b容器里的水倒给a容器{此时a=19}
b = tmp; //此时b容器空了{b=0},将tmp容器里的水倒给b{此时b=13}
}
printf("%d %d",a,b); //依次打印交换后的a和b容器内的值
return 0;
}
那么如果是三个数应该怎么实现呢?依次比较即可
三、逻辑运算符
&& 逻辑与 例:a && b ---->如果a和b都为真,则结果为真,否则为假;
|| 逻辑或 例:a || b ---->如果a和b有一个为真,则结果为真,二者都为假时,结果为假;
! 逻辑非 例:!a ---->如果a为假,则!a为真,如果a为真,则!a为假。
例子:《有颜有钱》
#include <stdio.h>
int main()
{
int haveMoneyYesOrNot;
int handsomeYesOrNot;
puts("你帅吗?帅的话扣1,不帅扣0");
scanf("%d",&handsomeYesOrNot);
puts("你有钱吗?有钱扣1,没钱扣0");
scanf("%d",&haveMoneyYesOrNot);
if(haveMoneyYesOrNot && handsomeYesOrNot){
puts("哇塞,我要嫁给你!");
}
if(!haveMoneyYesOrNot || !handsomeYesOrNot){
puts("拱!");
}
return 0;
}
四、if else及嵌套
如果条件为真,那么执行这一条语句;如果条件为假,那么执行这一条语句。
例1:如果输入一个字母,判别其是否为大写字母,如果是,则将它转换为小写字母;如果不是,不转换。然后输出最后得到的字符。
例2:谈恋爱案例
嵌套,就是在if else里面再加入一个或多个if else语句,就跟套娃一样,下面这个案例就是如此
首先问“身体好吗?”,不好的话......,好的话接着问“有钱吗?”,没钱的话......,有钱的话再接着问“愿意花钱吗?”, 不愿意的话......,愿意的话就打印“在一起”。
#include <stdio.h>
int main()
{
int heathyYesOrNot;
int richYesOrNot;
int daFangYesOrNot;
puts("你身体好吗?好的话扣1,不好扣0");
scanf("%d",&heathyYesOrNot);
if(heathyYesOrNot == 1){
puts("你有钱吗?有的话扣1,没扣0");
scanf("%d",&richYesOrNot);
if(richYesOrNot == 1){
puts("愿意给我花钱吗?");
scanf("%d",&daFangYesOrNot);
if(daFangYesOrNot == 1){
puts("我们在一起吧!");
}else{
puts("对不起,我不跟小气鬼做朋友");
}
}else{
puts("对不起,我喜欢有钱的");
}
}else{
puts("身体不好没有机会");
}
return 0;
}
上面的代码希望新手朋友们用心看完,会有收获的。