一、逻辑类型和运算
#include <stdbool.h>
- 之后就可以使用bool和true、false
- ex1:
#include <stdio.h>
#include <stdbool.h>
int main()
{
bool b = 6>5;
bool t = true;
printf("%d\n",t);
t = 2;
printf("%d\n",t);
printf("%d\n",b);
printf("%d\n",t);
return 0;
}
二、条件运算和逗号运算
1、条件运算符
- 条件运算符的优先级高于赋值运算符,但是低于其他运算符
- count=(count>20)?count-10:count+10;
- count=(count>20):条件,条件满足时执行问号后面的运算,条件不满足时执行冒号后面的运算
*ex1:
#include <stdio.h>
#include <stdbool.h>
int main()
{
count=(count>20)?count-10:count+10;
//等价
if(count > 20)
count = count - 10;
else
count = count + 10;
}
2、逗号运算符
- 逗号用来连接两个表达式,并以其右边的表达式的值作为它的结果。
- 逗号的优先级是所有的运算符中最低的,所以它两边的表达式会先计算
- 逗号的组合关系时自左向右,所以左边的表达式会先计算,而右边的表达式的值就留下来作为逗号运算的结果
- 逗号运算符主要运用于for循环中,for(i-0,j=10; ; ...)
- ex1:
#include <stdio.h>
#include <stdbool.h>
int main()
{
int i;
i = 3+4,5+6;
printf("%d",i);
return 0;
}
三、级联和嵌套的判断
1、嵌套的if-else
- 当if的条件满足或者不满足的时候要执行的语句也可以是一条if或if-else语句,这就是嵌套的if语句
- else总是和最近的if匹配
- ex1:
#include <stdio.h>
int main()
{
const int ready = 24;
int code = 0;
int count = 0;
scanf("%d %d",&code,&count);
if(code == ready){
if(count<20)
printf("一切正常\n");
}else
printf("继续等待\n");//else跟第一个if匹配
return 0;
}
2、级联的if-else
- 一般用于分段函数等场景
- ex1:
#include <stdio.h>
int main()
{
int x;
if(x<0){
...
}else if(x==0){
.....
}else{
.....
}
}
3、多路分支(switch-case)
- switch语句可以看作是一种基于计算的跳转,在执行完分支中的最后一条语句后,如果后面没有break,就会顺序执行到下面的case里去,直到遇到一个break,或者switch结束位置
- ex1:
#include <stdio.h>
int main()
{
int type;
scanf("%d",&type);
//switch(控制表达式必须是整型)
//case 后面可以是常量也可以是运算式
switch(type){
case 1:
...;
break;
case 2:
...;
break;
default:
...;
}
}
标签:count,10,逻辑,运算,int,逗号,C语言,运算符,include
From: https://www.cnblogs.com/zwb1997/p/18055483