- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言课件C程序设计解析
说明: 结合方向:自右向左。 优先级: 14。 左侧必须是变量,不能是常量或表达式。 赋值转换规则:使赋值号右边表达式值自动转换成其左边变量的类型。 赋值表达式的值与变量值相等,且可嵌套。 例 3=x-2*y; a+b=3;× 例 float f; int I; i=10; f=I; 则 f=10.0 例: a=b=c=5 a=(b=5) a=5+(c=6) a=(b=4)+(c=6) a=(b=10)/(c=2) 逗号运算符和表达式 形式:表达式1,表达式2,……表达式n 结合性:从左向右。 优先级: 15。 逗号表达式的值:等于表达式n的值。 用途:常用于循环for语句中。 例 a=3*5,a*4; a=3*5,a*4,a+5 例 x=(a=3,6*3); x=a=3,6*a 例 a=1;b=2;c=3; printf(“%d,%d,%d”,a,b,c); printf(“%d,%d,%d”,(a,b,c),b,c); 关系运算符和表达式 关系运算符 种类: = == = !=。 结合方向:自左向右。 优先级别:(如图) 关系表达式的值:用1表示真和用0表示假。 = = == != 优先级6(高) 优先级7(低) 例 ca+b //c(a+b) ab!=c //(ab)!=c a==bc //a==(bc) a=bc //a=(bc) 例 int a=3,b=2,c=1,d,f; ab (ab)==c b+ca d=ab f=abc 关系运算注意: 例 若a=0; b=0.5; x=0.3; 则 a=x=b的值为 0 例 543 值为 0 例 int i=1, j=7,a; a=i+(j%4!=0); 则a=2 例 ‘a’0 结果为 1 ‘A’100 结果为 0 例 注意区分“=”与“==” int a=0,b=1; if(a=b) printf(“a equal to b”); else printf(“a not equal to b”); 例 应避免对实数作相等或不等的判断 如 1.0/3.0*3.0==1.0 结果为0 可改写为:fabs(1.0/3.0*3.0-1.0)1e-6 逻辑运算符和表达式 逻辑运算符 种类: ! || 逻辑运算规则: !-- 非真得假;非假得真; -- 有假得0,无假得1; || -- 有真得真,无真得假。 C语言中,运算量: 0表示“假”; 非0表示“真”。 运算结果: 0表示“假”; 1表示“真”。 优先级: 结合方向: 例:判断下列表达式的值: 若:a=4;b=5; !a ab a||b !a||b 40||2 532||84-!0 ‘c’‘d’ ! :从右向左 :从左向右 || :从左向右 特殊情况: 逻辑表达式求解时,并非所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。如:a=1;b=2;c=3;d=4;m=1;n=1; (m=ab)(n=cd) 条件运算符与表达式 一般形式: expr1 ? expr2 : expr3 执行过程: 功能:相当于条件语句,但不能取代一般if语句 条件运算符可嵌套: 如 x 0 ? 1 : (x0 ? -1:0) 优先级: 13 结合方向:自右向左。 如 ab?a:cd?c:d 相当于: ab?a:(cd?c:d) expr1、expr2、expr3类型可不同,表达式值取较高的类型 结构化程序设计的三种基本结构:顺序结构、选择结构循环结构。程序设计应遵守结构化原则。 C语句的种类: 控制语句 : 完成一定的控制功能。 函数调用语句: 完成函数调用功能。 表达式语句 : 由各种表达式加分号构成。 空语句 : 只有分号的语句。 复合语
文档评论(0)