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
|