一:运算符
①:算术运算符 + - * / % ++ --
②:关系运算符 > < == >= <= !=
③:逻辑运算符 ! && ||
④:位运算符 << >> ~ | ^ &
⑤:赋值运算符 =及其拓展赋值运算符
⑥:条件运算符 ?:
⑦:逗号运算符 ,
⑧:指针运算符 * &
⑨:求字节数运算符 sizeof
⑩:强制类型转换运算符 (类型)
⑪:成员运算符 . ->
⑫:下标运算符 [ ]
⑬:其他 如函数调用运算符()
⭐:常用算术运算符
符号: + - * / %
加(+)、减(-)、乘(*)、除(/) 取余(%)
✳:取余
符号:%
int a=10%3; //a=1
int b=9%3; //b=0
(1)注意:C语言规定,两个整数相除的商还是整数,向下取整。
(2)例如:5/2结果是2,要想得到2.5,应该写成5.0/2或5/2.0.
(3)注意:% 只能用于整数运算。
✳:自增自减运算符
符号:++ 和 --
作用:
- 自增运算符为
++
,其功能是使变量的值自增1 - 自减运算符为
--
,其功能是使变量的值自减1。
int i=j=k=l=6;
i++; //i=7
j--; //j=5
++k; //k=7
--l; //l=5
类型
(1)前置
++i,--i 在使用i之前,先使i的值加/减1
(2)后置
i++,i-- 在使用i之后,使i的值加/减1
eg:
①:int i=3,j; j=++i; //i的值先变成4, 再赋给j,j的值为4
int i=3; printf(“%d”,++i); //输出4
②:int i=3,j; j=i++; //先将 i的值3赋给j,j的值为3,然后i变为4
int i=3; printf(“%d”,i++); //输出3
✳:除法
符号:/
注意:
如果相除的两个数都是整数的话,则结果也为整数,小数部分省略,如
8/3 = 2
;
而两数中有一个为小数,结果则为小数,如:
9.0/2 = 4.500000
。
注:C语言中没有乘方这个运算符,也不能用×, ÷
等算术符号。
⭐:赋值运算符
分类:
单赋值运算符
复合赋值运算符
✳:简单赋值运算符
符号:=
✳:复合赋值运算符
就是在简单赋值符=
之前加上其它运算符构成
符号:+=、-=、*=、/=、%=
①+=:加法赋值运算符,将右侧的值与左侧的变量相加,然后将结果赋给左侧的变量
int a = 10;
a += 5; // a = a + 5, a = 15
②-=:减法赋值运算符,将右侧的值从左侧的变量中减去,然后将结果赋给左侧的变量
int a = 10;
a -= 5; // a = a - 5, a = 5
③:*=:乘法赋值运算符,将右侧的值与左侧的变量相乘,然后将结果赋给左侧的变量
int a = 10;
a *= 5; // a = a * 5, a = 50
④:/=:除法赋值运算符,将右侧的值除以左侧的变量,然后将结果赋给左侧的变量
int a = 10;
a /= 5; // a = a / 5, a = 2
⑤:%=:取模赋值运算符,将右侧的值对左侧的变量取模,然后将结果赋给左侧的变量
int a = 10;
a %= 5; // a = a % 5, a = 0
⭐:关系运算符
关系表达式的值是真
和假
,在C程序用整数1
和0
表示。
✳:>=, <=, ==, !=
这种符号之间不能存在空格
⭐:逻辑运算符
C语言中的逻辑运算符:
逻辑运算的值也是有两种分别为真
和假
,C语言中用整型的1和0来表示。其求值规则如下:
- 与运算
&&
参与运算的两个变量都为真时,结果才为真,否则为假。例:5>=5 && 7>5 ,结果为真;
- 或运算
||
参与运算的两个变量只要有一个为真,结果就为真。 两个量都为假时,结果为假。例:5>=5 || 5>8,运算结果为真;
- 非运算
!
参与运算的变量为真时,结果为假;参与运算量为假时,结果为真。例如:!(5>8),运算结果为真。
⭐:三目运算符
C语言中的三目运算符:?:
格式:表达式1 ?表达式2 : 表达式3;
执行过程是:
先判断表达式1的值是否为真,如果是真的话执行表达式2;如果是假的话执行表达式3。
#include <stdio.h>
int main()
{
//定义小编兜里的钱
double money =12.0 ;
//定义打车回家的费用
double cost =11.5 ;
printf("小编能不能打车回家呢:");
//输出y小编就打车回家了,输出n小编就不能打车回家
printf("%c\n",money>=cost?'y':'n');
return 0;
}
⭐:运算符之优先级比较
各种运算符号的顺序:
优先级别为1的优先级最高,优先级别为10的优先级别最低。