05算术运算和赋值运算

05算术运算和赋值运算

ID:20693359

大小:132.50 KB

页数:16页

时间:2018-10-15

05算术运算和赋值运算_第1页
05算术运算和赋值运算_第2页
05算术运算和赋值运算_第3页
05算术运算和赋值运算_第4页
05算术运算和赋值运算_第5页
资源描述:

《05算术运算和赋值运算》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、算术运算和赋值运算复习变量的定义和输入输出算术运算赋值运算逗号运算Sizeof运算本节对应教材内容:P16-P18算术运算符种类:+-*/%都是双目运算符*/%的优先级高于+-运算结合性:左结合(自左向右)例:3+6-43*5%28-2*3运算符优先级和结合方向表附录Ⅲ算术表达式书写与数学中不同(1)C语言算术表达式的乘号(*)不能省略。例如:数学式b2-4ac,相应的C表达式应该写成:b*b-4*a*c。(2)C语言表达式中只能出现字符集允许的字符。例如,数学πr2相应的C表达式应该写成:PI*r*r。(其中PI是已经定义的符号常量)(3)C语言算术表达式不允许有分子

2、分母的形式。例如,(a+b)/(c+d)。(4)C语言算术表达式只使用圆括号改变运算的优先顺序(不要指望用{}[])。可以使用多层圆括号,此时左右括号必须配对,运算时从内层括号开始,由内向外依次计算表达式的值。算术运算符练习#include"stdio.h"main(){printf("%d,%d",7/-3,7%-3);/*-2,1*/printf("%d,%d",-7/-3,-7%-3);/*2,-1*/printf("%d,%d",-7/3,-7%3);/*-2,-1*/}算术运算符练习inti=2,j=3;i-j*2%(i+2)i-j*2%i+2赋值

3、运算符赋值运算符的含义:将赋值运算符右边表达式的值送到左边变量名所代表的存储单元中。如:a=b+1;x=x+1;求值规则:赋值表达式的值就是赋值号右边表达式的值,如:a=(b=3*2)+1;优先级:14赋值运算符的优先级小于算术运算符,如:a=b+1;结合性:赋值运算符的结合性是自右至左,如:inta,b=2;a=b=3;不同数据类型数据间的混合运算算术运算中的隐含类型转换:3+5/2//即3+2,结果为53+5/2.0//即3+2.5,结果为5.53.0+5/2//即3.0+2,结果为5.08+‘A’//即8+65,结果为73‘a’+2.0*3//即97+6.0,结果

4、为103.0赋值运算中的隐含转换floatf,g;inti,j;f=5/2;//f的值为2.000000i=3.5;//i的值为3g=f+i;//g的值为5.000000j=g/2;//j的值为2强制类型转换(显式转换)floatf,g;inti,j;f=(float)5/2;i=3.5;g=(int)f+i;f、g的值各是多少j=(int)g/2;j、g的值各是多少转换规则字符与整数间的转换:字符――>整数:高位填充零或符号扩充,可能产生负数。整数――>字符:取低八位,可能出错。整数之间的转换:较短整数――>较长整数:符号位扩充,转换安全。较长整数――>较短整数:去掉

5、高位,可能出错。浮点数与整数之间的转换浮点数――>整数:截去小数部分(不四舍五入),转换成long型,再转换成需要的整型,可能出错。整数――>浮点数:先将整数转换成long型,再转换成浮点型,转换安全。逗号运算符语法:e1,e2,…,e3求值规则:从左至右依次计算各个表达式的值,最后一个表达式的值是整个逗号表达式的值优先级:15最低结合性:左结合例1:3+2,5-4,5*3例2:inti=2,j=5;j=(i=5,i+5,i*4);sizeof运算符语法:sizeof(表达式),表达式可以是变量名、常量和数据类型名优先级:2功能:求存储单元的字节数(不是bit数)。si

6、zeof(a):表达式中变量名所代表的存储单元的字节数sizeof(5.3):常量的存储单元的字节数sizeof(int):数据类型表示的数据在内存中所占存储单元的字节数inti=2;printf(”%d,%d,%d”,sizeof(i),sizeof(float),sizeof(‘a’));课堂实践1、求一元二次方程3.2X2+2.1X-8.4=0两个实根。2、求任意一元二次方程度两个实根。程序参考11、求一元二次方程3.2X2+2.1X-8.4=0的两个实根。#include#includemain(){floata,b,c,x1,

7、x2,p;a=3.2;b=2.1;c=-8.4;p=b*b-4*a*c;x1=(-b+sqrt(p))/(2*a);x2=(-b-sqrt(p))/(2*a);printf(“x1=%f,x2=%f”,x1,x2);}2、求任意一元二次方程的两个实根。#include#includemain(){floata,b,c,x1,x2,p;printf(“a=”);scanf(“%f”,&a);printf(“b=”);scanf(“%f”,&b);printf(“c=”);scanf(“%f”,&c);p=b

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。