C语言(三)———— 运算符和表达式

133 阅读2分钟

基本的算术运算符

运算符含义举例结果
+正号运算符(单目运算符)+aa的值
-负号运算符(单目运算符)-aa的算术负值
*乘法运算符a * ba和b的乘积
/除法运算符a / ba除以b的商
%求余运算符a % ba除以b的余数
+加法运算符a + ba和b的和
-减法运算符a - ba和b的差

注意:

(1)除%以外的运算符的操作数都可以是任何算数类型

(2)%运算符要求参加运算的运算对象(即操作数)为整数,结果也是整数

(3)C语言中的默认四舍五入是取整后向零靠拢

自增、自减运算符

  1. 作用:使变量的值加1或减1
    eg:++i,--i --> 在使用i之前,先使i的值加(减)1
            i++,i-- --> 在使用i之后,使i的值加(减)1

  2. 自增运算符(++)和自减运算符(--)只能用于变量,而不能用于常量或表达式
    eg: 5++; //不合法,5是常量,常量的值不能改变
          (a+b)++; //不合法,加入a+b是5,那么自增后的6放在什么地方?无变量可供存放。

  3. 自增和自减常用于循环语句中,使循环变量自动加一;
    也用于指针变量,使指针指向下一个地址。

算术表达式和运算符的优先级与结合性

image.png image.png

优先级归类:

初等运算符(括号等) --> 单目运算符 --> 算术运算符(先乘除、后加减)--> 关系运算符(大于号、小于号等) --> 逻辑运算符(不包括!)--> 条件运算符 --> 赋值运算符 --> 逗号运算符

数据类型转换

  1. 自动类型转换:当两个类型不同的数据进行运算时,会触发类型转换
    (1)所有的整形数据类型如果存在float或double型数据,则自动转换类型为double,然后进行运算
    (2)char型数据与整形数据进行运算,就是把字符的(ASCII)代码与整型数据进行运算。如果char数据与指数型数据进行运算时,则将ASCII代码转换为double型数据,然后进行运算。

  2. 强制类型转换运算符:(类型名)(表达式)
    注意:在强制类型转换时,得到一个所需类型的中间数据,而原来变量的类型未发生变化。
    eg:a = (int)x; //x的数据类型始终是float,但是a的数据类型是int.