第4讲 算术运算符、表达式  赋值运算与逗号运算lgf.ppt_第1页
第4讲 算术运算符、表达式  赋值运算与逗号运算lgf.ppt_第2页
第4讲 算术运算符、表达式  赋值运算与逗号运算lgf.ppt_第3页
第4讲 算术运算符、表达式  赋值运算与逗号运算lgf.ppt_第4页
第4讲 算术运算符、表达式  赋值运算与逗号运算lgf.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2018/1/11,第4讲,算术运算符、表达式 赋值运算与逗号运算,2018/1/11,2.4 实型数据,2.4.1 实型常量1.小数形式,如:100.0、0.5、-10.8等,注意实型常量中必须要有一个小数点 2.指数形式,如:100e5表示100105,注意字母E(或e)之前必须有数字,且E(或e)后面的指数必须为整数,如E5、1.5e3.8、1e等都是不合法的指数形式规范化的指数形式 字母E(或e)之前的小数部分,其小数点之前必须有且只能有一位非零的数值。 如:3.58759E2,2018/1/11,2.4.2 实型变量C语言中的实型变量分为单精度型和双精度型两种,分别用保留关键字float和double进行定义。 例如:float x,y;/*说明变量x,y为单精度实型*/ double z; /*说明变量z为双精度实型*/,2018/1/11,在大多数C编译系统中,将实型常量都作为双精度型来处理。例如: float a; double b; a=111111.111; /*最后两位小数不起作用*/ b=111111.111;,2018/1/11,字符型数据 (补充),类型名 char字符型数据存储ASCII字符集中的一个字符,占用1个字节的存储单元,实际存储的是该字符的ASCII值。字符型数据的存储形式与整数的存储形式类似,所以在C语言中可以把字符型的数据当作整型数使用,其数值范围为:-128 127可以定义无符号的字符变量,其数值范围为:0255,定义形式如下: unsigned char c; /*说明变量c为无符号字符型变量*/,2018/1/11,1. 字符常量,字符常量是用单引号(即撇号)括起来的单个字符,如:A、6转义字符 就是一个反斜杠字符,后跟另一个普通字符或若干个数字字符,把它们作为一个整体,用来代替某一个特殊的字符,例如n代表一个“换行”符反斜杠字符的含义已经被转换为“转义字符”的标志字符,如果要在程序中用到反斜杠字符本身,则不能直接用,而应该用。 ddd 或 xhh是一个转义字符的通用形式,可以用它表示ASCII码字符集里的每一个字符。其中的三位八进制常量或两位十六进制常量为某个字符在ASCII码字符集里的编号,即ASCII码值,2018/1/11,2. 字符串常量,C语言中的字符串常量是用一对双引号括起来的字符序列。字符串常量中的字符序列可以由任意多个字符组成,如:a、ab、250、 good morning字符串称为空串,由两个连续的双引号组成 C语言规定在每一个字符串的结尾都加上一个字符0,作为字符串的结束标志应注意空串与空格组成的字符串、字符常量与单个字符组成的字符串之间的差别,2018/1/11,3. 字符变量,字符变量用来存放字符常量,其取值范围为ASCII码字符集中的256个字符。每个字符变量在内存中只占用1个字节的存储空间,只能用来存放一个字符常量。 字符变量的定义形式如下: char c1, c2; /*说明变量c1, c2为字符型变量*/,例 字符型的数据可以当成整数来使用 #include main() char ch1,ch2,ch3,ch4,ch5; ch1 a ;ch2 b ; ch332; ch4=ch1-ch3;ch5=ch2-ch3; printf( %c,%c ,ch4,ch5);程序的运行结果为:A,B,2018/1/11,附录7,例 字符串常量 main() printf( %s ,china );程序的运行结果为:china程序中字符串常量china在内存中的存储形式为:,2018/1/11,2018/1/11,2.5 算术运算符,2.5.1基本算术运算符有: 、*、/、% 注意事项两个整型数据相除的结果只能为整型数值,如72的结果为3 “+”或“-” 用作单目运算符时只能有一个运算量,如x=-5,则+x的值还是-5,而-x的值为+5。 求余运算只能在两个整型数据之间进行,如9%5的值为4,而9.5%3为非法的运算 当运算量为负数时,所得结果的符号未作明确的规定。TURBO C系统规定余数的符号与被除数相同。,2018/1/11,2.5.2 优先级、结合性和算术表达式,用算术运算符和圆括号将函数和运算对象(如常量、变量等)按一定的规则连接起来就可以构成一个算术表达式,如:(ab)*c5.0、x*y2*sin(z)等都是算术表达式 表达式都有一个值,即运算结果。 应该注意表达式中运算符的优先级和结合性优先级用于决定运算中的运算顺序,即有多个运算符出现时,哪一个先计算,哪一个后计算。结合性则决定同一优先级的运算符之间的运算顺序,即是先左后右还是先右后左。P269附录6,2018/1/11,关于结合性,所谓结合性是指,当一个操作数两侧的运算符具有相同的优先级时,该操作数是先与左边的运算符结合,还是先与右边的运算符结合。,2018/1/11,算术运算中的类型转换(补充),在C语言中要求参加运算的两个运算量是同一数据类型,而运算结果也是该数据类型。对数据类型不一致的两个运算量,系统会进行数据类型转换,将其中的一个低级别类型的数据向另一个高级别类型的数据转换(按空间大小和数值范围),然后才进行相应的算术运算,运算的结果为其中高级别类型的数据。,2018/1/11,一、隐式转换什么情况下发生运算转换-不同类型数据混合运算时赋值转换-把一个值赋给与其类型不同的变量时输出转换-输出时转换成指定的输出格式函数调用转换-实参与形参类型不一致时转换运算转换规则:不同类型数据运算时先自动转换成同一类型,2018/1/11,2018/1/11,二、强制类型转换(显式转换),当自动类型转换不能达到目的时,可以使用强制类型转换运算符。强制类型转换运算符就是用一对括号括起来的类型名标识符,其一般格式为: (类型名标识符)(表达式); (类型名标识符) 表达式; 例如:假设x为float类型,则表达式“x%3”是不合法的,因为%运算符要求其两侧的数据都必须是整型数据。可以使用表达式“(int)x%3”达到求余数的目的,即先将实型变量x强制转换为整型值,然后再进行取余运算。,2018/1/11,举例: (int)(x+y) (int)x+y (double)(3/2) (int)3.6 说明:强制转换得到所需类型的中间变量,原变量类型不变,例 main() float x; int i; x=3.6; i=(int)x; printf(“x=%f,i=%d”,x,i); 结果:x=3.600000,i=3,2018/1/11,2.6 赋值表达式,变量的值在程序的运行过程中能够发生变化主要是通过对变量进行赋值来完成的。如果在程序中没有赋值操作,则变量的值也就不会发生变化。 1.赋值运算符()的作用是把一个数据或表达式的值赋给一个变量。例如:x=3赋值运算符的左边只能是变量,不允许是算术表达式或常量。例如:x+1=3赋值运算符与数学中的等号不同,赋值运算符求解以后能够得到一个运算结果。,2.6.1 赋值运算符与赋值表达式,2018/1/11,由赋值运算符将一个变量和一个表达式连接起来的式子称为赋值表达式。赋值表达式的一般形式为:变量 = 表达式 例如:x=3*5执行过程:先将赋值运算符右边表达式的值求出来,然后将该值赋给左边的变量,被赋值变量的值就是整个赋值表达式的值。,2018/1/11,复合的赋值运算符是在赋值运算符的前面加上其它的运算符组合而成的新运算符。10种复合赋值运算符分别是: * % & ! 例如:x+=3 等价于 x=x+3。 x%=3 等价于 x=x%3。注意:这些运算符都是由多个字符组合而成的,其字符之间不允许有空格。,2.6.2 复合赋值表达式,2018/1/11,2.7 自加、自减运算符和逗号表达式,自加(+)自减(-)运算符的作用是使变量的值自动加(减)1。自加、自减运算符是单目运算符。执行过程变量在自加自减运算符之前(k+或k-)时,先使用变量的值,然后自加或自减。 如:k=3;x=5+k+;结果x的值为8,k的值为4。变量在自加自减运算符之后(+k或-k)时,先自加或自减,然后使用变量的值。 如:k=3;x=+k+5;结果x的值为9,k的值为4。注意:自增自减运算只能针对简单变量而言。,2.7.1 + 和 -,2018/1/11,例 自增、自减运算符的用法与运算规则示例。/*程序功能:自增、自减运算符的用法与运算规则示例*/main() int x=6, y; printf(x=%dn,x); /*输出x的初值*/ y = +x; /*前置运算*/ printf(y=+x: x=%d,y=%dn,x,y); y = x-; /*后置运算*/ printf(y=x-: x=%d,y=%dn,x,y); 程序运行结果:x=6y=+x: x=7,y=7y=x-: x=6,y=7,2018/1/11,逗号运算符(,)又称为顺序求值运算符由逗号运算符把若干个独立的表达式连接起来构成逗号表达式,逗号表达式的一般形式为:表达式1,表达式2,表达式3, ,表达式n求值顺序 从左至

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论