关系运算符和表达式
关系运算符:在程序中经常需要比较两个量的大小关系,以决定程序下一步的运作。比较两个量的运算符称为关系运算符。
在C语言中有以下关系运算符:
1. < 小于
2. <= 小于或等于
3. > 大于
4. >= 大于或等于
5. == 等于
6. !=不等于
关系运算符都是双目运算符,其结合性均为左结合性;关系运算符的优先级低于算术运算符,高于赋值运算符;
在上面六个中:1=2=3=4>5=6
注:双目运算符是指两个量发生关系,而不是一个量单独运算;左结合性表示从左到右。
关系表达式
一般形式为:表达式 关系表达式 表达式
关系表达式也是表达式
可以嵌套;
a+h>=(d+j);
f+h==(g<s+g);
关系表达式的值是“真”和“假”,分别用“1”和“0”表示。
eg:
#include <stdio.h>
int main()
{
char c='k';
int i=1,j=2,k=3;
float x=3e+5,y=0.85;
printf("%d,%d\n",'a'+5<c,-i-2*j>k+1); 用字母的ASCII码的值来参与运算,
printf("%d,%d\n",1<j<5,x-5.25<=x+y); 若成立,则值为1;若不成立,则为0;
printf("%d,%d\n",i+j+k==-2*j,k==j==i+5);
}
逻辑运算符和表达式
逻辑运算符及其优先次序
1. && 与运算; 交集
2. || 或运算; 并集
3. ! 非运算; 补集
1.2均为双目运算符,具有左结合性;
3.为单目运算符,具有有结合性;
3>2>1,真的值为1,假的值为0;
C语言的注释方法:
1. //+汉字;
2. /* 汉字 */ ;
按照运算符的优先顺序可以得出以下结论:
1. a+b && c+d 等价于 (a+b)&& (c+d);
2. !b==c||d<a 等价于 ((!b)==c)||(d<a);
3. a+b>c && x+y<b 等价于 ((a+b)>c) && ((x+y)<b);
if 语句
1.
2.
3.
4.
else遵循就近原则
条件运算符和条件表达式
条件运算符为“?”和“:”,它是一个三目运算符,即有三个参与运算的量;
条件表达式的一般形式为:
表达式1? 表达式2: 表达式3;
其运作方式为:若1为真,则以2的值作为条件表达式的值;
若1为假,则以3的值作为条件表达式的值;
eg:
max(a>b)?a:b;
其意义为:若a>b为真,则把a赋予给max,否则将把b赋予给max;
switch语句