一、if 语句
1.1 if 语句的语法
if(表达式),若表达式为真,则继续执行;若为假,则停止。
if 语句执行流程
1.2 else 语句的使用
if(表达式)
语句;
else(表达式)
语句;
以输出奇数偶数为例子,运用if 语句所写的这个代码。
#include <stdio.h>
int main()
{
int num = 0;
scanf("%d",&num);
if(num%2 == 0)
printf("%d是偶数\n",num);
else
printf("%d是奇数\n",num);
return 0;
}
1.3 分支中包含多种语句
以成年可以驾车为例,写一段编码如下:
#include <stdio.h>
int main()
{
int age = 0;
scanf("%d\n",&age);
if(age >= 18)
{
printf("成年\n");
printf("可以驾车\n");
}
else
{
printf("未成年\n");
printf("不可以驾车\n");
}
return 0;
}
注:若有多种语句需要用{ }将语句包含在其中,{ }又被称为代码块。
1.4 嵌套式
在 if 语句中,else可以与另一个 if 语句连用,构成多重判断。
例:输入一个整数,判断是否为0,如不是则判断是正数还是负数。
#include <stdio.h>
int main()
{
int num = 0;
scanf("%d",&num);
if(num == 0)
printf("输出的数字是0\n");
else if(num > 0)//if 相当于嵌套在else语句中,形成嵌套模式
printf("输出的数字是正数\n");
else
printf("输出的数字是负数\n");
return 0;
}
二、关系运算符
关系运算符有>、<、>=、<=、==、!=.
>:大于运算符
<:小于运算符
>=:大于等于运算符
<=:小于等于运算符
==:相等运算符
!=:不相等运算符
“=”表示的是赋值,“==”判断是否相等。
#include <stdio.h>
int main()
{
int a = 0;
scanf("%d",&a);
if(a == 3)//判断是否相等,也可以写成(3 == a),若出现错误,编译器会自动报错
{
printf("he he\n");
}
else
{
printf("ha ha\n");
}
return 0;
}
需要注意的是:多个关系符不能连用。
三、条件操作符
条件操作符也被称为三目操作符,需要接受三个操作数。
exp1 ? exp2 : exp3(?和:都是操作符)
若exp1结果为真,执行exp2,exp2 的结果是整个表达式结果。
若exp1结果为假,执行exp3,exp3 的结果是整个表达式结果。
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
scanf("%d",&a);
if(a > 5)
b = 3;
else
b = -3;
printf("%d\n",b);
return 0;
}
其中,if 语句用三目操作符可以简化为b = (a>5 ? 3 : -3)
逗号表达式,从左向右依次计算,整个表达式结果是最后一个表达式的结果。
int b = 0;
int c = 4;
int a = (a=3,a+3,b=c*3,c=2*a+b);
//a=3,b=12,c=18(最终所算的结果为a=18)
四、逻辑运算符:&&、||、!
!:逻辑取反运算符(改变单个表达式真假)
&&:与运算符(全真则真,一假为假)
||:或运算符
注:在C语言中,非0表示真,0表示假。
4.1 逻辑取反运算符 !(单目操作符)
此运算结果只会是1或0.
举例来讲:
#include <stdio.h>
int main()
{
int flag = 0;
scanf("%d",&flag);
if(flag == 0)
{
printf("do something\n");
}
if(!flag)
{
printf("do something\n");
}
return 0;
}
在上述例子中,flag 为真,!flag 为假。