1、活动:复习上次内容活动:复习上次内容1.说出说出signed int类型数据的表示范围类型数据的表示范围2.说出说出unsigned int类型数据的表示范围类型数据的表示范围3.说出说出long int类型数据在内存中占几个字节?类型数据在内存中占几个字节?4.若有若有“scanf(”a=%d,%d”,&a,&b);”,试问如何输入正确数据?试问如何输入正确数据?5.若有字符型变量若有字符型变量C,请用字符输入输出函数实请用字符输入输出函数实现其输入和输出。现其输入和输出。1.1.基本运算基本运算算术运算符算术运算符操作符操作符 作作 用用 +加法运算加法运算 -减法运算减法运算 *乘法运算
2、乘法运算 /除法运算除法运算%求模(求余)运算求模(求余)运算见书见书P24,表表2-4说明说明运算符运算符“/”参加运算时,若其左右两边的运算数中有一参加运算时,若其左右两边的运算数中有一个为实数类型,则结果为实数,否则,结果取整;个为实数类型,则结果为实数,否则,结果取整;当两运算数同当两运算数同时为整数时,时为整数时,其运算结果自其运算结果自动取整动取整运算符运算符“%”要求其运算数必须为整数;要求其运算数必须为整数;算术表达式:用算术运算符及括号将数据对算术表达式:用算术运算符及括号将数据对象连接起来的式子象连接起来的式子 例:例:a*d/c-2.7+2讨论:讨论:表达式:表达式:19
3、+2-4中,计算机是先计算中,计算机是先计算19+2,还是,还是 先计算先计算2-4?而?而19+2/4 呢?呢?这牵涉到这牵涉到“结结合性合性”与与“优优先级先级”结合性:一般是左结合(自左向右运算)结合性:一般是左结合(自左向右运算)优先级:运算的优先顺序(见优先级:运算的优先顺序(见P191)()()负号负号 *、/、%+%+、-低低高高见书见书P242.赋值运算符及赋值表达式赋值运算符及赋值表达式赋值运算赋值运算赋值运算符:赋值运算符:=赋值表达式:赋值表达式:格式:变量名格式:变量名=表达式;表达式;如:如:int a=3,b=2,c;则:则:c=a+b;b=b+a;等等复合赋值复合
4、赋值int a=0;a=a+20;int a=0;a+=20;活活 动动1.将下面赋值表达式转换为复合赋值表达式将下面赋值表达式转换为复合赋值表达式a=a-10/x;y=y*(a+8);a-=10/x;y*=a+8;2.将下面复合赋值形式转变为一般赋值形式将下面复合赋值形式转变为一般赋值形式 x/=y-3;z+=m%2;x=x/(y-3);z=z+m%2;自增和自减运算自增和自减运算两个运算符均为单两个运算符均为单目运算符,且优先级目运算符,且优先级在算术运算中最高在算术运算中最高 增量运算符:增量运算符:+减量运算符:减量运算符:-应用情况应用情况见书见书P26表表2.5说明:见书说明:见书
5、P26,表表2.5下部分下部分活活 动动分析下面语句执行后分析下面语句执行后x与与y的值?的值?x=10;y=+x;x=10;y=x+;x=10;y=-x;x=10;y=x-;x=11 y=11x=11 y=10 x=9 y=9x=9 y=10 分析:分析:9+是什么意是什么意思?思?3.表达式中的类型转换表达式中的类型转换自动类型转换自动类型转换说明:不同类型数据参加运算时,表示范围小的说明:不同类型数据参加运算时,表示范围小的数据类型自动向表示范围宽的类型转换。数据类型自动向表示范围宽的类型转换。转换情况如下:转换情况如下:见书见书P31强制类型转换强制类型转换一般形式:一般形式:(类型)(类型)表达式表达式活动:分析下面程序活动:分析下面程序 main()main()int a=2,b=7,c;int a=2,b=7,c;float x=15.5 float x=15.5,y,z;y,z;y=a/b;y=a/b;z=(float)a/b;z=(float)a/b;c=(int)x%a;c=(int)x%a;printf(y=%f z=%f c=%d x=%f,y,z,c,x);printf(y=%f z=%f c=%d x=%f,y,z,c,x);作作 业业书中书中P37,二题的相关内容二题的相关内容书面作业:书面作业:实践作业:实践作业:P34实训