- 6
- 0
- 约8.79千字
- 约 41页
- 2019-12-02 发布于湖北
- 举报
优先级,结合顺序的问题太多了,具体情况,具体分析。 例1:若i=4,则i++,++i的值分别为多少? 对单独的变量进行自加运算,前置和后置没有区别 i++和++i的值都为5 例2:执行下列程序段以后,i、j的值? i=4; j=i++; ++后置,先取i的值4赋值给j,然后i再自加1。 i的值为5,j的值为4 例3:执行下列程序段以后,i、j的值? i=4; j=++i; ++前置,先对i进行自加运算,再取出i的值对j进行赋值。i的值为5,j的值为5 例4:执行下列程序段以后,i、k的值? i=3; k=(++i)+(++i)+(++i); 运算结合顺序注意 (++i):i+1=3+1=4; (++i):i+1=4+1=5; (++i):i+1=5+1=6; 因此其结果不应该为: k=(++i)+(++i)+(++i)=4+5+6=15; 而是: k=i+i+i=6+6+6=18 思考:若a=5, b=(++a)+(a++); 则b的值???? [例]: [例]:阅读下面的程序,写出运行结果: #include stdio.h void main() { int i=2,j,k; j=(i++)+(i++)+(i++); k=(--i)+(--i)+(--i); printf(“%d %d %d \n”,i,j,k); } 结果为: 2 6 6 [例]:算术表达式举例(设所有变量均为实型): 1/(a+b) (exp(x)-exp(-x))/2 log log(b)/log(a) a{x+b[x+c(x+d)]} a*(x+b*(x+c*(x+d))) (-b+sqrt(b*b-4*a*c))/(2*a) πr3 4*3.14159*pow(r,3)/3 (r1+r2)(r1- r2) (r1+r2)*(r1-r2) 3.9 运算符和表达式 3.9.2 赋值表达式 简单赋值运算符 符号:= 格式:变量标识符=表达式 功能:将一个数据(常量或表达式)赋给一个变量 复合赋值运算符 种类:+=、-= 、*= 、/= 、%= 含义:exp1 op = exp2 ? exp1 = exp1 op exp2 a+=3 a=a+3 x*=y+8 x=x*(y+8) x%=3 x=x%3 计算机基础 教学实验中心 结合方向:自右向左 赋值语句左侧必须是变量,不能是常量或表达式 赋值的转换规则:使赋值号右边表达式值自动转换成其左边变量的类型 a=3; b=4; a=b; 3=x-2*y; a+b=3; float f; int i; i=10; f=i; 则f=10.0 int i; i=2.56; 则i=2 赋值表达式的值与变量值相等,且可嵌套 例:a=b=c=5 a=(b=5) a=5+(c=6) a=(b=4)+(c=6) //表达式值为5,a,b,c值为5 // b=5;a=5 //表达式值11,c=6,a=11 //表达式值10,a=10,b=4,c=6 例: a=12; a+=a-=a*a 例: int a=2; a%=4-1; a+=a*=a-=a*=3; //a=-264 等价于a=a+(a=a-(a*a)) //a=0 等价于a=a+(a=a*(a=a-(a=a*3))) 3.9 运算符和表达式 3.9.3 逗号运算符和表达式 用逗号将多个表达式连接起来,又称为“顺序求值运算符”。整个表达式的值是最后那个逗号之后表达式的值 请求下列表达式的值: 3+4,6 a=(a=3,6*3) a=a=3,6*3 a=3,a+=2,a+3 a=3*5,a*4 (a=3*5,a*4),a+5 6 a=18 18 a=3 18 a=5 8 a=15 60 a=15 20 计算机基础 教学实验中心 3.10 数据类型转换 3.10.1 隐式转换 整型、实型和字符型数据之间可以混合运算。例如: 10 + ’a’ + 1.5 - 8765.1234 * ’b’ 不同数据类型之间运算会进行自动类型转换,规则如下: int char,short unsigned long double float 低 高 必定的转换 运算对象类型不 同时转换的方向 计算机基础 教学实验中心
您可能关注的文档
- CH_1_信号及其描述_测试技术_第二版_贾民平_张洪亭_电子教案.ppt
- CHINET2016上半年耐药监测统计结果.ppt
- Clear-com通话系统介绍.pptx
- CMOS模拟集成电路第7章—噪声.ppt
- CMOS模拟集成电路设计_ch3单级放大器2.ppt
- CMOS模拟集成电路设计_ch11带隙基准up.ppt
- CMOS模拟集成电路设计_ch7噪声.ppt
- CMOS基本逻辑单元电路.ppt
- CMOS模拟集成电路实训2016-Bandgap.ppt
- CMOS集成电路制造工艺介绍.ppt
- JJG 543-2026心电图机检定规程.pdf
- 《JJG 543-2026心电图机检定规程》.pdf
- GB/T 47045-2026乘用车车载信息优先级的确定方法.pdf
- 《GB/T 12668.2-2025调速电气传动系统 第2部分:一般要求 交流调速电气传动系统额定值的规定》.pdf
- 中国国家标准 GB/T 12668.2-2025调速电气传动系统 第2部分:一般要求 交流调速电气传动系统额定值的规定.pdf
- 中国国家标准 GB/T 31487.1-2025直流融冰装置 第1部分:系统设计.pdf
- GB/T 12668.2-2025调速电气传动系统 第2部分:一般要求 交流调速电气传动系统额定值的规定.pdf
- GB/T 31487.1-2025直流融冰装置 第1部分:系统设计.pdf
- 《GB/T 31487.1-2025直流融冰装置 第1部分:系统设计》.pdf
- 《GB/T 31418-2025道路交通信号控制系统术语》.pdf
原创力文档

文档评论(0)