黑马程序员技术交流社区

标题: c语言基础 [打印本页]

作者: 111111111111    时间: 2016-6-2 21:40
标题: c语言基础
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




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2