欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    C++语句和表达式.ppt

    • 资源ID:6154020       资源大小:401.50KB        全文页数:43页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C++语句和表达式.ppt

    第4章 语句和表达式,徐遵义,课件制作,2,主要内容,语句和表达式赋值语句与赋值表达式算术运算关系运算逻辑运算条件运算逗号表达式sizeof运算位运算小结与作业,课件制作,3,4.1 语句与表达式,C+中的语句语句是程序组成的基本单位,必须是以”;”结束执行语句是为了完成某个操作或修改某个数据C+语言的语句类型变量声明语句,如:int x,y;执行语句:流程控制:if-else;do-while;for;switch;continue;break;表达式语句:x=0;x=x+1;函数和流对象调用语句空语句:只有一个分号的语句,其形式为:;什么也不做,只表示语句的存在自顶向下程序设计时用在那些未完成的模块中复合语句:t=x;x=y;y=t;,课件制作,4,4.1 语句与表达式,int main()DataInitialze();DataProcess();DataOutput();,void DataInitialze();,if(x9);else coutxendl;,课件制作,5,4.1 语句与表达式,表达式由操作符、操作数和标点符号组成的序列,用来说明一个计算过程,如 z=x+y操作数也称为运算量或数据,可以是常量、变量或函数;只有数据的式子是最简单的表达式。操作符描述的是对数据进行的操作,C+语言的操作符有40多种;根据操作符需要的操作数个数不同,将操作符分为 3 类:单目运算符、双目运算符和三目运算符;表达式可以嵌套,如 2+3+5*sizeof(int)/345表达式根据某些约定、求值次序、结合性和优先级规则来进行计算约定:类型转换的约定,由低高求值次序:与编译器有关,课件制作,6,4.2 赋值语句,操作符:=作用是将一个数据赋给一个变量,如 int a=3;将一个表达式的值赋给一个变量,如 int a=3;int b=a+3;赋值表达式由赋值运算符将一个变量和一个表达式连接起来的式子语法形式:赋值表达式求解过程:将赋值运算符右侧“表达式”的值赋给左侧的变量。表达式的值就是被赋值的变量的值。上述一般形式中的“表达式”还可以是一个赋值表达式:a=(b=5)C语言允许连续赋值,课件制作,7,4.2 赋值语句,变量赋初值程序中常需要对一些变量预先设置初值。C+语言允许在定义变量的同时使变量初始化。int a=3;/*指定a为整型变量,初值为3*/float f=3.56;/*指定f为实型变量,初值为3.56*/char c=a;/*指定c为字符变量,初值为a*/也可以使被定义的变量的一部分赋初值。int a,b,c=5;/*指定a,b,c为整型变量,只对c初始化*/如果对几个变量赋予初值3,应写为:int a=3,b=3,c=3;不能写成:int a=b=c=3,注意:int a=3;相当于:int a;/*指定a为整型变量*/a=3;/*赋值语句,将3赋给a*/int a,b,c=5;相当于:int a,b,c;/*指定a,b,c为整型变量*/c=5;/*赋值语句,将5赋给c*/,课件制作,8,4.3 算术运算与赋值,中学阶段已学过的算术运算基本运算:、,取余其它运算:取整、求整(四舍伍入),()C+中的基本算术运算+、*(乘)、/(除)、%(求余)双目或双元运算符+、-、*、/的运算量可以是整型、实型甚至为字符型如:4+8、8/5、5.5*4、A 1/对于整型数为除法取整操作,如 5/2结果为2;对于浮点数则为通常意义上的除法,如6.2/2为3.1%要求两个运算量必须是整型数,否则会引起编译错误如:5%2、5.6%2,课件制作,9,4.3 算术运算与赋值,C+中的基本算术运算双目运算符在运算时运算结果的类型取决于参与运算的两个运算量的数据类型类型一致时,结果为参与运算的两个运算量的数据类型;当两个运算量的类型不一致时,系统会自动进行类型转换,转换成相同的类型之后再进行运算称为隐式类型转换;隐式类型转换规则:转换总是朝表达能力更强的方向并且转换总是逐个运算符进行;,float f=3.5;int n=6;long k=21;double ss=f*n+k/2;,课件制作,10,4.3 算术运算与赋值,C+中的基本算术运算强制类型转换,又称显示转换在一个数值或变量前加上带括号的类型名,或类型名后跟带括号的数值或表达式如:cout(long)234*456/6endl;coutlong(234)*456/6endl;若类型名带类型修饰符,则只能给类型名加括号 cout(unsigned long)234*456/6endl;溢出一个变量被赋予一个超出其数据类型表示范围的数值时发生溢出short weight=32764+4;/VC结果-32768数值溢出不会引起编译错误(有可能引起警告),但运行结果发生偏差,int a=7;float x=2.5,y=4.7,z;求表达式 z=x+a%3*(int)(x+y)%2/4 的值,课件制作,11,4.3 算术运算与赋值,C+中的基本算术运算复合的赋值运算符:将算术运算符与赋值运算符结合起来:+=、-=、*=、/=、%=注意:两个符号之间不可以有空格。优先级与“=”同级、右结合性。,例:c=b*=a+2;,课件制作,12,4.3 算术运算与赋值,C+中的基本算术运算自加、自减运算符(+、-)自加运算符+的推出自减运算符-的推出自加、自减运算符均为单目运算,并且要求运算量只能是变量在表达式中,一般不考虑+、-的优先级,而是去找它的运算量,从而确定它是以前缀形式还是以后缀形式出现,例:int i=0;i=i+1;,i=i-1;,课件制作,13,4.3 算术运算与赋值,C+中的基本算术运算自加、自减运算符(+、-)如果以后缀形式出现,则先参与其它运算再使变量的值增1(或减1)如果以前缀形式出现,则先使变量的值增1(或减1)后再参与其它运算;,例:int i=5,x,y;x=i+;y=i;couti:i x:x y:yendl;,例:int i=5,x,y;x=+i;y=i;couti:i x:x y:yendl;,课件制作,14,4.3 算术运算与赋值,C+中的基本算术运算自加、自减运算符(+、-)当表达式中只有一个+、或-运算时,前缀和后缀形式一样,如 i+;+i;副作用问题,x=i+y;x=i+(+y);x=i+y;,课件制作,15,4.3 算术运算与赋值,C+中的基本算术运算负号运算符(-):单元、单目、一元,例1:int a=5,b=8;a=-a*-b+1;,例2:int x,y=3;x=-y+2;,课件制作,16,4.4 关系运算,关系运算符:,=,=(等于),!=(不等于),课件制作,17,4.4 关系运算,关系运算符运算出的结果为 0 和 非 0:0 表示假,即该关系不成立;非0 表示真,即该关系成立;绝大多数编译器,关系运算得到的非 0 结果为 1,但是不要利用这个 1;用关系运算符连接操作数组成的表达式成为关系表达式;优先级、双目、左结合性,=优先级相同,=,!=优先级相同,且前 4 个运算符的优先级高于后面 2 个运算符的优先级;关系运算符的优先级低于所有算术运算符的优先级;,课件制作,18,4.4 关系运算,例:#include int main()int x=2,y=3,z;z=3-1=x+1=y+2;cout“x=”x“,y=”y“,z=”zendl;,x=2,y=3,z=1Press any key to continue,课件制作,19,4.4 关系运算,注意等于号“=”与赋值号“=”的区别;!=误写=!,=误写=;避免对两个实数作相等或不相等的比较;x!=3 与 x=!3区别,例:int z1,z2;float f1,f2;f1=100.111119f;f2=100.1111191f;z1=f1=f2;z2=fabs(f1-f2)1e-6;,课件制作,20,4.4 关系运算,计算关系表达式的值与判断关系表达式的真假int z;z=3 bc;,课件制作,21,4.5 逻辑运算,逻辑运算符:&(逻辑与)、|(逻辑或)、!(逻辑非)!是单目,高于算术运算;&和|都是双元运算;&比|优先级高,但都低于关系运算(关系运算低于算术运算);用逻辑运算符连接操作数组成的表达式成为逻辑表达式;,课件制作,22,4.5 逻辑运算,运算规则运算量的值是非0时,认为是“真”,是 0 时,认为是“假”;当两个运算量都是“真”时,&的值为真,其它情况为假;当两个运算量都是假时,|的值为假,其它情况为真;逻辑运算的结果为真时,用1表示,为假时,用0表示,课件制作,23,4.5 逻辑运算,例:int a=7,b=5,c=8;(a b&b c);/a大于b,并且b大于c,结果为假(a b|b c);/a大于b,或者b大于c,结果为真(!a);/如果a是0,结果非0;如果a是非0,结果是0并不改变a的值,结果为假,课件制作,24,4.5 逻辑运算,要学会把分支结构中的条件用关系或逻辑表达式描述出来,例:下列数学式子35并且y5或y3 x不大于5,对应的逻辑表达式x3&x5&y5|y5),例:判断某个字符 ch 是否为大写字母 char ch;cinch;ch=A,课件制作,25,例:判断某年year是否是闰年。闰年的条件是符合下面两者之一:A:能被4整除,但不能被100整除 B:能被400整除,int year,t1,t2,t3,t;scanf(%d,4.5 逻辑运算,课件制作,26,4.5 逻辑运算,短路表达式求 0&a 或 1|a 时,则不必计算表达式a的值如果多个表达式用&连接,则一个假表达式将使整个连接都为假如果多个表达式用|连接,则一个真表达式将使整个连接都为真,课件制作,27,4.5 逻辑运算,例:#include int main()int x,y,z;x=y=0;z=x+,x=1 y=0 z=0Press any key to continue,课件制作,28,4.5 逻辑运算,例:#include int main()int i=0,j=0,k=5,z;z=(+i0)|(+j0)|(k+);couti=”i“tj=”j“tk=”k“tz=”“zendl;,i=1 j=0 k=5 z=1Press any key to continue,课件制作,29,4.6 条件运算,条件运算符:?:三元运算、优先级只比赋值高条件表达式:表达式1?表达式2:表达式3;执行过程,例:int age;int nIsAdult;/是否成年人 age=18?nIsAdult=1:nIsAdult=0;,课件制作,30,4.7 逗号运算符,作为分隔符使用如:float f1,f2,f3,f4;作为运算符使用逗号表达式的一般形式:表达式1,表达式2,表达式n逗号表达式的值是最右边表达式的值、优先级最低如果逗号表达式的最后一个表达式为左值,则该逗号表达式为左值,int x,y,a,b;x=(y=10,y+2);cout“x:”x“y:”yendl;b=(a=4*5,2*a,a+6);cout“a:”a“b:”bendl;(a=1,b,x+1,y)=5;couta:a b:b x:x y:yendl;,课件制作,31,4.8 sizeof运算符,一般形式为:sizeof(数据类型);sizeof(变量名);,sizeof(double)long double a;sizeof(a),#include int main()coutData type Number of bytesendl;cout-endl;coutchar sizeof(char)endl;coutint sizeof(int)endl;coutfloat sizeof(float)endl;coutdouble sizeof(double)endl;coutshort int sizeof(short int)endl;coutlong int sizeof(long int)endl;coutlong double sizeof(long double)endl;return 1;,课件制作,32,4.9 位运算,位运算符:、&、|(优先级由高到低)位运算量只能是整型或字符型的数据,&:按位与运算:按位异或运算|:按位或运算,:按位求反:按位右移运算,课件制作,33,4.9 位运算,按位与运算符&运算规则:如果参加运算的两个运算量的相应位都是1,则该位的结果值为1,否则为0。应用:对字节中某N位进行清零,00011000,00000001,课件制作,34,例3:判断一个数据的某位是否为1?int a;cina;判断 a 是正数还是负数?,10000000 00000000 00000000 00000000,4.9 位运算,课件制作,35,4.9 位运算,按位或运算符|运算规则:如果两个运算量的相应位不同,则该位的结果值为1,相同则为原值应用:对字节中某N位进行置1,11111010,01111111,课件制作,36,4.9 位运算,按位异或运算符 运算规则:如果两个运算量的相应位不同,则该位的结果值为1,否则为0,又称不进位加应用:对数据进行简单的加密,两次异或运算又恢复为原值,1110 0010,0111 0100,0000 1111,课件制作,37,4.9 位运算,按位取反 运算规则:对操作数的各位取反,即0变为1,1变为0。应用:对数据进行简单的加密,两次取反运算又恢复为原值,1000 0101,课件制作,38,4.9 位运算,左移位 运算规则:对操作数 X 的每一位向右平移n位,当X为有符号数时,左边空位补符号位上的值,算术移位;当X为无符号数时,左边空位补0,逻辑移位;应用:快速地实施整数的乘法,右移 n 位相当于除以2n位运算与赋值运算的复合:&=,|=,=,=,=,0011 1100 60,例1:0000 1111 15 2,例2:0000 1111 15 2,0000 0011 3,课件制作,39,4.10 C+操作符的优先级与结合性,C+语言规定了运算符的优先级和结合性在求解表达式时,先按运算符的优先级别高低次序执行,例如先乘除后加减,如 a-b*c 相当于a-(b*c)如果在一个运算对象两侧的运算符的优先级别相同,如a-b+c,则按规定的“结合方向”处理算术运算符的结合方向为“自左至右”,即先左后右;“自左至右的结合方向”又称“左结合性”,即运算对象先与左面的运算符结合有些运算符的结合方向为“自右至左”,即右结合性(例如赋值运算符)“结合性”的概念在其他一些高级语言中是没有的,是C和C+的特点之一,参见教材表3-1,课件制作,40,4.11 常用数学函数,举例:用C+语言的表达式表示下列数学式子,1.3x2+4xy+y2+5,在程序中可以使用下列数学函数:fabs(x):求一个实数x的绝对值,如fabs(-4.5)的值为4.5 abs(x):求一个整数x的绝对值,如abs(6)的值为6 sin(x):求三角的正弦值,参数x为弧度,如sin(30/180*3.14)的值为0.49977。sqrt(x):求一个数x的算术平方根,如sqrt(9)的值为3.0。pow(x,y):求一个数x的y次方,如pow(10,2)的值为100.0。以上函数为系统内置函数,在头文件 math.h 中定义,使用前必须使用#include 或#include,课件制作,41,4.11 常用数学函数,课件制作,42,小结与作业,常犯错误使用变量前忘了先声明或给定初值;忘了在每个语句之后加上分号作为结尾;忘了加上适当的头文件 或#include;x=(a+b)*(c+d);写成 x=(a+b)(c+d);x=(a+b)/c;写成 x=a+b/c;变量或常量的名称注意大小写的差异(Abs和abs或A0和Ao)没有注意到整数除法。X=4.78+4/7;4/7是0;误用了+或-的次序。当N=2,M=N+*5;等价 M=N*5;N+;M的值为10而不是15;,课件制作,43,小结与作业,这一章我们学习了。C+语句赋值表达式与赋值语句算术表达式关系运算,逻辑运算,条件运算逗号运算sizeof()运算位运算作业教材练习3预习实验指导书实验三预习教材第4章,

    注意事项

    本文(C++语句和表达式.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开