c语言分量运算符举例,c语言(运算符和表达式).ppt

第4章C世界中的加减乘除 运算符和表达式 C中的运算符和表达式算术运算符和表达式关系运算符和表达式逻辑运算符和表达式条件运算符和表达式赋值运算符和表达式自增 自减运算符逗号运算符和表达式运算符的优先级 4 1C中的运算符和表达式 4 1 1运算符4 1 2表达式4 1 3优先级与结合性 4 1 1运算符用来对数据进行运算的符号 就可以称为运算符 语言中的运算符如下表所示 4 1 1运算符按运算符在表达式中与运算分量的关系 连接运算分量的个数 运算符可分为 单目运算符 即一元运算符 只需要一个运算分量 如 5 a 双目运算符 即二元运算符 需要两个运算分量 如 a b x y 三目运算符 即三元运算符 需要三个运算分量 如 a b a b 注意 条件运算符 是C语言中唯一的三目运算符 4 1 2表达式C中运算符和数据构成的式子 就称为表达式 表达式运算的结果就称为是表达式的值 根据运算符的分类 C语言的表达式分为以下8类 算术表达式 关系表达式 逻辑表达式 赋值表达式 条件表达式 逗号表达式 位表达式和其它表达式等 由以上表达式还可以组成更复杂的表达式 例如 z x y 0 4 1 3优先级和结合性优先级 是指当不同的运算符进行混合运算时 运算顺序是根据运算符的优先级而定的 优先级高的运算符先运算 优先级低的运算符后运算 结合性 是指运算符可以和左边的表达式结合 也可以与右边的表达式结合 即 左结合性和右结合性 例如 x y z 注意 最典型的右结合性运算符是赋值运算符 它的结合性是自右向左 4 2算术运算符和表达式 4 2 1算术运算符4 2 2算术表达式4 2 3算术运算符的优先级与结合性4 2 4应用举例 4 2 1算术运算符基本的算术运算符有5个 分别是 加法运算符或正值运算符 减法运算符或负值运算符 乘法运算符 除法运算符 求模运算符或求余运算符其中 正值运算符 和 负值运算符 是单目运算符 其余均为双目运算符 2x 2 x a b 4 2 2算术表达式简单的算术表达式 例如 2 3 结果为 52 3 结果为 12 3 结果为 62 3 结果为 02 3 结果为 2注意 1 运算符要求两侧的运算分量必须为整型数据 2 在C中 乘法运算符为 而不能写成数学中的 号 除法运算为 而不是 号 6 0 4 6 4 6 4 6 4 4 2 2算术表达式复杂的算术表达式 例如 2 9 3 结果为 610 12 8 9 结果为 5 4 2 3算术运算符的优先级和结合性在复杂的算术表达式中 的优先级最高 运算符的优先级高于 运算符 算术运算符中的结合性均为 左结合 4 2 4应用举例 范例4 1 使用算术运算符计算结果 注意 对于 运算符 C语言中规定 当它的两个运算分量均为整数时 计算结果也必须为整数 如果两个运算分量中有一个数是浮点型时 则结果也应该为浮点型数据 例如 99 0 5的结果为19 8 如果两个运算分量有一个为负值 其结果随不同的机器系统而不同 但多数机器采用 向零取整 的原则 例如 7 4的结果为 1 7 4的结果为1 4 2 4应用举例 范例4 2 算术运算符和表达式的应用 4 3关系运算符和表达式 4 3 1关系运算符4 3 2关系表达式4 3 3关系运算符的优先级与结合性4 3 4应用举例 4 3 1关系运算符C语言提供了6种关系运算符 分别是 大于 大于等于 和 不能写成 和 等于在C中的书写格式为 而不是 注意是两个 连起来写表示相等的关系 是后面要讲的赋值运算符 注意二者的区别 4 3 2关系表达式把两个C语言表达式连接起来的式子称为关系表达式 如 x 0 a A a a b b c cz 的结果为1 a A 的值为0 4 3 3关系运算符的优先级和结合性 b c等价于 a b c关系运算符中的结合性均为 左结合 4 3 4应用举例 范例4 3 输出程序中表达式的值01 include02voidmain 03 04inta b c 05a b c 10 a b c均赋值为10 06a b c 将b c的结果赋值变量a 07printf a d b d c d n a b c 分别输出a b c的值 08a b c 100 将b c 100的结果赋给变量a 09printf a d b d c d n a b c 分别输出a b c的值 10 4 4逻辑运算符和表达式 4 4 1逻辑运算符4 4 2逻辑表达式4 4 3逻辑运算符的优先级和结合性4 4 4应用举例 4 4 1逻辑运算符逻辑运算符主要用于逻辑运算 包含了 逻辑与 逻辑或 逻辑非 其中 是单目运算符 而 和 是双目运算符 4 4 2逻辑表达式逻辑运算符把各个表达式连接起来组成一个逻辑表达式 例如 a b 1 x 逻辑表达式的值只有两个 0和1 举例 当x为0时 x 5的值为多少 若a 4 则 a a 5 4 0的值分别为多少 4 4 3逻辑运算符的优先级和结合性逻辑非 的优先级别最高 逻辑与 的优先级高于逻辑或 逻辑非 然后是算术运算符 关系运算符 逻辑与 逻辑或 举例 5 3 2 8 4 2逻辑运算符是 右结合 4 4 4应用举例 范例4 4 试写出判断某数x是否小于 2且大于等于5的逻辑表达式 当x值为0时 分析程序运行结果 范例4 5 试判断给定的某年year是否为闰年 闰年的条件是符合下面两个条件之一 能被4整除 但不能被100整除 能被400整除 4 5条件运算符条件运算符中由 和 组成 是C语言中唯一的一个三目运算符 将条件运算符将数据连接起来的式子称为条件表达式 条件表达式的一般构成形式是 表达式1 表达式2 表达式3条件表达式的执行过程是 先计算表达式1的值 若该值不为0 则计算表达式2的值 并将表达式2的值作为整个条件表达式的值 否则 就计算表达式3的值 并将该值作为整个条件表达式的值 例如 x 0 1 1 4 5条件运算符条件运算符的结合性是 右结合 优先级别低于算术运算符 关系运算符和逻辑运算符 例如 a b a c d c d等价于a b a c d c d 范例4 6 条件运算符和表达式的应用 4 6赋值运算符和表达式 4 6 1赋值运算符4 6 2赋值表达式4 6 3赋值运算符的优先级和表达式4 6 4应用举例 4 6 1赋值运算符基本的赋值运算符为 复合赋值运算符分别为 4 6 2赋值表达式由赋值运算符将一个变量和一个表达式连接起来的式子称为赋值表达式 赋值表达式的一般格式为 变量 表达式例如 a 5 x 10 y 对于赋值运算符说明如下 赋值运算符 与数学中的等式形式一样 但含义不同 注意区别 注意 与 的区别 是用来判断运算符两边的数据是否相等 而 作用是将右边表达式的值赋给左边的变量 如 a b c与a b c不同 x yy x 4 6 2赋值表达式赋值表达式的值等于右边表达式的值 而结果的类型由左边变量的类型决定 例如 inti floatf i 1 2 3 f 23 4 6 2赋值表达式使用复合的赋值运算符构成的表达式 例如 a b c等价于a a b c a b c等价于a a b c a b c等价于a a b c a b c等价于a a b c a b c等价于a a b c 注意 复合运算符在书写时 两个运算符之间不能有空格 否则就是错误的 复合赋值运算符右边的表达式应作为一个整体对待 4 6 3赋值运算符的优先级和结合性赋值运算符是 右结合 例如 a b c 0赋值运算符的优先级比上述运算符的优先级都低例如 a b 9 c 7 等价于a b 9 c 7 y x 0 1 sin x x等价于y x 0 1 sin x x max a b a b等价于max a b a b 4 6 4应用举例 范例4 7 分析下面程序的运行结果 01 include02voidmain 03 04inta b c 05a b c 1 06a b 等价于a a b 07b c 08c a 09printf 1 d n a b a b 输出a b二者的较大者 10 a b c printf AA printf CC 若a b c成立则输出AA 否则输出CC 11printf na d b d c d n a b c 4 6 4应用举例 范例4 8 若a 12 试写出表达式a a a a运算后a的值 a a a a a 12 12 144 a 144 a a 144 144 144 0 a 0 a a 0 0 0 0 4 7自增 自减运算符 自增运算符 和自减运算符 有以下几种形式 i 前置运算 相当于i i 1 i 前置运算 相当于i i 1 i 后置运算 相当于i i 1 i 后置运算 相当于i i 1 注意 中间不能有空格 自增自减运算符只能用于变量 是单目运算符 它们都具有 右结合性 4 7自增 自减运算符 若i 0 则j i 与j i 一样吗 举例 范例4 9 前置加和后置加的区别 说明 y i j 应该如何理解 在C中 词法分析遵循 最长匹配 原则 在确保有意义的条件下 从左到右尽可能多地将若干个字符组成一个运算符 所以 上面的表达式就等价于y i j 4 8逗号运算符和表达式 逗号运算符的功能是把两个表达式连接起来 使之构成一个逗号表达式 逗号运算符在所有运算符中是级别最低的 逗号表达式的一般形式为 表达式1 表达式2求解的过程是 先计算表达式1 再计算表达式2 最后整个逗号表达式的值就是表达式2的值如 x i 10 i 5 4 8逗号运算符和表达式 范例4 10 逗号表达式的应用 01 include02voidmain 03 04inta 2 b 4 c 6 x y 05y x a b b c 06printf y d x d y x 07 4 8逗号运算符和表达式 说明 逗号表达式一般形式中的表达式1和表达式2也可以又是逗号表达式 因此可以把逗号表达式扩展为以下形式 表达式1 表达式2 表达式n 程序中使用逗号表达式 通常是要分别求逗号表达式内各表达式的值 并不一定要求整个逗号表达式的值 并不是在所有出现逗号的地方都组成逗号表达式 4 9运算符的优先级 运算符的优先级共分为15级 如下表所示 4 9运算符的优先级 如 x y b c 等价于 x y b c 4 10综合应用 计算函数的结果 范例4 11 计算如下函数的结果 其中a b的值分别为1 5 x的值由用户指定 4 12跟我上机 已知华氏温度与摄氏温度之间的转换公式为 编写程序 将用户输入的华氏温度转换成摄氏温度 并输出结果

展开阅读全文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值