- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章_数据类型与表达式祥解.ppt
* 变量 举例:例2.7 实现大小写字母的转换 #include stdio.h void main() { char c1, c2; c1=‘a’; c2=‘b’; c1=c1-32; c2=c2-32; printf(“%c %c”, c1, c2); } 运行结果: A B * 运算符与表达式 运算符与表达式的相关概念 表达式:用运算符连接各运算对象(常量、变量、函数)组成的符合C语法规则的式子 函数:库函数和用户自定义函数 运算符 分类:算术/关系/逻辑/赋值/条件/逗号/指针/强制类型转换等。 优先级:运算次序。 结合性:运算方向。分左结合和右结合两种。 * 运算符与表达式 运算规则:先考虑优先级(由高到低);优先级相同时,再考虑结合性。 算术运算符和算术表达式 算术运算符 包括:+、-、*、/、%、(类型名)、++、-- 其中: +、-、*、/、%作为基本算术运算符,使用频度较高。 * 运算符与表达式 基本算术运算符 +:加法或正值运算符。如:3+5,+3 -:减法或负值运算符。如:5-2,-3 *:乘法运算符。如:3*5 /:除法运算符。 两个整数相除结果为整数,舍去小数部分。如:5/3的结果值为1 如果除数或被除数中有一个为负值,则“向零取整”。如:-5/3=-1 %:模或取余运算符。要求%两侧均为整型数据。如:7%4的值为3 * 运算符与表达式 算术运算符的优先级与结合性 优先级 运算符 结合性 高 -、++、--、(类型名) 右结合 *、/、% 左结合 低 +、- 左结合 * 运算符与表达式 算术表达式的运算规则 除考虑优先级与结合性外,还有自动类型转换。即运算符两侧的数据类型不同时,先进行自动类型转换,然后再进行运算。 自动类型转换 其中,箭头表示不同类型的对象进行运算时数据类型的转换方向。 例如:int i;float f;double d;long e;则表达式:10+‘a’+i*f-d/e的值为double double float long unsigned int short、char 低 高 * 运算符与表达式 强制类型转换运算符 使用形式:(类型标识符)(表达式) 功能:将表达式值的数据类型作强制转换 例如:(double)a 将a转换成double类型 (int)(x+y) 将x+y的值转换成整型 说明 表达式应加括号,但常量、变量和函数可省略。 强制类型转换运算符的优先级高于双目算术运算符,所以(int)x+y 不同于 (int)(x+y)。 强制类型转换时,得到一个所需类型的中间变量,原变量的类型保持不变。 * 运算符与表达式 举例 例2.11 强制类型转换的使用 #include stdio.h void main() { float x; int i; x=3.6; i=(int)x; printf(“x=%f, i=%d”, x, i); } 运行结果: x=3.600000,i=3 * 运算符与表达式 写出一元二次方程两个不等实根的C表达式 (-b+sqrt(b*b-4*a*c))/(2*a) (-b-sqrt(b*b-4*a*c))/2/a 求表达式x+a%3*(int)(x+y)%2/4的值。其中:x=2.5,a=7,y=4.7 解: x+a%3*(int)(x+y)%2/4 =2.5+7%3*(int)7.2%2/4 =2.5+7%3*7%2/4=2.5+1*7%2/4 =2.5+7%2/4=2.5+1/4=2.5+0=2.5 * 运算符与表达式 自增、自减运算符 运算符:++、-- 使用形式:++/--变量;变量++/-- 作用:使变量的值增1或减1 例如:++i,--i :i先加(减)1,后使用。 i++,i-- :i先使用,后加(减)1。 举例:若i=3,则: j=++i; 执行后,i=4,j=4 j=i++; 执行后,i=4,j=3 * 运算符与表达式 说明 ++、--只能用于变量,不能用于常量、函数或表达式。例如:++6,(x+y)-- 均非法 ++和--具有右结合性。例如:-i++ 相当于 -(i++) ++和--常用于循环语句中,使循环变量自动加1。也用于指针变量,使指针指向下一个或上一个数据。 使用特例,若i=3,则: i+++i 相当于(i++)+i 其值为6,i值为4 (i++)+(i++) 其值为6,i值为5 (++i)+(++i) 其值为10,i值为5 (++i)+(i++) 其值为8,i值为5 * 运算符与表达式 逗号运算符与逗号表达式 逗号运算符:, 作
原创力文档


文档评论(0)