分享
分享赚钱 收藏 举报 版权申诉 / 28

类型C++ chapter 5.ppt

  • 上传人:hyngb9260
  • 文档编号:8433598
  • 上传时间:2019-06-26
  • 格式:PPT
  • 页数:28
  • 大小:279.50KB
  • 配套讲稿:

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

    特殊限制:

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

    关 键  词:
    C++ chapter 5.ppt
    资源描述:

    1、面向过程的程序设计 C+程序组成、语句类型、执行语句 cout与cin一般格式、智能识别、输出表达式 顺序结构,关键:处理逻辑转换为C+表示 关系运算符、结合性、优先级 关系表达式的值、逻辑常量、数字特征真:1、true;假:0、false 7)算法框图:三角形、长方形、箭头线、Y/N,1)3种逻辑运算符:(1) & 逻辑与 (相当于其他语言中的AND)(2) | 逻辑或 (相当于其他语言中的OR)(3) ! 逻辑非 (相当于其他语言中的NOT) 例1:假设a、b为逻辑变量a & b 若a,b为真,则 a & b 为真,如:5.0&2a|b 若a,b之一为真,则a|b为真,如:5.0|0!a

    2、若a为真,则!a为假,如:!5.0书中P63表3.2为逻辑运算的“真值表”,要仔细理解与熟悉。,3.6.3 逻辑运算和逻辑表达式,2)优先级、左结合:(1) !(非) &(与)|(或)(2) “&”和“|”低于关系运算符(当然低于算术运算符)(3)“!”高于算术运算符(当然高于关系运算符) 例2:假设a、b为逻辑变量(ab) & (xy) 可写成 ab & xy(a=b) | (x=y) 可写成 a=b | x=y(!a) | (ab) 可写成 !a | ab 3)逻辑表达式两个关系表达式用逻辑运算符连接起来的表达式,即:表达式 逻辑运算符 表达式逻辑表达式的值是逻辑量“真”(1/true)或

    3、“假”(0/false),例3:假设a=4,b=5.0、c=6,则,计算如下逻辑表达式的值 (1)!a;(2)a&b;(3)a-b|a+b;(4)!a|b (5) bac 与 ba & ac 等价否? 解: (1) !a的值为0;(2) a & b的值为1。 (3) a-b | a+b的值为1;(4) !a | b的值为1。 (5) 不等价,结果不一样。又 ab=1 是逻辑恒真值 例4:假设year为整数,分析如下逻辑表达式(year % 4 = 0 & year % 100 != 0) | year % 400 = 0 解: (1)先考虑括号中的内容,优先级:%、=、!=、&; (2)再考虑

    4、|右边的逻辑表达式,于是: 闰年:如果变量year能被4整除但不能被100整除,或者year能被400整除,则表达式为真;否则为假。,判定所给定的条件是否满足,决定执行给出的两个语句。 3.7.1 if 语句的3种形式 1)if (表达式) 语句; / (1)表达式在()中 (2)一条语句或复合语句if(xy) coutxendl; / 注意分号,没有else 2) if(表达式)语句1; else 语句2;,3.7 选择结构和 if 语句,无else的if语句 一个else的if语句,3)多级else if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式3

    5、) 语句3; else if(表达式m) 语句m; else 语句n;例5:如果购书数量amount 超过500本,则0.70折、且送 2本教材;否则为0.75折。 解:if(amount 500)tax = 0.70;amount += 2;elsetax = 0.75;,带多级else的if语句,1)嵌套if一般形式(左图)2)else匹配关系(中图)else总是与它上面最近的、且未配对的if配对。 3)建议书写规则(右图)(1)加花括号(复合语句)来确定配对关系(2)内层 if 缩进且左对齐(缩进2或4个空格),3.7.2 if 语句的嵌套,1)条件运算符(三目运算符)表达式1 ? 表达

    6、式2 表达式3 2)表达式的值及执行顺序: 先求解表达式1,若为非0(真)则求解表达式2,且表达式的值就作为整个条件表达式的值。若表达式1的值为0(假),则求解表达式3,且表达式3的值就是整个条件表达式的值。例如:max=(ab)?a:b;3.9 多分支选择结构和switch 语句,3.8 条件运算符和条件表达式,switch语句是多分支选择语句,用来实现多分支选择结构。 它的一般形式如下: switch(表达式)case 常量表达式1:语句1case 常量表达式2:语句2.case 常量表达式n:语句ndefault:语句n+1switch(grade)case A: cout85100n;

    7、case B: cout7084n;case C: cout6069n;case D: cout60n;default : couterrorn;,说明: (1) switch后面括号内的“表达式”,允许为任何类型。 (2) 当switch表达式的值与某一个case子句中的常量表达式的值相匹配时,就执行此case子句中的内嵌语句,若所有的case子句中的常量表达式的值都不能与switch表达式的值匹配,就执行default子句的内嵌语句。 (3) 每一个case表达式的值必须互不相同。 (4) 各个case和default的出现次序不影响执行结果。 (5) 执行完一个case子句后,流程控制转

    8、移到下一个case子句继续执行。“case常量表达式”只是起语句标号作用,并不是在该处进行条件判断。例如,上面的例子中,若grade的值等于A,则将连续输出:851007084606960error,因此,应该在执行一个case子句后,使流程跳出switch结构,即终止switch语句的执行。可以用一个break语句来达到此目的。将上面的switch结构改写如下: switch(grade) case A: cout85100n;break;case B: cout7084n;break;case C: cout6069n;break;case D: cout60n;break;default

    9、 : couterrorn;break;,在case子句中虽然包含一个以上执行语句,但可以 不必用花括号括起来,会自动顺序执行本case子句 中所有的执行语句。 (6) 多个case可以共用一组执行语句,如.case A: case B: case C: cout60n;. 当grade的值为A、B或C时都执行同一 组语句。,3.10 编写选择结构的程序,例3.9 运输公司根据货物重量w计费,标准如下: w100kg 或 w 3000kg 15%折扣100w1000 5折扣1000w2000 8折扣2000w3000 10折扣设每吨货物的基本运费为p,货物重为w,折扣为d,则总运费f的计算公式

    10、为: f = p * w * (1 - d),3.11.1 用while语句构成循环 一般形式如下(当型循环): while (表达式) 语句; 其作用是: 当指定的条件为真 (表达式为非0)时,执行while语 句中的内嵌语句(一条语句或 复合语句)。 1)特点:先判断表达式是否成立,后执行语句; 2)括号:表达式必须在括号内; 3)复合句:循环内多条语句时用包含复合语句,且右花括号后没有分号,3.11 循环结构和循环语句,例3.10 求1+2+3+100。 1)用流程图表示算法图 2)根据流程图写出程序 #include using namespace std; int main( ) i

    11、nt i=1, sum=0; / 初始值while (i=100) / 循环结束判断 sum=sum+i; / sum += i;i+; / 循环控制变量增加语句 / 一般不写分号cout“sum=“sumendl;return 0; 运行结果为:sum=5050,do-while语句其一般形式(do循环) do 语句;while (表达式); 特点:是先执行循环体,然后判断循环条件是否成立。 执行顺序:先执行一次指定的语句(即循环体),然后判别表达式,当表达式的值为非零(“真”) 时,返回重新执行循环体语句,如此反复,直到表达式的值等于0(为假)为止,此时循环结束。,3.11.2 用do-w

    12、hile语句构成循环,例3.11 用do-while语句求1+2+3+100。 1)先画出流程图 2)编写出下面的程序 #include using namespace std; int main( ) int i=1, sum=0; / 给出初始值 do sum=sum+i; / sum += i;i+; while (i=100); / 结束判断coutsum=sumendl;return 0; ,for语句的一般格式为 for(表达式1;表达式2;表达式3) 语句; 特点:可以用于循环次数确定的情况,可以用于循环次数不确定而只给出循环结束条件的情况,完全可以代替while语句。 2)执行

    13、过程: (1) 求解表达式1; (2) 求解表达式2,若其值为真(值为非0),则执行for语句中指定的内嵌语句,然后执行下面第(3)步。若为假(值为0),则结束循环,转到第(5)步; (3) 求解表达式3; (4) 转回上面第(2)步骤继续执行; (5) 循环结束,执行for语句下面的一个语句。,3.11.3 用for语句构成循环,for语句的常用格式如下:for(循环变量赋初值;循环条件;循环变量增值) 语句; 例如:用for循环计算1+2+100for语句常见格式的说明: 循环初始值:表达式1一般是设置循环变量初值的赋值表达式。省略“表达式1”,此时应在for语句之前给循环变量赋初值。 永

    14、真表达式:省略表达式2,即不判断循环条件,也就是认为表达式2始终为真。循环无终止地进行下去。 循环条件:省略表达式1和表达式3,只有表达式2,此时只给循环条件。,3.11.4 循环的说明与比较,循环嵌套:一个循环体内又包含另一个完整的循环结构,称为循环的嵌套,从而构成多层循环。,3.12 循环的嵌套,break语句的一般格式为:break;作用:使流程从循环体内跳出,即提前结束循环,接着执行循环体下面的语句。break语句只能用于循环语句和switch语句内,不能单独使用或用于其他语句中。 continue语句的一般格式为:continue;作用:结束本次循环执行步,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。 continue语句和break语句的区别:continue语句只结束本次循环,而不是终止整个循环的执行。而break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。见如下代码段和图表示,3.13 break语句和continue语句,循环语句段1,循环语句段2,例3.12 用下面公式求 的近似值直到最后一项 的绝对值小于10-7为止。 /41-1/3+1/5-1/7+。注意: 1)如何算法?2)不要 把n定义为整型变量。 问题:有其它算法否?用for做?,3.14 编写循环结构的程序,

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:C++ chapter 5.ppt
    链接地址:https://www.docduoduo.com/p-8433598.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开