您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > C++程序设计基础(第5版)(上)周霭如【2 程序控制结构】
华南理工大学计算机学院周霭如2016华南理工大学计算机学院周霭如2016第2章程序控制结构2.1选择控制2.2循环控制2.3判断表达式的使用2.4转向语句小结华南理工大学计算机学院周霭如2016语句是程序的基本语法成分。程序设计语言的语句按功能可以分成三类:声明语句指示编译器分配内存,或者提供程序连接信息操作语句描述对数据的处理控制语句用于控制程序的执行流程。所有程序都只能包含三种控制结构:顺序结构、选择结构和循环结构第2章程序控制结构华南理工大学计算机学院周霭如2016对给定的条件进行判断,并根据判断的结果选择不同的操作2.1选择控制条件运算表达式根据判断条件,决定表达式的值不改变程序语句执行流程比较条件运算华南理工大学计算机学院周霭如20161.if语句的形式和执行流程if(表达式)语句;2.1.1if语句语句形式(1)执行流程false(0)true(非0)表达式语句2.1.1if语句华南理工大学计算机学院周霭如2016false(0)true(非0)表达式语句1.if语句的形式和执行流程if(表达式)语句;2.1.1if语句语句形式(1)执行流程表达式语句true(非0)2.1.1if语句华南理工大学计算机学院周霭如2016false(0)true(非0)表达式语句1.if语句的形式和执行流程if(表达式)语句;2.1.1if语句语句形式(1)执行流程表达式false(0)2.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句35abmax例::max=a;if(ba)max=b;coutmax=maxendl;:2.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句35abmax3例::max=a;if(ba)max=b;coutmax=maxendl;:2.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句35abmax3例::max=a;if(ba)max=b;coutmax=maxendl;:2.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句35abmax3例::max=a;if(ba)max=b;coutmax=maxendl;:2.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句35abmax5例::max=a;if(ba)max=b;coutmax=maxendl;:2.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句35abmax5max=5输出例::max=a;if(ba)max=b;coutmax=maxendl;:2.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句73abmax例::max=a;if(ba)max=b;coutmax=maxendl;:2.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句73abmax7例::max=a;if(ba)max=b;coutmax=maxendl;:2.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句73abmax7例::max=a;if(ba)max=b;coutmax=maxendl;:2.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句73abmax7max=7输出例::max=a;if(ba)max=b;coutmax=maxendl;:2.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句1.if语句的形式和执行流程语句形式(2)if(表达式)语句1;else语句2;执行流程false(0)true(非0)表达式语句1语句22.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句1.if语句的形式和执行流程语句形式(2)if(表达式)语句1;else语句2;执行流程false(0)true(非0)表达式语句1语句2true(非0)表达式语句12.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句1.if语句的形式和执行流程语句形式(2)if(表达式)语句1;else语句2;执行流程false(0)true(非0)表达式语句1语句2false(0)表达式语句22.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句例::if(ba)max=b;elsemax=a;coutmax=maxendl;:35abmax2.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句35abmax例::if(ba)max=b;elsemax=a;coutmax=maxendl;:2.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句例::if(ba)max=b;elsemax=a;coutmax=maxendl;:35abmax52.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句例::if(ba)max=b;elsemax=a;coutmax=maxendl;:35abmax5max=5输出2.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句例::if(ba)max=b;elsemax=a;coutmax=maxendl;:73abmax2.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句例::if(ba)max=b;elsemax=a;coutmax=maxendl;:73abmax72.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句例::if(ba)max=b;elsemax=a;coutmax=maxendl;:73abmax7max=7输出2.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句例::if(ba)max=b;elsemax=a;coutmax=maxendl;:73abmax7max=7输出试一试用条件表达式修改该程序2.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句2.if语句的嵌套if语句中的执行语句如果又是另一个if语句,称为嵌套if语句if与else的配对关系:C++规定,else总是与它接近的if配对使用复合语句,可以改变条件语句的执行流程2.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句例2-1编写程序计算货物运费。设货物运费每吨单价p(元)与运输距离s(公里)之间有如下关系:400204003005.22300200252001005.2710030sssssp=输入要托运的货物重量为w吨,托运距离s公里,计算总运费t:t=p*w*s2.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句控制流图truefalsetruetruetruefalsefalsefalseS100?S200?S300?S400?P=30P=20P=22.5P=25P=27.5t=p*w*s2.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句truefalsetruetruetruefalsefalsefalseS100?S200?S300?S400?P=30P=20P=22.5P=25P=27.5t=p*w*s//例2-1计算货物运费#includeiostream#includeiomanipusingnamespacestd;intmain(){doublet,p,w,s;coutPleaseinputweight(ton):;cinw;coutPleaseinputdistsnce(kilometre):;cins;if(s100)p=30;elseif(s200)p=27.5;elseif(s300)p=25;elseif(s400)p=22.5;elsep=20;t=p*w*s;coutThecostis:setprecision(2)t'$'endl;}想一想:几个else分支语句的次序可以改变吗?2.1.1if语句华南理工大学计算机学院周霭如2016//例2-1计算货物运费#includeiostream#includeiomanipusingnamespacestd;intmain(){doublet,p,w,s;coutPleaseinputweight(ton):;cinw;coutPleaseinputdistsnce(kilometre):;cins;if(s100)p=30;elseif(s200)p=27.5;elseif(s300)p=25;elseif(s400)p=22.5;elsep=20;t=p*w*s;coutThecostis:setprecision(2)t'$'endl;}truefalsetruetruetruefalsefalsefalseS100?S200?S300?S400?P=30P=20P=22.5P=25P=27.5t=p*w*s2.1.1if语句例如:cins;if(s300)p=25;elseif(s100)p=30;elseif(s400)p=22.5;elseif(s200)p=27.5;elsep=20;t=p*w*s;若输入s:150输出t值等于多少?为什么?2.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句例2-2输入三个整数,按从小到大顺序输出。解法一数据排序。先找出最小值,放在a中,然后找次小值,放在b中:1.对a、b进行比较,把小值放于a;ifabab//ab2.对a、c进行比较,把小值放于a;ifacac//ac,ab3.对b、c进行比较,把小值放于b;ifbcbc//ab&&bc4.输出a,b,c的值。2.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句例2-2输入三个整数,按从小到大顺序输出。a752bcab:aba572bca275bc27ac:ac2bc:bca257bcabab,acab&&bc2.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句例2-2输入三个整数,按从小到大顺序输出。#includeiostreamusingnamespacestd;intmain(){inta,b,c,t;coutPleaseinputthreeintegernumbers:;cinabc;if(ab){t=a;a=b;b=t;}if(ac){t=a;a=c;c=t;}if(bc){t=b;b=c;c=t;}coutabcendl;}注意语句块结构2.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句例2-2输入三个整数,按从小到大顺序输出。#includeiostreamusingnamespacestd;intmain(){inta,b,c,t;coutPleaseinputthreeintegernumbers:;cinabc;if(ab){t=a;a=b;b=t;}if(ac){t=a;a=c;c=t;}if(bc){t=b;b=c;c=t;}coutabcendl;}注意语句块结构2.1.1if语句华南理工大学计算机学院周霭如20162.1.1if语句例2-2输入三个整数,按从小到大顺序输出。解法二改变输出顺序:3个数的6
本文标题:C++程序设计基础(第5版)(上)周霭如【2 程序控制结构】
链接地址:https://www.777doc.com/doc-3205152 .html