C程序设计基础-运算符

C程序设计基础-运算符

算术运算符

  1. 基本的算术运算符

    算术运算符含义例子结果
    +加法运算符a+ba与b的和
    -减法运算符a-ba与b的差
    *乘法运算符a*ba与b的乘积
    /除法运算符a/ba除以b的商
    %求余运算符a%ba除以b的余数

    注意点:

    • 对于运算符/:两个整数相除的结果为整数(如果有小数部分则舍去);两个实数相除的结果是双精度实数。
    • 对于运算符%:参与运算的操作数必须为整数,其结果也为整数。
  2. 自增(++)与自减(--)运算符

  • ++运算符的作用是使变量的值加1。++i在使用i之前,先将i的值加1。i++在使用i之后,再将i的值加1。
    • 例如:对于i=2j=++i是指先将i的值加1变成3,然后将3赋给jj=i++是指先将i的值2赋给j,再将i加1变成3。
  • --运算符的作用是使变量的值减1。--i在使用i之前,先将i的值减1。i--在使用i之后,再将i的值减1。
    • 例如:对于i=2j=--i是指先将i的值减1变成1,然后将1赋给jj=i--是指先将i的值2赋给j,再将i减1变成1。
  1. 算术运算符的优先级
  • ++、--两者优先级相同,但是高于其它算术运算符。
  • *、/、%三者优先级相同,但是优先级低于++、--,高于+、-
  • +、-两者优先级相同,是所有算术运算符中优先级最低的。
  1. 算术表达式
  • 定义:在C语言中用算术运算符和括号将运算对象(操作数)连接起来的、符合C语法规则称为算术表达式。
  • 算术表达式求值时的优先级:先按运算符的优先级别执行(先乘除后加减);如果运算符的优先级相同则自左向又计算。

赋值运算符

  1. 赋值运算符:赋值符号=就是赋值运算符,它的作用是将一个数据(表达式的值也可以)赋给一个变量。
  2. 复合赋值运算符:+=、-=、*=、%=、/=
  • 例子:a+=3等价于a=a+3 a*=b+2等价于a=a*(b+2)a%=3等价于a=a%3

关系运算符

  1. 关系运算符

    关系运算符含义
    <小于
    <=小于等于
    >大于
    >=大于等于
    ==等于
    !=不等于
  2. 关系运算符的优先级

  • <、<=、>、>= 四个关系运算符优先级相同,但是优先级高于==、!= 两个关系运算符。
  • ==、!= 两个关系运算符优先级相同,但是优先级低于<、<=、>、>= 四个关系运算符。
  • 示意图:
  1. 关系表达式
  • 定义:用关系运算符将两个数值或数值表达式连接起来的式子,称为关系表达式。
  • 例子:假设a=2,b=3,则a>b表达式的值为“假”,即值为0;a<b表达式的值为“真”,即值为1。

逻辑运算符

  1. 逻辑运算符

    逻辑运算符含义例子结果
    &&逻辑与a&&b如果a和b的都为真,则结果为真,否则为假。
    ||逻辑或a||b如果a和b有一个及以上为真,则结果为真;二者都为假时结果为假。
    !逻辑非!a如果a为假,则!a为真。如果a为真,则!a为假。
  2. 逻辑运算符的优先级

  • ! > && > ||
  • 逻辑运算符中的&&、||的优先级低于关系运算符,!的优先级高于算术运算符。
  1. 用逻辑运算符将关系表达式或其它逻辑量连接起来的式子就是逻辑表达式

算术、赋值、关系、逻辑运算符的优先级

  • 以下运算符的优先级从高到低排列如下:

    运算符来源
    !、++、–逻辑、算术运算符
    *、/、%算术运算符
    +、-算术运算符
    <、<=、>、>=关系运算符
    ==、!=关系运算符
    &&逻辑运算符
    ||逻辑运算符
    =、+=、-=、*=、%=、/=赋值、复合赋值运算符

条件运算符

  1. 条件运算符
  • 条件运算符由两个符号?和:组成,必须一起使用。因为其要求有三个操作对象,又称为三目运算符。
  1. 条件表达式
  • 一般形式为表达式1? 表达式2:表达式3
  • 例子:max=(a>b)? a:b,如果a大于b则将a的值赋给max,如果a小于等于b则将b的值赋给max。

逗号运算符

  1. 逗号运算符:,就是逗号运算符。
  2. 逗号表达式
  • 一般形式为表达式1,表达式2,...,表达式n
  • 按顺序求出表达式1、表达式2、···,表达式n的值,结果为表达式n的值。

强制类型转换运算符

  1. 强制类型转换的一般形式为:(类型名)(表达式),注意括号。
  2. 例子:
  • (int)a:将a转换为int型。
  • double(x+y)将x+y的值转换为double型。

参考资料

  1. C程序设计(第五版),谭浩强著。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值