基本控制结构ppt课件

上传人:鲁** 文档编号:580565456 上传时间:2024-08-29 格式:PPT 页数:33 大小:200.50KB
返回 下载 相关 举报
基本控制结构ppt课件_第1页
第1页 / 共33页
基本控制结构ppt课件_第2页
第2页 / 共33页
基本控制结构ppt课件_第3页
第3页 / 共33页
基本控制结构ppt课件_第4页
第4页 / 共33页
基本控制结构ppt课件_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《基本控制结构ppt课件》由会员分享,可在线阅读,更多相关《基本控制结构ppt课件(33页珍藏版)》请在金锄头文库上搜索。

1、第三章第三章 根本控制构造根本控制构造3.1 3.1 顺序构造程序设计顺序构造程序设计 3.2 3.2 选择构造程序设计选择构造程序设计 3.3 3.3 循环控制循环控制 第三章第三章 根本控制构造根本控制构造教学目的教学目的: : 1. 1.掌握掌握 C+ C+ 言言语常用的常用的输入入 / / 输出方式出方式 2. 2.熟熟练掌握掌握 if else if else 的两种的两种语法法 3. 3.掌握掌握 for for 、 while while 、 do-while do-while 语句的句的用法用法教学重点教学重点: : 1. 1.赋值语句、数据的句、数据的输入入输出及出及输入入输

2、出出中常用的控制格式中常用的控制格式 2. 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+ 语句概述语句概述 在程序在程序设计言言语中,程序是按什么中,程序是按什么顺序序执行行的呢?默的呢?默许按程序中按程序中语句句顺序序执行,行,语句是程序句是程序的根本功能的根本功能

3、单元。当然也有分支元。当然也有分支选择,跳,跳转,循,循环非非顺序序执行,正表达了行,正表达了计算机的算机的“智能。智能。C+C+程序也不例外。分三种根本控制构造:程序也不例外。分三种根本控制构造:1 1顺序构造序构造2 2选择构造构造3 3循循环构造构造 C+ C+语句语句 声明语句声明语句 表达式语句表达式语句 选择语句选择语句 循环语句循环语句 跳转语句跳转语句 复合语句复合语句1 1、声明语句阐明语句、声明语句阐明语句程序中的实体标识符必需先声明后运用程序中的实体标识符必需先声明后运用实体标识符如:变量、常量、函数、构造、类、对象等。实体标识符如:变量、常量、函数、构造、类、对象等。声

4、明的本质:告之实体类型声明的本质:告之实体类型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;i

5、f (a=b)0) t=a;不可写为:不可写为:if (a=b;)0) t=a;if (a=b;)0) t=a;将多个将多个语句用一句用一对大括号包大括号包围,便构成一个复合,便构成一个复合语句,句,逻辑上的一条上的一条语句句例如例如空空语句方式句方式 ;不;不产生任何生任何动作作 sum=sum+i;i+; sum=sum+i;sum=sum+i;i+;i+; 3.1.2 3.1.2 顺序构造程序设计顺序构造程序设计3.1.3 3.1.3 数据输入与输出数据输入与输出 简单的输入输出简单的输入输出向规范输出设备显示器输出向规范输出设备显示器输出例:例:int x;int x; coutx=x

6、; coutx=x; cinx; 3.2 3.2 选择构造程序设计选择构造程序设计 3 32 21 if 1 if 语句语句 3 32 22 switch 2 switch 语句语句 3.2.1 3.2.1 选择构造程序设计选择构造程序设计 1 、根本、根本if语句语句(一一)格式:格式:If ( ) 方式一:方式一:执行体为单条语句,带分号执行体为单条语句,带分号 if(a0) a-=5; a+=5; /if语句之外语句之外 为真为假a10?执行a减5执行a加52 、根本、根本if语句句(二二)格式:格式:If ( ) 方式二:方式二:执行体行体为复合复合语句,整个句,整个if 语句句终了不

7、了不带分号分号 if(ab) /假假设abint t=a; /那么那么a与与b交交换 a=b;b=t; /功能:功能:坚持持变量量b一直一直为最大最大值cout“The max is:bn; /if语句之外句之外3 3 、 Ifelse Ifelse语句句扩展展ifif语句句 格式:格式:If ( If ( ) ) 1elseelse 2 为真为假条件?语句语句1其它语句语句语句24 、 if 语句句嵌套嵌套 普通方式:普通方式: if( ) if( ) 语句句 1 else 语句句 2else if( ) 语句句 3 else 语句句 4特点:特点:if子句或子句或else子句又包含子句又包

8、含ifelse语句句留意留意:语句句 1、2、3、4 可以是复合可以是复合语句,每句,每层的的 if 与与 else 配配对,或用,或用 来确定来确定层次关系。次关系。 C+C+规定:规定:elseelse关键字总是与它前面最近的未配对的可见的那个关键字配对。关键字总是与它前面最近的未配对的可见的那个关键字配对。例如:例如:if( )if( )/第一个第一个ifif if( ) if( ) /第二个第二个ifif if( ) if( ) /第三个第三个ifif 1 elseelse 2留意:复合语句内的留意:复合语句内的 if if 对其外面的对其外面的else else 是不可见的是不可见的

9、 嵌套嵌套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 n执行流程:按行流程:按顺序序检测 if if 条件,一旦条件,一旦满足那么足那么执行相行相应的的ifif子句,同子句,同时整个嵌套整个嵌套if if 语句句终了;否那么了;否那么执行最后一行最后一个个elseelse子句子句. .三种方式:三种方式:if (if (表达式表达式) ) 语句句例:例

10、:if (xy) couty) couty) couty) coutx; else couty; else cout Grade;int Grade; cin Grade;if(=90) cout=90) cout=80) cout=80) cout=70) cout=70) cout=60) cout=60) cout“Dn; ;else else cout“Encout“En; ; 3 32 22 switch 2 switch 语句语句格式:格式:switch ( switch ( ) ) case case 1 : 1case case 2 : 2case case n : ndefa

11、ult default : n+1 例:等例:等级制制转换为百分制百分制char grade; cingrade;char grade; cingrade;switch ( grade ) switch ( grade ) case A: Cout“100-99case A: Cout“100-99endl;endl;case B: Cout“89-80case B: Cout“89-80endl;endl;case C: Cout“79-60case C: Cout“79-60endl;endl;case D:case D: Cout“Less than 60 Cout“Less than

12、60endl;endl;Default:Default: Cout“Input error!n Cout“Input error!n; ;/执行后不完全合意行后不完全合意1 1、switchswitch开关开关语句句特殊的多分支构造特殊的多分支构造switch ( switch ( ) ) case case 1 : 1 break; break;case case n : n break; break;default default : n+1 例:等例:等级制制转换为百分制百分制switch ( grade ) switch ( grade ) case A: cout“100-99cas

13、e A: cout“100-99endl;endl; break; break;case B: cout“89-80case B: cout“89-80endl; break;endl; break;case C: cout“79-60case C: cout“79-60endl; break;endl; break;case D: cout“Less than case D: cout“Less than 6060endl;endl; break; break;default: Cout“Input default: Cout“Input error!nerror!n; ;/执行行2 2、S

14、witchSwitch与与breakbreak联用改良联用改良3 3、SwitchSwitch语句语句普通方式普通方式switch (switch (表达式表达式) ) case case 常量表达式常量表达式 1 1:语句句1 1 case case 常量表达式常量表达式 2 2:语句句2 2 case case 常量表达式常量表达式 n n:语句句n n default : default : 语句句n+1n+1 执行顺序执行顺序以以casecase中的常量表达式值为入口标号,由此开场顺序执行。中的常量表达式值为入口标号,由此开场顺序执行。因此,每个因此,每个casecase分支最后应该加

15、分支最后应该加breakbreak语句。语句。可以是多个语句,但不用用 。可以是整型、字符型、枚举型每个常量表达式的值不能一样,次序不影响执行结果。4 4、breakbreak语句语句使程序从使程序从switchswitch语句内跳出语句内跳出( (另还可从循环体跳出另还可从循环体跳出) ) ,继续,继续执行逻辑上的下一条语句。不宜用在别处。执行逻辑上的下一条语句。不宜用在别处。5 5、运用、运用switchswitch语句应留意的问题语句应留意的问题 case case分支可包含多个语句,且不用分支可包含多个语句,且不用 。 表达式、判别值都是表达式、判别值都是intint型或型或charc

16、har型。型。 假设干分支执行内容一样可共用一组语句。假设干分支执行内容一样可共用一组语句。3.3 3.3 循环控制循环控制3 33 31 while 1 while 语句语句 3 33 32 do-while 2 do-while 语句语句 3 33 33 for 3 for 语句语句 3 33 31 while 1 while 语句语句求自然数求自然数1100之和之和我们知道是一个和累加运算,是一个循环求和过程,同样可我们知道是一个和累加运算,是一个循环求和过程,同样可以用以用while循环语句实现。循环语句实现。方式方式while (表达式表达式) 循环体语句循环体语句可以是复合语句,其

17、中必需可以是复合语句,其中必需含有改动条件表达式值的语含有改动条件表达式值的语句。句。l 执行顺序执行顺序(四步四步)l1计算表达式的值,假设为计算表达式的值,假设为 true非非0时,那么转步骤时,那么转步骤2;假设为;假设为 false0时,那么时,那么转步骤转步骤4。l2执行一次循环体语句执行一次循环体语句l3转步骤转步骤1l4终了并退出终了并退出while循环循环#includeusing namespace std;void main() int i=1, sum=0; while(i=100) sum+=i; /相当于sum=sum+i; i+; coutsum= sum100,i

18、 1-100,初始置初始置1 1/记录累加和变量记录累加和变量sumsum初始置初始置0 0控制变量控制变量 累加和累加和 当条件当条件 循环体循环体 i=1 sum=0 -true - sum+i=sum=1 i=1 sum=0 -true - sum+i=sum=1 i=2 sum=1 -true - sum+i=sum=3 i=2 sum=1 -true - sum+i=sum=3 i=3 sum=3 -true - sum+i=sum=6 i=3 sum=3 -true - sum+i=sum=6 i=4 sum=6 -true - sum+i=sum=10 i=4 sum=6 -tr

19、ue - sum+i=sum=10 i=100sum=4950-true - sum+i=sum=5050 i=100sum=4950-true - sum+i=sum=5050 i=101sum=5050-false- exit i=101sum=5050-false- exit 循环体当条件问题:1+2+3+4+1003 33 32 Dowhile2 Dowhile循循环语句句适用:先适用:先执行循行循环体,后判体,后判别条件的情况条件的情况例例: dowhile: dowhile语句句输入一个整数,将各位数字反入一个整数,将各位数字反转后后输出。出。#include #include u

20、sing namespace std;using namespace std;int main()int main() int n, right_digit; int n, right_digit; cout Enter the number: ;cout n; / n cin n; / n 保管输入的整数保管输入的整数cout The number in reverse cout The number in reverse order is ;order is ;dodo right_digit = n % 10;/ right_digit = n % 10;/ 对对n n求模取出当前个位数

21、求模取出当前个位数cout right_digit;cout right_digit;n /= 10; n /= 10; / / 即即n=n/10n=n/10运算运算, ,相当于对相当于对n n右移一位,去掉已取出的个位右移一位,去掉已取出的个位数数 while (n != 0);while (n != 0); coutendl; coutendl; 运转结果:运转结果: Enter the number: 365 Enter the number: 365 The number in reverse order is 563 The number in reverse order is 56

22、3直到型循环构造与直到型循环构造与do-while do-while 语句语句普通方式普通方式do do 语句语句while (while (表达式表达式) )执行顺序执行顺序先执行循环体语句,后判别条件。先执行循环体语句,后判别条件。表达式为表达式为 true true 时,继续执行循环体时,继续执行循环体*while*while语句与语句与do-whiledo-while语句的区别语句的区别: :普通方式比较普通方式比较while (while (表达式表达式) ) do do 语句语句 语句语句while (while (表达式表达式) ) 执行流程行流程最大区最大区别whilewhil

23、e先判先判别控制循控制循环的条件,后的条件,后执行循行循环体;体;dowhiledowhile先先执行循行循环体,后判体,后判别控制循控制循环的条件。的条件。结果比果比较:WhileWhile语句的循句的循环体能体能够有有时一次也不做;一次也不做;DowhileDowhile语句的循句的循环体任何情况下至少要做一次。体任何情况下至少要做一次。3 33 33 for 3 for 语句语句 求自然数求自然数1 1100100之和问题。之和问题。分析:此题需求用累加算法,累加过程是一个循环过程,分析:此题需求用累加算法,累加过程是一个循环过程,可以用可以用forfor语句实现。语句实现。 语法方式f

24、or (表达式1;表达式2;表达式3) 语句执行流程五步 循环前先求解循环前先求解为为truetrue时执行循环体时执行循环体每次执行完循环体后求解每次执行完循环体后求解#include#includeusing namespace std;using namespace std;int main()int main() int i, sum=0; int i, sum=0;/控制变量和记录累加和变量控制变量和记录累加和变量 for(i=1;i=100;i+) for(i=1;i=100;i+) sum+=i; / sum+=i; /相当于相当于sum=sum+i;sum=sum+i; cou

25、tsum=sum coutsum=sumendl;endl; 运转结果:运转结果:sum=5050无循环语句编程无循环语句编程(2*100条语句条语句)int i, sum=0;/i=1; sum+=i;i=2; sum+=i;i=3; sum+=i;i=100; sum+=i;for 语句举例: 编写程序输出以以下图案 * * * * * * *#includeusing namespace std;void main() int i,j,n=4; for(i=1;i=n;i+) /输出前4行图案 for(j=1;j=30;j+) cout ; /在图案左侧空30列 for(j=1; j=8

26、-2*i ;j+) cout ; for(j=1; j=2*i-1 ;j+) cout*; coutendl; 31 for(i=1;i=n-1;i+) /输出后3行图案 for(j=1;j=30;j+) cout ; /在图案左侧空30列 for(j=1; j=7-2*i ;j+) cout*; coutendl; 32小结: 掌握C+言语循环语句的三种方式及区别,可以选用根本循环语句编写简单的程序段。思索题: 编写程序,求1000之内的一切“完全数。所谓“完全数是指一个数恰好等于其因子之和。例如,6是完全数,由于6=1+2+3作业题: 1、分别计算整数1至10的平方并输出 2、编写程序,依次计算并输出当半径为5,4,3,2,1时的圆面积。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号