C++程序设计(第3章).ppt
第3章C++流程控制本章学习重点掌握内容:结构化程序设计的程序结构选择结构和构成选择的语句循环结构和构成循环的语句结构化程序设计的典型算法和应用第3章C++流程控制3.1算法与流程图3.2C++语句和程序的三种基本结构3.3顺序结构程序3.4选择结构程序3.5循环结构程序设计3.6常用算法及应用实例3.1算法与流程图3.1.1算法的概念所谓算法,是指为了解决一个问题而采取的方法和步骤。当利用计算机来解决一个具体问题时,也要首先确定算法。例如,要计算S=1+2+3+…+100,算法是程序设计的灵魂,而程序设计语言是表达算法的形式。3.1.2算法的描述一、传统流程图流程图由一些特定意义的图形、流程线及简要的文字说明构成,它能清晰明确地表示程序的运行过程,传统流程图由以下图形组成:3.1.2算法的描述二、N-S图在这种流程图中,全部算法写在一个大矩形框内,该框中还可以包含一些从属于它的小矩形框。例如网上购物的N-S图3.2 C++语句和程序的三种基本结构C++程序中最小的独立单位是语句(statement)。C++语句可以分为以下4种:1.声明语句如inta,b;在C语言中,要求对变量的定义必须出现在本块中所有程序语句之前。因此C程序员已经养成了一个习惯:在函数或块的开头位置定义全部变量。在C++中,并且可以出现在函数中的任何行。2.执行语句通知计算机完成一定的操作。执行语句包括:
(1)控制语句,完成一定的控制功能。C++有9种控制语句,即①if()~else~(条件语句)②for()~(循环语句)③while()~(循环语句)④do~while()(循环语句)⑤continue(结束本次循环语句)⑥break⑦switch(多分支选择语句)⑧goto(转向语句)⑨return(从函数返回语句)(2)函数和流对象调用语句。sort(x,y,z);coutxendl;(3)表达式语句。i=i+1//是一个赋值表达式i=i+1;//是一个赋值语句3.空语句下面是一个空语句:;有时用来做被转向点,或循环语句中的循环体。4.复合语句可以用{}把一些语句括起来成为复合语句。如下面是一个复合语句。
{z=x+y;
if(z100)z=z-100;
coutz;
}3.2.2C++程序的三种基本结构在过程化程序设计中,按照结构化设计的思想由语句构成三种基本结构。1.顺序结构 程序按照语句的书写顺序依次执行,语句在前的先执行,语句在后的后执行,顺序结构只能满足设计简单程序的要求。2.选择结构(也称分支结构)在选择结构中,程序根据判断条件是否成立,来选择执行不同的程序段。3.循环结构在循环结构中,程序根据判断条件是否成立,来决定是否重复执行某个程序段。3.2.3结构化算法解决任何一个复杂的问题,都可以由3种基本结构来完成:顺序结构,选择结构,循环结构。由这3种基本结构构成的算法称为结构化算法,它不存在无规律的转移,只有在本结构内才允许存在分支或者向前向后的跳转。由结构化算法编写的程序称为结构化程序。结构化程序便于阅读和修改,提高了程序的可读性和可维护性。3.3顺序结构程序“鸡兔同笼”问题#includeiostream.hvoidmain(){inth,f,x,y;cout请输入鸡和兔的总头数:;cinh;cout鸡和兔的总脚数(偶数):;cinf;x=(4*h-f)/2;y=(f-2*h)/2;cout则笼中鸡有x只,兔有y只。endl;}3.4选择结构程序它能根据给定条件,从事先编写好的各个不同分支中执行并且仅执行某一分支的相