- int cond可以简化代码 例:
#include<stdio.h>
int main(){
printf("请输入一个2位数:");
int a;
scanf("%d",&a);
int cond1=a%10!=7;
int cond2=a/10!=7;
int cond3=a%7!=0;
printf("%d",cond1&&cond2&&cond3);
return 0;
}
短路
- 定义:若代码的结果已经确定,代码会终止不往后运行 例如:a已经不小于1了,所以b++不会执行,最后结果为b=5
#include<stdio.h>
int main(){
//短路
int a = 1,b = 5;
a<0&&b++;//a<0为假,所以b++不会执行,被短路
printf("a=%d\nb=%d",a,b);
return 0;
}
三元运算符
- 定义:三个操作数的运算符,表示为关系表达式?表达式1:表达式2; 例:下求a的绝对值
#include<stdio.h>
int main(){
int a = -7;
int b = a>0 ? a : -a;
printf("a=%d\nb=%d",a,b);
return 0;
}
#include<stdio.h>
int main(){
printf("请输入2个数: ");
int a,b;
scanf("%d %d",&a,&b);
int c=a>b?a:b;
printf("更大的是%d",c);
return 0;
}
#include<stdio.h>
int main(){
printf("请输入3个数: ");
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
int d=a>b?a:b;
d=d>c?d:c;
printf("更大的是%d",d);
return 0;
}
逗号运算符
- 格式:表达式1,表达式2,表达式3... 例:逗号运算符并列的最后一个为输出的结果
#include<stdio.h>
int main(){
int a=1,b=2 ,c=3;
int d =(a,b,++c);
printf("%d",d);
}
输出结果为c++,即4
运算符的优先级
要点:1. 小括号优先于所有,添加必要的小括号 2. 一元 > 二元 > 三元 a. 一个变量就可以使用的运算符,就是一元运算符。例如 ++, --, ! b. 二个变量可以使用的运算符,就是二元运算符。例如: * / % c. 三元运算符,只有一个,就是 ?:
- && > || > 赋值
- 运算的优先级比关系的高