- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三讲C语言基础及顺序结构程序设计
;2.6 C语言的运算符和表达式 ;2.6.1 运算符 ;2.6.2 表达式 ;1. 优先级 运算符的优先级指多个运算符用在同一个表达式中时先进行什么运算,后进行什么运算。即若在同一个表达式中出现了不同级别的运算符,首先计算优先级较高的。
例如:
3-5*2 :表达式中出现了二个运算符即-(减)和*(乘)。按优先级次序,先乘后减,表达式的值为-7。
;2. 结合性
运算符的结合性是指运算符所需要的数据是从其左边开始取还是从右边开始取。因而在C语言中有所谓“左结合性”和“右结合性”之说。; 在表 2-5 中列出了所有运算符的优先级和结合性。
注意:所有的单目运算符、赋值运算符和条件运算符都是从右向左结合的,要予以特别关注,其余均为从左向右结合的,与习惯一致。;2.7 C语言的最基本的运算符与表达式; 算术运算符有:
基本算术运算符(+、-、*、 /、%)
自增自减运算符(++、--)。
;2.7.1 算数运算符与算数表达式;2.7.1 算数运算符与算数表达式;2.7.1 算数运算符与算数表达式;③ 除法运算符“/”的运算对象可以是各种类型的数据,但是当进行两个整型数据相除时,运算结果也是整型数据,即只取商的整数部分;而操作数中有一个为实型数据时,则结果为双精度实型数据(double型)。
例如,5.0/10的运算结果为0.2,5/10的运算结果为0(而不是0.5),10/4的运算结果为2(而不是2.5)。
④ 求余数运算符“%”仅用于整型数据,不能用于实型。它的作用是取整数除法的余数。
例如,1%2的结果是1,10%3的结果也是1。而1%2.0或10.0%3出错,不是合法的表达式。;2.7.1 算数运算符与算数表达式;例 2.8 自增、自减运算应用举例。
#include stdio.h /* 程序需要使用C语言提供的标准函数库 */
void main() /* 主函数 */
{ int i=8; /* 定义i为整型变量,并将其初始化为8 */
printf(%d ,++i); /* i自增1后再参与输出运算 */
printf(%d ,--i); /* i自减1后再参与输出运算 */
printf(%d ,i++); /* i参与输出运算后,i的值再自增1 */
printf(%d ,i--); /* i参与输出运算后,i的值再自减1 */
printf(%d ,-i++); /* ??照结合性-i++相当于-(i++) */
printf(%d\n,-i--); /* 按照结合性-i--相当于-(i--) */
} ; 1. 基本赋值运算符及其表达式
赋值符号“=”就是基本赋值运算符。其一般形式为:
变量 基本赋值运算符 表达式
赋值运算符的优先级仅仅高于逗号运算符,且有自右向左的结合性。 ;2.7.3 关系运算符和关系表达式;2.7.3 关系运算符和关系表达式;逻辑运算符:
对逻辑值进行运算的运算符称为逻辑运算符,C语言提供
了以下3种逻辑运算符。
(与运算符) ||(或运算符) !(非运算符)
“”和“||“为双目运算符,要求有两个操作数(运算量)。当 “” 两边的操作数均为非 0 时,运算结果为1(真),
否则为0(假)。
当 “||” 两边的操作数均为 0 时,运算结果为0(假),否则
为1(真)。
而 “!” 为单目运算符,只要求有一个操作数,其运算结果
是使操作数的值为非0者变为0,为0者变为1。;例如,假设int a=4,b=5,c=0;float d=65.55; 则:
1)!a :因为 a 的值为非 0,被认为真,对它进行逻辑非运算,得到假,所以结果为0。
2)ab :因为a和b的值均为非0,被认为是真,因此ab的值也为真,所以结果为1。
3)a||c :因为a值为非0,被认为是真,c的值为0,被认为是假,因此a||b的值为真,所以结果为1。
4)根据同样的分析,!d 的结果为0;‘y’‘x’的结果为1;(d-19.9)||(b3.5) 结果为1。 ;2.7.5 条件运算符和条件表达式;例如:
a=0?-1:1 :如果a的值小于或等于0,则表达式的值为-1,否则为1。
;2.7.6 逗号运算
文档评论(0)