分享
分销 收藏 举报 申诉 / 50
播放页_导航下方通栏广告

类型第四章 运算符与流程控制.ppt

  • 上传人:pc****0
  • 文档编号:13178623
  • 上传时间:2026-01-30
  • 格式:PPT
  • 页数:50
  • 大小:1.55MB
  • 下载积分:10 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    第四章 运算符与流程控制 第四 运算 流程 控制
    资源描述:
    单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,C+,面向对象程序设计,第,4,章 运算符与流程控制,4.1,运算符,运算符是一种符号,用来指定要在表达式中执行的操作。,C+,中常用的运算符有:,算术运算符,赋值运算符,关系运算符,逻辑运算符,条件运算符,4.1,运算符,学习运算符应注意:,运算符功能,与运算量关系,要求运算量个数,(单目,双目,三目),要求运算量类型,运算符优先级别,结合方向,结果的类型,4.1.1,算术运算符,算术运算符,基本算术运算符:,+-*/%,功能,:,取模运算符,%,用于计算两整数相除后得到的余数,结合方向:从左向右,优先级:,*,/%,-,+-,(13)(12),说明:,两整数相除,结果为整数,%要求两侧均为整型数据,例,5/2 =,-5/2.0 =,例,5%2 =,-5%2 =,1%10 =,5%1 =,5.5%2,例,5/2 =,2,-5/2.0=,-2.5,例,5%2 =,1,-5%2 =,-1,1%10 =,1,5%1 =,0,5.5%2,(,),4.1.1,算术运算符,算术表达式,由以上各种算术运算符和常量或变量构成的式子叫做算术表达式。,算术表达式的操作数主要是数值类型的数据和字符类型的数据,4.1.1,算术运算符,算术运算时的类型转换,当运算符两边的操作数不是同一种数据类型时,必须将它们先转换成同一类型的数据再进行运算。,数据类型的转换有两种方式:,隐式类型转换,显示类型转换,4.1.1,算术运算符,隐式类型转换,什么情况下发生,运算转换,-,不同类型数据混合运算时,赋值转换,-,把一个值赋给与其类型不同的变量时,输出转换,-,输出时转换成指定的输出格式,函数调用转换,-,实参与形参类型不一致时转换,运算转换规则,:,不同类型数据运算时先,自动,转换成同一类型,说明,:,必定的转换,运算对象类型不同时转换,例,char,ch,;,int,i;,float f;,double d;,ch/i,+f*d -(f+i),int,int,double,double,double,double,double,double,int,int,double,double,double,double,double,double,10+a +i*f -d/l,例,int,i;,float f;,double d;,long l;,double,float,long,unsigned,int,char,short,低,高,unsigned long,4.1.1,算术运算符,显示类型转换,(,类型名,),表达式,类型名,(,表达式,),例,(,int)x+y,(double)(3/2),(int)3.6,说明:强制转换得到所需类型的中间变量,原变量类型不变,例题,4-1,将,double,类型的数据和,int,类型的数据进行显示转换。,#include,void main(),double a=10.6;,int,b=5;,b=,b+int(a,);/,将,double,类型的数据强制转换为,int,型的数据,cout,b,endl,;,char c=A;,c=,c+(char)b,;/,将,int,类型的数据转换为,char,类型的数据。,cout,c,endl,;,4.1.1,算术运算符,简单赋值运算符,符号:,=,格式:,变量标识符,=,表达式,作用:将右侧的表达式求出结果,赋给其左侧的变量,复合赋值运算符,种类,:,+=-=*=/=%=,=&=|=,含义:,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;,d=,func,();,c=d+2;,4.1.2,赋值运算符,说明,:,结合方向:,自右向左,优先级,:,2,左侧必须是变量,不能是常量或表达式,赋值表达式的值与变量值相等,且可嵌套,赋值转换,规则,:,使赋值号右边表达式值,自动,转换成其左边变量的类型,例,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),a=(b=10)/(c=2),/,表达式值为5,,a,b,c,值为5,/b=5;a=5,/,表达式值11,,c=6,a=11,/,表达式值10,,a=10,b=4,c=6,/,表达式值5,,a=5,b=10,c=2,4.1.2,赋值运算符,例,j=3;k=+j;,j=3;k=j+;,j=3;,cout,+j,endl,;,j=3;,cout,j+,endl,;,a=3;b=5;c=(+a)*b;,a=3;b=5;c=(a+)*b;,/k=4,j=4,/k=3,j=4,/4,/3,/c=20,a=4,/c=15,a=4,自增、自减运算符,+-,作用:使变量值加,1,或减,1,种类:,前缀,+i,-i (,先执行,i,+1,或,i-1,,,再使用,i,值),后缀,i+,i-(,先使用,i,值,再执行,i,+1,或,i-1,),4.1.3,自增、自减运算符,说明:,+-不能用于常量和表达式,如,5+,(,a+b)+,+-,结合方向:,自右向左,优先级:,15,例-,i+,-(i+),i=3;,cout,-i+,endl,;,/-3,例-,i+,i=3;,cout,-i+!=,结合方向:自左向右,优先级别:,=,=,!=,高,(10),低,(9),例,ca+b /c(a+b),ab!=c /(ab)!=c,a=bc /a=(bc /a=(bc),关系表达式的值:是逻辑值“真”或“假”,用,1,和,0,表示,例,int,a=3,b=2,c=1,d,f;,ab,(ab)=c,b+cb,f=abc,/,表达式值1,/,表达式值1,/,表达式值0,/d=1,/f=0,4.1.4,关系运算符,例,注意区分“,=,”,与“,=,”,int,a=0,b=1;,if(a,=,b),cout,“a equal to b“,;,else,cout,“,a not equal to b“;,int,a=0,b=1;,if(a,=,b),cout,“,a equal to b“;,else,cout,“,a not equal to b“;,4.1.4,关系运算符,种类:,!&|,逻辑运算真值表,a,b,!a,!b,a&b,a|b,真,假,真,假,假,假,真,真,真,假,假,假,假,假,真,真,假,假,真,真,真,假,真,真,4.1.5,逻辑运算符,!,(,15,),&,(,5,),|,(,4,),高,低,例,a=x&xb&xy,a=b|x=y,!a|ab,优先级:,结合方向:,!,:,从右向左,&:,从左向右,|:,从左向右,/(a=x)&(xb)&(xy),/(a=b)|(x=y),/(!a)|(ab),4.1.5,逻辑运算符,例,a=4;b=5;,!a,a&b,a|b,!a|b,4&0|2,53&2|83)&2|(8b)&(n=cd),/,结果,m=0,n=1,4.1.5,逻辑运算符,条件运算符是唯一的一个三目运算符,格式:,expr1?expr2:expr3,首先计算,expr1,的值,如果是,true,则返回的结果是表达式,expr2,;,否则返回的结果是表达式,expr3,4.1.6,条件运算符,条件运算符,一般形式:,expr1,?,expr2,:,expr3,执行过程,expr1,取,expr2,值,取,expr3,值,非0,=0,例,(a=b)?Y:N,(x%2=1)?1:0,(x=0)?x:-x,(c=a&c=z)?c-a+A:c,4.1.6,条件运算符,4.1.7,sizeof,运算符,sizeof,运算符用于计算某种数据类型的运算对象在计算机中所占用的存储空间的字节数。,sizeof,(,数据类型,),或者,sizeof,(,表达式,),4.1.8,逗号运算符,逗号运算符是“,”,用它可以将多个表达式连接起来,格式如下:,表达式,1,表达式,2,表达式,3,表达式,n,它的运算过程是:按照从左到右的顺序依次求出各表达式的值,并把最后一个表达式的值作为整个表达式的值。,例题:,(a=4,a+5,y=8)+5,4.2,分支结构,有时候出于某种特殊目的,命令的执行是有条件的、选择的被执行,不是在任何情况下都要执行这些命令,我们把这种程序结构叫做分支结构或选择结构。,4.2.1 if,语句,用,if,语句实现单个分支选择执行结构。,if(,表达式,),语句,|,语句块,;,执行逻辑如下图所示:,用,if,语句实现双分支选择执行结构,if(,表达式,),语句,1|,语句块,1,else,语句,2|,语句块,2,执行逻辑如右图所示:,4.2.1 if,语句,用,if,语句实现多分支选择执行结构,if(,表达式,1),语句,1|,语句块,1,else if(,表达式,2),语句,2|,语句块,2,else if(,表达式,n-1),语句,n-1|,语句块,n-1,else,语句,n|,语句块,n,4.2.1 if,语句,if else,配对原则:,缺省 时,,else,总是和它上面离它最近的未配对的,if,配对,if(),if(),if(),else.,else.,else.,if else,语句的嵌套,4.2.1 if,语句,例:,if(a=b),if(b=c),printf(“a,=b=c”);,else,printf(“a,!=b”);,修改:,if(a=b),if(b=c),printf(“a,=b=c”);,else,printf(“a,!=b”);,实现,if else,正确配对方法:加,4.2.1 if,语句,4.2.2 switch,语句,switch,语句也可以实现程序的分支结构,当判断条件比较多时,选择,switch,语句更合适。因为它的结构比较清晰,不容易出错。,switch,语句的格式如下,switch,语句的语法如下:,switch(,表达式,),case,常量表达式,1:,语句序列,1;,break;,case,常量表达式,2:,语句序列,2;,break;,case,常量表达式,n:,语句序列,n;,break;,default:,语句序列,n+1;,4.2.2 switch,语句,switch,表达式,语句序列,1,语句序列,2,语句序列,n,语句,n+1,.,常量表达式,1,常量表达式,2,常量表达式,n,default,case,当执行,switch,语句时,条件表达式的值与,常量表达式,的值比较,如果哪一个,case,后面的常量表达式的值与条件表达式的值相等,那么程序将执行这个,case,后面紧跟的语句,,直到遇到,break,才会跳出,switch,语句,。,如果没有一个常量表达式的值与条件表达式的值相等,那么程序则执行,default,后面紧跟的语句。,注意,switch,语句中,,程序是以匹配的,case,语句作为入口,相对应的,break,语句作为出口的,。如果漏掉了其中一个,break,语句,那么程序将会一直执行,直到遇到下一个,break,语句或执行,完,default,语句。,多个,case,可共用一组执行语句,例题:,4.2.2 switch,语句,4.3,循环结构,循环就是在某个条件保持为真时重复地执行一组语句,直到条件不再符合。在,C+,中,又可以分为,while,循环语句、,dowhile,循环语句、,for,循环语句三种。,4.3.1 while,循环,while,循环语句,while,语句的语法如下:,while(,表达式,),语句组,;,例 用,while,循环求,#include,void main(),int,i,sum=0;,i=1;,while(i=100),sum+=i;,i+;,cout,“sum=“sum,endl,;,循环初值,循环终值,循环变量增值,循环条件,循环体,dowhile,循环语句,do,语句组,;,while(,表达式,);,4.3.2 do-while,循环,dowhile,循环与,while,循环的区别是:,while,循环先判断后执行,dowhile,循环先执行后判断,dowhile,循环体至少要执行一次,然后才判断表达式的值是否为真。,注意,while,语句后带的分号。,4.3.2 do-while,循环,for(;),;,表,2,循环体,假,(0),真,(,非,0),for,表达式,1,表,3,4.3.3 for,循环,例:求数字,1,到,10,的平方的和(,1,2,2,2,10,2,)。,#include,void main(),for(int,i=1,sum=0;i=10;i+),sum=sum+i*i;,cout,The sum is:sum;,4.3.4,循环语句的嵌套,一个循环语句中包含一个或多个其他的循环语句,这就叫循环语句的嵌套。用循环语句的嵌套解决单重循环不能完成的问题。,例题,4-16,用双重循环输出一个单位矩阵。从键盘上任意输入一个整数,n,,程序将输出一个以,n,值为行、列的单位矩阵。,练习:打印乘法口诀表,4.3.4,循环语句的嵌套,break,语句,格式:,break;,功能:用在循环语句和,switch,语句中,终止并跳出循环体或开关体,说明:,break,只能,终止并跳出,最近一层,的结构,break,不能用于循环语句和,switch,语句之外的任何其它语句之中,例题:从键盘输入任意个整数,求其中正数的和。(以,0,作为输入结束的标志),4.4,跳转语句,continue,语句,格式:,continue;,功能:结束本次循环,跳过循环体中尚未执行的语句,进行下一次循环,仅用于循环语句中,4.4,跳转语句,4.5,变量的作用域,一个变量能够被访问的区域叫做变量的作用域,本节将介绍三种不同类型的作用域:,文件作用域,局部作用域,类作用域,4.5.1,文件作用域,变量的文件作用域是指,当一个变量在任何函数之外定义,那么它的使用范围就是从定义或声明该变量开始至整个文件结束,这个范围的任何一个函数或类都可以使用该变量。,例题,4-19,定义文件级变量,使得类和函数都可以访问该变量。,#include,int,a;/,定义文件级变量,a,class A,public:,int,b;,A()b,=a;,;,void main(),a=100;,A,obj,;,cout,obj.b,endl,;,声明变量,声明变量的目的是为了增大文件级变量的使用范围,使得程序在定义变量之前就可以访问到该变量。,声明变量的语法格式如下:,extern,数据类型 变量名,;,声明后的变量也是有作用范围的,它的作用范围是从声明该变量开始至整个文件结束。,例题,4-20,声明变量的作用域。,#include,class A,public:,int,b;,A()b,=a;/,访问,a,会出错,;,void main(),extern,int,a;/,声明变量,a,放到,main,函数中,作用域从这开始至文件结束,a=100;,A,obj,;,cout,obj.b,endl,;,int,a;,4.5.2,局部作用域,变量的局部作用域是指一个变量的使用范围只局限在程序的某些地方,而不是整个文件都可以访问。局部作用域分为两类:函数级局部作用域和块级局部作用域。,函数级局部作用域,块级局部作用域,4.5.3,类作用域,类的作用域简称类域,是指在类的定义中由一对花括号括起来的部分。每个类都有类域,它的成员都属于这个类域。具体地讲,类中某个成员的作用域包括如下几种情况:,在类体内部,类中的成员函数可以访问类的数据成员和其他成员函数。,当类的成员是公有访问符时,可以在类体外部由类的对象或类的指针引用。,
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:第四章 运算符与流程控制.ppt
    链接地址:https://www.zixin.com.cn/doc/13178623.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork