- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[其他资格考试]C语言第3章
3.6 if语句和条件运算符 语句 语句 表达式 真(非0) 假(0) 例如: if(xy) printf(“%d”,x); else printf(“%d”,y); * * 第三章 运算符和表达式 3.1表达式 3.1.1 表达式概述 表达式是运算符(操作符)、操作数(运算对象、操作对象)和标点符号的序列,其目的是用来说明一个计算过程。例如:a = b + c 表达式是嵌套的,例如:2+3+5* sizeof(int)) /345; 表达式根据约定、求值次序、结合性和优先级规则来进行计算的。 操作数指的是一个表达式,简单表达式包括变量、常量、函数;根据操作数的数目,将运算符分为一元、二元和三元。 3.1表达式 3.1.2 左值和右值 左值(left value)是能出现在赋值表达式左边的表达式。左值表达式具有存放数据的空间,并且存放是允许的。 int a = 3; //a是变量,所以a时左值 const int b = 4; //b是常量,所以b不是左值 3.1表达式 右值(right value)只能出现在赋值表达式的右边。左值表达式也可作为右值表达式。 int a, b = 5; a = b; //b是变量,所以是左值,此处 //作为右值 a = 8; //8是常量,只能作右值,不能 //作为左值 3.1表达式 3.1.3 优先级和结合性 所谓优先级,是指不同优先级的运算符,总是先做优先级高的操作,C共有16级优先级。 例如: d = a+b*c; 所谓结合性,是指表达式中出现同等优先级的运算符是,该先做哪个操作的规定。 例如: d = a+b-c; //从左到右,先a+b,再-c d=a=3; //从右到左,先a=3,再d=a 3.1表达式 3.1.4 语句与块(复合语句) C语言中所有的操作运算都通过表达式来实现的。由表达式组成的语句称为表达式语句,它由一个表达式后接一个分号”;”组成,例如:a = b + c; 大多数表达式语句为赋值语句和函数调用 例如: printf(“hello”); 表达式具有值,而语句是没有值的例如: printf(“%d”, 3+4) ; 3.1表达式 ? 空语句 ; 复合语句是指括在一对花括号{}里的语句序列。从语法上来说,块可以被认为是单个语句。 3.2 算术、赋值和合并运算符 操作数 符号 含义 优先级 结合性 例子 一元 - 取负 2 从右到左 -1,-I + 不采取动作 2 从右到左 +1,+x 二元 * 乘法 3 从左到右 3*x / 除法 3 从左到右 x/3.0 % 取余(取模) 3 从左到右 k%3 + 加法 4 从左到右 x+1,x+y - 减法 4 从左到右 x-1,3-y 算术运算符 3.2 算术、赋值和合并运算符 注意: 1./运算符可以对不同的数据类型进行不同的操作。 如:5/2 5.0/2.0 2.%只能对整数进行操作。 3.溢出问题 short i=42896 3.2 算术、赋值和复合赋值运算符 算元 符号 含义 优先级 结合性 例子 二元 ? = 在变量中保存数值 14 从右到左 x=2.5 += 与(x=x+3.1)相同,变量与一个数值相加之后的结果再次保存在变量中。 14 从右到左 x+=3.1 -= 与(x=x-1.5)相同,变量减去数值之后的结果再次保存在变量中。 14 从右到左 x-=1.5 *= 与(x=x*5)相同,相乘之后再次保存 14 从右到左 x*=5 /= 与(x=x/2)相同,相除之后再次保存 14 从右到左 x/=2 3.2 算术、赋值和复合赋值运算符 注意: 1.所有这些运算符都是从右向左结合。每个左操作数必定是一个变量或者内存位置。 2.凡是二元运算符,都可以与赋值符一起组成复合赋值符。 3.2 算术、赋值和复合赋值运算符 例如: a=b=c=5 a=5+(c=6) a=(b=4)+(c=6) a=(b=10)/(c=2) a+=a-=a*a (a初值为2) 3.3 算术类型转换 C遇到两种不同数据类型的数值进行运算时,会将两个数做适当的类型转换,然后再进行运算。 类型转换的原则:转换总是朝数据能力更强的方向,并且转换总是逐个运算符进行的。 3.3 算术类型转换 char short int long int float unsigned long unsigned int unsign
文档评论(0)