什么是分支与循环
c语言是结构化的程序设计语言,结构指的是顺序结构、选择结构、循环结构。
那么我们可以使用if
、switch
来实现分支结构也就是选择结构,使用for
、while
、do......while
来实现循环结构。
if语句
if语句表达式如下
1 if(表达式)
语句
表达式成立则为真 语句运行,表达式不成立则为假 语句不运行。
示例:判断一个数是否为奇数。
1 #include <stdio.h>
2 int main()
3 {
4 int num = 0;
5 scanf("%d", &num);
6 if(num % 2 == 1)
7 printf("%d 是奇数\n", num);
8 return 0;
9 }
if语句中的else
上面示例中如果不是奇数,那就是偶数,但是上面这个代码只能判断奇数,那如何才能判断任意一个数是奇数还是偶数呢?
这里就要用到if......else......
这个语句了,让我们看看该如何使用。
示例:如何判断任意一个数是奇数还是偶数。
1 #include <stdio.h>
2 int main()
3 {
4 int num = 0;
5 scanf("%d", &num);
6 if(num % 2 == 1)
7 printf("%d 是奇数\n", num);
8 else
printf("%d 是偶数\n",num);
8 return 0;
9 }
if的嵌套
当然一个if
语句里面也可以包含多个if
语句,那么我们该如何来实现呢?
示例:输入一个整数来判断是正数?负数?还是0?
1 #include <stdio.h>
2 int main()
3 {
4 int num = 0;
5 scanf("%d", &num);
6 if(num == 0)
7 printf("输⼊的数字是0\n");
8 else if(num > 0) //这⾥的if 相当于嵌套在else语句中,形成了嵌套结构
9 printf("输⼊的数字是正数\n");
10 else
11 printf("输⼊的数字是负数\n");
12
13 return 0;
14 }
关系操作符
if
语句中用到的关系操作符,用于关系表达式
> ⼤于运算符
< ⼩于运算符
>= ⼤于等于运算符
<= ⼩于等于运算符
== 相等运算符
!= 不相等运算符
条件操作符
在if
语句中经常会用到条件表达式
条件操作符(三目操作符)表达形式如下:
1 exp1 ? exp2 : exp3
什么意思呢?
三目操作符的计算逻辑是:如果exp1
为真,exp2
计算,计算结果为表达式结果;若exp1
为假,则exp3
计算,exp3
计算的结果为表达式结果。
逻辑操作符
那有读者会问了,如果我if
语句中的表达式我想既要…又要…或者怎么样该怎么办,逻辑操作符就能很好的解决问题。
1 ||、 &&、 !
上面列出来的三个就是逻辑操作符。
“||” 或运算符
1 if(exp1 || exp2)//这里用到的或运算符意思为我要么满足exp1或者满足exp2
||
或操作符的意思我两个表达式只要有一个为真就能运算,如果两个都为假则不能运算。
“&&” 与运算符
1 if(exp1 && exp2)//这里的与运算符意思为我两个表达式都要满足才能运算
&&
与运算符的意思为两个表达式都要为真才能进行运算,如果一个为真另一个为假,则不能运算。
“!” 逻辑取反运算符
示例:
1 int flag = 0;
2 if(! flag)//这里flag经过!之后就=1
意思就是如果flag
为真,!flag
就为假;如果flag
为假,则!flag
就为真。
其他语句我们放在下一篇讲!!