C语言基本运算
本节课知识点共七个:算术运算、赋值运算、自增自减、sizeof、关系运算、逻辑运算、三木运算
一、 算术运算
a) C语言共有34种运算符,即可以进行运算的符号
b) 加、减、乘、除、等其中加法和加法又可以用作正负号使用
c) 取余“%”运算
i. 取余结果的正负性只和符号左边的数值的正负性有关
ii. 符号两边必须都是整数
iii. 拓展(三木运算):(a%2) ? printf(“奇数”) : printf(“偶数”);
d) 使用细节
i. int a = 10.8;
1. 会有警告,因为10.8是double类型数据,会自动提升至int类型;
2. 在10.8前面加(int),进行强制类型转换后就不会出现警告。
ii. double c = 10.6 + 6;
1. 自动类型提升,6是int型,提升到double 类型
iii. 整型除以整型还是整型,即参与运算的两个数值是同一类型,结果也是这个类型。
e) 任何数对某一个数进行取余运算,结果都小于那个数。
二、 赋值运算
a) 符号“=”
b) 等号两边不能同时都是常量(也就是等号左边不能为常量)
c) 符合赋值运算:
i. a += 5 --------> a = a + 5;
ii. a -= 5 --------> a = a – 5;
iii. a /= 5 --------> a = a / 5;
iv. a *= 5 --------> a = a * 5
d) 运算符有优先级,先乘除后加减,由左到右,有括号先算括号里面的
三、 自增、自减运算
a) 自增:a ++ ; ++a
b) 自减:a-- ; --a
c) 前后两者区别:
i. a++(a--):先把a的值赋给前方,再自增(自减)1.
ii. ++a(--a):先自增(自减)1,再把自增(自减)后的值赋值出去
d) 常量不能自增自减:例如:10++是错误的
四、 sizeof
a) 计算一个变量或常量在内存中占用的字节数
b) 格式:
i. sizeof(数值常量) 括号可以省略
ii. sizeof(变量名) 括号可以省略
iii. sizeof(数据类型) 括号不可以省略
五、 关系运算符
a) 关系运算就是比较运算:
i. 等于“==”,不等于“!=”
ii. 大于“>”,小于“<”,大于等于“>=”,小于等于“<=”
iii. 每一组符号中优先级相等,其中i的优先级小于ii的优先级
b) 真假规定
i. 条件成立为真,条件不成立为假
ii. 值为0时假,为其它数值时为真
c) 关系运算符优先级
i. 优先级一样,运算从左到右进行运算
ii. 优先级不一样,按照优先级由大到小的顺序运算
iii. 有括号先算括号里面的
iv. 算术运算符的优先级高于关系运算符
六、 逻辑运算
a) 简介
i. 逻辑运算的结果只有两个:0或1
ii. 真假性
iii. 结果为0时是假,即条件不成立
iv. 结果为1时为真,即条件成立
v. 任何数值都有真假性,除了0是假之外,其余数值都为真
b) 逻辑与&&
i. 条件A&&条件B
1. 只有当条件A和条件B都成立时,结果为真,值为1
2. 其余情况,结果为假,值为0
ii. 条件的检测原理
1. 如果左边条件成立,才会检查右边条件是否成立,成立结果为1,不成立,结果为0
2. 如果左边条件不成立,就不会再检查右边条件是否成立,直接判断结果为0
c) 逻辑或||
i. 条件A || 条件B
1. 只要由一个条件成立,结果就是真,值为1
2. 只有两个条件都为假,结果为假,值为0
ii. 条件检测原理
1. 如果左边条件不成立,才会检查右边条件是否成立,成立,结果为1,不成立,结果为0
2. 如果左边条件成立,就不会再检查右边条件是否成立,直接判断值为1
d) 逻辑非!
i. !条件
1. 即为取反的意思
2. 如果条件成立,结果为0
3. 如果条件不成立,结果为1
e) 三目运算符 条件 ? 语句1 :语句2
i. 单目运算符:一个数据进行运算,例如:逻辑非!
ii. 双目运算符:两个数据进行运算,例如:= < > + -
iii. 三目运算符:三个数据进行运算:条件? 语句1 :语句2
1. 条件成立:为真,执行语句1
2. 条件不成立:为假,执行语句2 |
|