
第三章基本控制结构.ppt
33页第三章第三章 基本控制结构基本控制结构3.1 3.1 顺序结构程序设计顺序结构程序设计 3.2 3.2 选择结构程序设计选择结构程序设计 3.3 3.3 循环控制循环控制 第三章第三章 基本控制结构基本控制结构•教学目标教学目标: 1.掌握 C++ 语言常用的输入 / 输出方式 2.熟练掌握 if … else 的两种语法 3.掌握 for 、 while 、 do-while 语句的用法•教学重点教学重点: : 1.赋值语句、数据的输入输出及输入输出中常用的控制格式 2.程序设计中构成选择、循环的算法; 教学难点教学难点: : 选择、循环的嵌套算法分析3.1 3.1 顺序结构程序设计顺序结构程序设计 3.1.1 C++ 3.1.1 C++ 语句概述语句概述 3.1.2 3.1.2 顺序结构程序设计顺序结构程序设计3.1.3 3.1.3 数据输入与输出数据输入与输出 3.1.1 C++ 3.1.1 C++ 语句概述语句概述 在程序设计语言中,程序是按什么顺序执行在程序设计语言中,程序是按什么顺序执行的呢?默认按程序中语句顺序执行,语句是程序的呢?默认按程序中语句顺序执行,语句是程序的基本功能单元。
当然也有分支选择,跳转,循的基本功能单元当然也有分支选择,跳转,循环非顺序执行,正体现了计算机的环非顺序执行,正体现了计算机的“智能智能”C++C++程序也不例外分三种基本控制结构:程序也不例外分三种基本控制结构:((1 1)顺序结构)顺序结构((2 2)选择结构)选择结构((3 3)循环结构)循环结构 C++C++语句语句 声明语句声明语句 表达式语句表达式语句 选择语句选择语句 循环语句循环语句 跳转语句跳转语句 复合语句复合语句1 1、声明语句(说明语句)、声明语句(说明语句)•程序中的实体标识符必须先声明后使用程序中的实体标识符必须先声明后使用•实体标识符如:变量、常量、函数、结构、类、对象等实体标识符如:变量、常量、函数、结构、类、对象等•声明的实质:告之实体类型声明的实质:告之实体类型((1 1)变量声明)变量声明((2 2)常量声明)常量声明((3 3)函数声明)函数声明((4 4)类型声明)类型声明•声明语句其它功能:实体定义,变量赋值声明语句其它功能:实体定义,变量赋值 2 2、、表达式语句表达式语句•格式:表达式;格式:表达式;•类别:类别:((1 1)赋值语句)赋值语句((2 2)复合赋值语句)复合赋值语句 ((3 3)增(减)量语句)增(减)量语句((4 4)函数调用语句)函数调用语句((5 5)输入输出语句)输入输出语句 • 表达式语句与表达式的区别:表达式语句与表达式的区别:表达式可以包含在其他表达式中,而语句不可。
表达式可以包含在其他表达式中,而语句不可例如:例如:if ((a=b)>0) t=a;if ((a=b)>0) t=a;不可写为:不可写为:if ((a=b;)>0) t=a;if ((a=b;)>0) t=a;•将多个语句用一对大括号包围,便构成一个复合语句,将多个语句用一对大括号包围,便构成一个复合语句,逻辑上的一条语句逻辑上的一条语句•例如例如•空语句形式空语句形式 ;不产生任何动作;不产生任何动作{ { {sum=sum+i;sum=sum+i;i++;i++;} }} { {sum=sum+i;i++;} }3.1.2 3.1.2 顺序结构程序设计顺序结构程序设计3.1.3 3.1.3 数据输入与输出数据输入与输出 简单的输入输出简单的输入输出•向标准输出设备(显示器)输出向标准输出设备(显示器)输出例:例:intint x; x; coutcout<<"x="<
来确定层次关系 C++C++规定:规定:elseelse关键字总是与它前面最近的未配对的可见的那个关键字配对关键字总是与它前面最近的未配对的可见的那个关键字配对例如:例如:if( )if( )////第一个第一个ifif if( ) {if( ) {////第二个第二个ifif if( ) if( ) ////第三个第三个ifif< <语句语句 1>1>} }elseelse < <语句语句 2>2>l注意:复合语句内的注意:复合语句内的 if if 对其外面的对其外面的else else 是不可见的是不可见的 嵌套嵌套if if 语句语句 之阶梯结构之阶梯结构 形式:形式:if (if (表达式表达式1) 1) 语句语句1 1 else if ( else if (表达式表达式2) 2) 语句语句2 2 else if ( else if (表达式表达式3) 3) 语句语句3 3 … else else 语句语句 n nl执行流程:按顺序检测执行流程:按顺序检测 if if 条件,一旦满足则执行相应条件,一旦满足则执行相应l的的ifif子句,同时整个嵌套子句,同时整个嵌套if if 语句结束;否则执行最后一语句结束;否则执行最后一l个个elseelse子句子句. .三种形式:三种形式:if (if (表达式表达式) ) 语句语句例:例:if (x>y) if (x>y) coutcout< 因此,每个行因此,每个casecase分支最后应该加分支最后应该加breakbreak语句语句可以是多个语句,但不必用{ }可以是整型、字符型、枚举型每个常量表达式的值不能相同,次序不影响执行结果4 4、、breakbreak语句语句使程序从使程序从switchswitch语句内跳出语句内跳出( (另还可从循环体跳出另还可从循环体跳出) ) ,继,继续执行逻辑上的下一条语句不宜用在别处续执行逻辑上的下一条语句不宜用在别处5 5、使用、使用switchswitch语句应注意的问题语句应注意的问题• casecase分支可包含多个语句,且不用分支可包含多个语句,且不用{ }{ }• 表达式、判断值都是表达式、判断值都是intint型或型或charchar型• 若干分支执行内容相同可共用一组语句若干分支执行内容相同可共用一组语句3.3 3.3 循环控制循环控制3 3..3 3..1 while 1 while 语句语句 3 3..3 3..2 do-while 2 do-while 语句语句 3 3..3 3..3 for 3 for 语句语句 3 3..3 3..1 while 1 while 语句语句求自然数求自然数1~~100之和之和”我们知道是一个和累加运算,是一个循环求和过程,同样可我们知道是一个和累加运算,是一个循环求和过程,同样可以用以用while循环语句实现。 循环语句实现•形式形式while (表达式表达式) 循环体语句循环体语句可以是复合语句,其中必须可以是复合语句,其中必须含有改变条件表达式值的语含有改变条件表达式值的语句句l 执行顺序执行顺序(四步四步)((1)计算表达式的值,若为)计算表达式的值,若为 true((非非0)时,则转步骤)时,则转步骤((2);若为);若为 false((0))时,时,则转步骤(则转步骤(4)2)执行一次循环体语句)执行一次循环体语句((3)转步骤()转步骤(1))((4)结束并退出)结束并退出while循环循环#include 输入一个整数,将各位数字反转后输出 #include 先执行循环体语句,后判断条件表达式为表达式为 true true 时,继续执行循环体时,继续执行循环体* *whilewhile语句与语句与do-whiledo-while语句的区别语句的区别: :•一般形式比较一般形式比较while (while (表达式表达式) ) do do 语句语句 语句语句while (while (表达式表达式) ) •执行流程执行流程——最大区别最大区别whilewhile先判断控制循环的条件,后执行循环体;先判断控制循环的条件,后执行循环体;dodo…whilewhile先执行循环体,后判断控制循环的条件先执行循环体,后判断控制循环的条件•结果比较:结果比较:WhileWhile语句的循环体可能有时一次也不做;语句的循环体可能有时一次也不做;DoDo…whilewhile语句的循环体任何情况下至少要做一次语句的循环体任何情况下至少要做一次3 3..3 3..3 for 3 for 语句语句 求自然数求自然数1 1~~100100之和问题之和问题分析:本题需要用累加算法,累加过程是一个循环过程,分析:本题需要用累加算法,累加过程是一个循环过程,可以用可以用forfor语句实现。 语句实现 语法形式语法形式for (for (表达式表达式1 1;表达式;表达式2 2;表达式;表达式3) 3) 语句语句执行流程(五步)执行流程(五步) 循环前先求解循环前先求解为为truetrue时执行循环体时执行循环体每次执行完循环体后求解每次执行完循环体后求解#include<#include 思考题: 编写程序,求1000之内的所有“完全数”所谓“完全数”是指一个数恰好等于其因子之和例如,6是完全数,因为6=1+2+3作业题: 1、分别计算整数1至10的平方并输出 2、编写程序,依次计算并输出当半径为5,4,3,2,1时的圆面积。












