- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
cxm-第3章C语言程序设计
* * C语言程序设计 第三章 表达式与运算符 主讲: 计算机学院 曹晓梅 * * 内容提要 表达式体现对数据的处理,由运算符和运算对象组成 掌握每种运算符的以下知识: 对运算对象的要求 运算符的结合性 运算符的优先级 运算结果的特性 有多种运算符的复杂表达式的计算顺序及计算结果 数据类型的自动转换规则及强制转换的方法 * * 表达式的组成 表达式实现对数据的处理,每个表达式都有唯一的值 表达式由运算对象和运算符组成 运算对象的种类:常量、变量、有返回值的函数调用、其它表达式 例:2 a rand() (2+a)*rand( ) 运算符:共34种,分为15个不同的优先级 可以理解成是不带运算符的最简单表达式 常量表达式 变量表达式 函数表达式 带运算符的表达式 * * 左值与右值 表达式不是左值就是右值。 左值与右值的关系:右值只能出现在赋值号的右边;而左值既可以出现在赋值号的左边,又可以出现在赋值号的右边。左值可以取地址,右值不可以取地址. 例: 2 a rand() (2+a)*rand( ) a=b 常量表达式只能作为右值 例:a=2;(右值) 变量表达式为左值,既可在赋值号左边也可以在右边,例:a=5;(左边) b=a;(右边) 此函数表达式为右值 例:a=rand( )右值 此表达式只能作为右值 例:b=(2+a)*rand( ); (右值) 赋值表达式只能作为右值 例:c=a=b;(右值) (a=b)=c;(出错) * * 算术运算符 算术运算符主要完成数值计算问题,具体如下表所列 运算符 优先级 结合方向 对运算对象的要求 运算结果特性 特殊说明 - 取负 2 从右到左 整、实型值 运算对象的相反数 单目运算符 ++ 自增 整,实,字符,指针型变量 结果与变量的值可能一致 单目,分为前++ 后++ -- 自减 单目,分为前++ 后- - * 乘 3 从左到右 允许整型与实型数混合 只要有1个实对象结果实型,否则整型结果 / 除 两个整数相除只能得到整数商 % 取余 仅限整型数 整除的余数 正负号同第1数 + 加 4 从左到右 允许整型与实型数混合 只要有1个实对象结果实型,否则整型结果 - 减 例:int a=3,b,c; a++的表达式结果是3,变量a的值是4; ++a的表达式结果是4,变量a的值是4; 因此,c=a++执行后, c的值是3,a的值是4 b=++a执行后,b的值是4,a的值也是4 例:int a=3; -a结果为-3,但是变量a的值仍为3 -2.45是2.45的相反数 例:int a=3,b,c; a--的表达式结果是3,变量a的值是2; --a的表达式结果是2,变量a的值是2; 因此,c=a--执行后, c的值是3,a的值是2 b=--a执行后,b的值是2,a的值也是2 例:int a=27,b=5,c; 表达式a/b结果是5,而不是5.4 表达式27.0/b结果是5.4 表达式27.0/5.0结果是5.4 例:int a=27,b=5,c; 表达式a%b结果是2, 表达式-a%b结果是-2 表达式27.0%b是错误的 例:表达式2+3结果是5 表达式2+3.0结果是5.0 表达式2.0+3.0结果是5.0 例:表达式3-2结果是1 表达式3.0-2结果是1.0 表达式3.0-2.0结果是1.0 * * 算术运算符 程序3.1 赋值表达式及算术运算符示例 #includestdio.h #includestdlib.h //包含随机函数rand的声明 int main( ) { int a=5,b=6,c=7; printf(“%d\n”,rand()); //显示随机数 print(%d\n,a*(b+c)/2-2); //显示算术表达式的值 printf(%d\n,a=b); //显示赋值表达式即a的值 b=rand()%10; //混合表达式赋0至9之间的1个随机数 printf(“%d\n”,c=a=b); //显示赋值表达式的值即c的值 return 0; } 动态 演示 过程 * * 关系运算符 关系运算符主要完成表达式间的比较,比较的结果非真即假,C语言中无逻辑类型,故用1表示真,0表示假 任何类型的值,只要不等于0,在需要作出真假判断的场合就代表逻辑真。 运算符 优先级 结合方向 对运算对象的要求 运算结果特性 大于 6 从左到右 允许不同类型的值混合计算,运算对象非0就表示真值,0表示假,当类型不一致时,会自动进行类型转换为同一
您可能关注的文档
最近下载
- 2025年舞蹈教师资格证考试模拟试卷:舞蹈教学法与课程设计案例分析.docx VIP
- 学校食品安全事故应急演练实施方案(含演练脚本).docx
- 湖南省师德师风教育读本.pptx VIP
- 2025秋教科版(2024)科学三年级上册第一单元天气《2.docx VIP
- ISO∕IEC 20000-1:2018《信息技术服务管理第一部分:服务管理体系要求》之17-“8.1运行的策划与控制”理解与应用指导材料.docx VIP
- 验收标准内装 .pdf VIP
- 像医生一样思考(完全版).pptx VIP
- 北大附中学生家长写给高二同学的一封信导论.doc VIP
- 2025年白酒酿造工试题题库.pdf VIP
- 关于进一步加强公司在职员工学历提升的通知(专业完整模板).docx VIP
文档评论(0)