VC++运算符 表达式 输入输出

上传人:油条 文档编号:26853531 上传时间:2018-01-02 格式:PPT 页数:42 大小:102KB
返回 下载 相关 举报
VC++运算符     表达式 输入输出_第1页
第1页 / 共42页
VC++运算符     表达式 输入输出_第2页
第2页 / 共42页
VC++运算符     表达式 输入输出_第3页
第3页 / 共42页
VC++运算符     表达式 输入输出_第4页
第4页 / 共42页
VC++运算符     表达式 输入输出_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《VC++运算符 表达式 输入输出》由会员分享,可在线阅读,更多相关《VC++运算符 表达式 输入输出(42页珍藏版)》请在金锄头文库上搜索。

1、PROGRAM DESIGN IN Visual C+,李骏扬J,第二讲 VC+运算符 表达式 输入输出,VC+ 运算符 表达式,表达式,表达式能够求出一个式子的值例如:3+3,iA * iB,fAllMoney = iPersonCount * fMoney表达式由若干变量、常量和运算符组成。,运算符,算术运算符:+ - * / %关系运算符: = & | 递增运算符:+ -sizeof赋值运算符:= += /= *= %= 三目运算符:? :逗号运算符:,赋值运算和赋值符号“=”,有赋值符号“=”的表达式叫做赋值表达式。赋值表达式是将“=”右边的值传递给“=”左边的变量。赋值符号左边必须是

2、一个变量,右边是一个运算式。赋值符号并不是表示左右相等关系。赋值运算的结果就是左边变量的结果。,赋值符号“=”的运用举例,int iA = 3; iB = 4;int iC = iA + iB;cout “iC = “ iC;iIndex = iIndex + 1,符号运算表达式,-负号+正号(一般省略)例如:int iA = +3; int iA0 = 3;int iB = -4; int iC = -22;,算术运算表达式,+:加号int iA = 4; iB = 5; iC = 0;iC = iA + iB;cout iC;int iA = 4; iB = 5;int iC = iA +

3、 iB; cout iC;,算术运算表达式,- 减号iC = iA iB;* 乘号iC = iA * iB;/ 除号iC = iA / iB;,% 取模/取余数7 % 3 = 111 % 4 = 3int iA = 43; int iB = 10;int iC = iA / iB;cout iC;输出:3,算术运算表达式,对于char的算术运算,规律两条:在进行算术运算时,char类型相当于一个整数,范围-128127,unsigned char的范围是0255在用cout输出时,显示在屏幕上的是ASCII字符char cExample = 68;cout cExample;输出:D,char

4、类型运算的举例,#include void main(void)char cA = A, cB = 0;cA = cA + 3;char cC = cA + cB;int iA = cA;int iB = cB;int iC = cC;cout iA iB iC endl;cout cA cB cC c & c +(书后习题)为了应付考试,我们必须学会分析垃圾表达式,但是不建议大家在实际操作中使用垃圾表达式。,算术运算符操作数的类型,相同类型数据运算charcharcharintintintfloatfloatfloatdoubledoubledouble,算术运算符操作数的类型,不相同类型数

5、据运算charintintintfloatfloatintdoubledoublefloatdoubledouble,赋值时的自动类型转换,赋值时,计算所得值将自动更改与赋值符号左边的变量类型长类型短类型浮点数整数:去掉小数部分。如果原浮点数超出了整数的取值范围,则出错。长整数短整数:若超出短整数的范围,出错。若是负数,最高位符号保留。,赋值时的自动类型转换,短类型长类型整数浮点数:没有问题。短整数长整数:需要高位补足,方法是用短整数的最高位来补足,以正确转换负数。无符号数与有符号数一般没有问题。当超出表示范围,会出错。,类型转换对数值带来的影响,遵循尽量不改变原数值得原则特别注意转换前后数值

6、精度的变化当原数的大小超出转换后数据类型的表示范围,则转换后数据有误。表示长度带来的溢出。有无符号带来的溢出。,算术运算的溢出问题,因为相同类型的变量运算后仍然是该类型,所以可能导致溢出。例如:int iA = 20000; int iB = 300;int iC = iA * iB /溢出又如:char cA = 200; char cB = 100;int iC = cA + cB /溢出!,解决溢出的方法强行类型转换,语法:() 或: ()转换方法和规则同自动转换相同例如:int iA = 3, iB = 4; float iC = (float)iA / iB;,强行类型转换解决溢出问

7、题,_int8 iA8 = 200;_int8 iB8 = 100;_int16 iC16 = (_int16)iA8 * iB8;,强行类型转换解决精度问题,整除:int iA = 3, iB = 4;cout iA / iB endl;结果:0整数和整数的除法要得到小数cout (float)iA / iB =大于等于=等于!=不等于,关系运算的结果,对于char类型,看作是数字进行比较。如果关系式是成立的,运算结果是 1。如果关系式不成立,运算结果是 0。例如:iE = (a = A)运算结果:iE = 0iA = 3; iB = 5; iE = (iB = iA)运算结果:iE = 1

8、,浮点数的等值比较,由于浮点数(float, double)在计算中的表示有一个精度问题,所以经过一系列运算,可能理论值是1,但实际结果可能是0.999999和1.000001,在比较fA 和 fB时,可以使用fabs(fA - fB) BC”:A B & B C表示B在(A, C)区间之外:B = C | B 右移,二元&按位与,二元|按位或,二元按位异或,二元,位运算的说明,位运算只能在整数间进行移位操作实现快速乘法和除法,sizeof运算符,语法sizeof()求使用内存的大小例如:int iA = 0;cout sizeof(iA);结果:4,递加、递减运算符,+ iA + 相当于iA = iA + 1- - iA - - 相当于iA = iA1都是一元左结合运算符,+和-运算符的特别说明,逗号表达式,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号