《C的流程控制语句》PPT课件

上传人:xian****812 文档编号:285071153 上传时间:2022-04-29 格式:PPT 页数:63 大小:171.50KB
返回 下载 相关 举报
《C的流程控制语句》PPT课件_第1页
第1页 / 共63页
《C的流程控制语句》PPT课件_第2页
第2页 / 共63页
《C的流程控制语句》PPT课件_第3页
第3页 / 共63页
《C的流程控制语句》PPT课件_第4页
第4页 / 共63页
《C的流程控制语句》PPT课件_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《《C的流程控制语句》PPT课件》由会员分享,可在线阅读,更多相关《《C的流程控制语句》PPT课件(63页珍藏版)》请在金锄头文库上搜索。

1、第第5章章 C+的流程控制语句的流程控制语句5.1 5.1 C+C+语言的语句和程序结构语言的语句和程序结构5.2 5.2 选择结构语句选择结构语句5.3 5.3 循环结构语句循环结构语句5.4 5.4 转向语句转向语句5.5 5.5 程序举例程序举例5.6 5.6 程序调试方法简介程序调试方法简介作业:作业:4 47,9,10(1),19(2),207,9,10(1),19(2),205.1 5.1 C+C+语言的语句和程序结构语言的语句和程序结构一个一个C+C+源程序:由若干个源程序文件组成。源程序:由若干个源程序文件组成。一个源程序文件:由编译预处理命令、全局类型一个源程序文件:由编译预

2、处理命令、全局类型定义、全局变量定义、函数定义等组成。定义、全局变量定义、函数定义等组成。一个函数:包括函数首部和函数体。函数体包含一个函数:包括函数首部和函数体。函数体包含局部类型定义、局部变量定义、函数原型声明、局部类型定义、局部变量定义、函数原型声明、编译预处理命令、若干个语句等。编译预处理命令、若干个语句等。C+语句的分类语句的分类说明语句:完成数据类型和变量的定义。说明语句:完成数据类型和变量的定义。控制语句:改变程序执行顺序的语句,包括:条件、控制语句:改变程序执行顺序的语句,包括:条件、循环、开关、转向、返回语句。循环、开关、转向、返回语句。函数调用语句:在函数调用后加分号构成。

3、如:函数调用语句:在函数调用后加分号构成。如: sin(x);sin(x);表达式语句:在表达式后加分号构成。如:表达式语句:在表达式后加分号构成。如: i=i+1; i=i+1;空语句:仅由一个分号所构成,不执行任何动作。空语句:仅由一个分号所构成,不执行任何动作。复合语句复合语句( (也称块语句也称块语句) ):用花括号:用花括号把一个或多个语把一个或多个语句括起来后构成的语句。作为一个语句处理。句括起来后构成的语句。作为一个语句处理。5.2 5.2 选择结选择结构构语语句句选择语句也称分支语句:根据给定条件,选择语句也称分支语句:根据给定条件,选择执行两个或两个以上分支程序段中的选择执行

4、两个或两个以上分支程序段中的某一个。某一个。C+C+语言的选择语句:语言的选择语句: 条件条件语语句句:ifif。有三种形式。有三种形式。 开关开关语语句句:switchswitch。条件语句条件语句格式格式1 1: if( if() ) S S 其中,其中, 是任何是任何C+C+表达表达式,通常为算术表达式、关系式,通常为算术表达式、关系表达式、逻辑表达式或逗号表表达式、逻辑表达式或逗号表达式;达式;S S是一个单一语句,包括是一个单一语句,包括复合语句和空语句。作为判断复合语句和空语句。作为判断条件的条件的 必须用括号括必须用括号括起来。起来。格式格式2 2: if( if() ) S1

5、else S2S1 else S2例例5.1 5.1 从键盘上输入三个整数,输出三个数中的最大数。从键盘上输入三个整数,输出三个数中的最大数。分析:先读入三个数,求出前两个数中的大数,再求出该大数与分析:先读入三个数,求出前两个数中的大数,再求出该大数与第三个数之间的最大数。第三个数之间的最大数。# #includeincludevoid main(void)void main(void) int a,b,c,t; int a,b,c,t; cout coutabc;cinabc; if(ab) t=a; else t=b; /A if(ab) t=a; else t=b; /A cout c

6、outc) couttn;else coutcc) couttn;else coutcn;/C A A、B B、C C三行可用下列语句替代:三行可用下列语句替代:t=a;t=a;if(tb) t=b;if(tb) t=b;if(tc) t=c;if(tc) t=c;coutncoutn最大数是最大数是tendl;tendl;例例5.2 5.2 求求axax2 2+bx+c=0+bx+c=0的根。的根。a a、b b、c c从键盘输入,从键盘输入,aa0 0。分析:当输入分析:当输入a a、b b、c c的值后,若的值后,若b b2 2-4ac0-4ac0-4ac0,则方程有两个不同的实根;若,

7、则方程有两个不同的实根;若b b2 2- -4ac=O4ac=O,则方程有两个相等的实根。,则方程有两个相等的实根。# #includeinclude#include#includevoid main(void)void main(void) float a,b,c,delta; float a,b,c,delta; cout coutabc;cinabc; delta=b*b-4*a*c; delta=b*b-4*a*c; if(delta=0) / if(delta=0) /使用复合语句使用复合语句 delta=sqrt(delta);delta=sqrt(delta); if(delta

8、) if(delta) cout cout方程有两个不同的实根:方程有两个不同的实根:; coutnx1=(-b+delta)/2/a;coutnx1=(-b+delta)/2/a; couttx2=(-b-delta)/2/an; couttx2=(-b-delta)/2/an; else else cout cout方程有两个相等的实根:方程有两个相等的实根:x1=x2=x1=x2= -b/2/an; -b/2/an; else cout else cout方程没有实根方程没有实根!n;n; 条件语句条件语句格式格式3 3: if(if() 1) S1S1 else if( else if

9、() 2) S2S2 else if . else if . else Sn else Sn注意,当出现如下形式的嵌套条件语句时:注意,当出现如下形式的嵌套条件语句时: if(e1) if(e2) S1 else S2if(e1) if(e2) S1 else S2 C+ C+规定:规定:elseelse与其前面最近的还没有配对的与其前面最近的还没有配对的ifif进行进行配对。配对。这样,上面的条件语句中这样,上面的条件语句中elseelse与第二个与第二个ifif配对。配对。若希望若希望elseelse与第一个与第一个ifif配对,则可用配对,则可用改变:改变: if(e1) if(e2)

10、S1 else S2if(e1) if(e2) S1 else S2例例5.3 5.3 输入三角形的三边,判断其为何种三角形。输入三角形的三边,判断其为何种三角形。# #includeincludevoid main(void)void main(void) int a,b,c; int a,b,c; cout coutabc;cinabc; if(a+b=c|b+c=a|a+c=b) if(a+b=c|b+c=a|a+c=b) cout cout不能组成三角形!不能组成三角形! n;n; else if(a=b&b=c) else if(a=b&b=c) cout cout等边三角形等边三角

11、形 n;n; else if(a=b|b=c|c=a) else if(a=b|b=c|c=a) cout cout等腰三角形等腰三角形 n;n; else if(a*a+b*b=c*c|b*b+c*c=a*a|a*a+c*c=b*b) else if(a*a+b*b=c*c|b*b+c*c=a*a|a*a+c*c=b*b) cout cout直角三角形直角三角形 n;n; else else cout cout普通三角形普通三角形 n;n; 开关语句:开关语句: switchswitch格式:格式: switch( switch() case case :; 1; break;break;

12、case case :; 2; break;break; case case :; break;n; break; default: default: 值只能是字符型或整型值只能是字符型或整型可选项可选项defaultdefault分支可放在开关语句中分支可放在开关语句中的任何位置,通常为开关语句的任何位置,通常为开关语句的最后一个分支。的最后一个分支。应加空格,否则被认为是语句应加空格,否则被认为是语句标号,如标号,如case9,并不出现语并不出现语法错,这类错误较难查找。法错,这类错误较难查找。的值必须互不相同的值必须互不相同开关语句:开关语句: switchswitch执行过程:执行过程

13、: 先求先求 的值,再依次与的值,再依次与casecase后面的后面的 比较,若与某一比较,若与某一 的值相等,则转去执的值相等,则转去执行该行该casecase后边的语句序列,一直执行下去,直至遇到后边的语句序列,一直执行下去,直至遇到breakbreak语句或开关语句的右花括号为止。否则,若有语句或开关语句的右花括号为止。否则,若有defaultdefault分支,则执行该分支后边的语句序列,否则什分支,则执行该分支后边的语句序列,否则什么也不执行。么也不执行。与与ifif语句相比:语句相比:任一开关任一开关语语句均可用条件句均可用条件语语句来句来实现实现,但反之不然。,但反之不然。原因是

14、开关原因是开关语语句限定表达式的取句限定表达式的取值类值类型,而条件型,而条件语语句句中的条件表达式可取任意中的条件表达式可取任意类类型的型的值值。开关开关语语句句结结构清晰,易理解。构清晰,易理解。例例5.4 5.4 输入一个字符,判断它是元音字母还是空白符。输入一个字符,判断它是元音字母还是空白符。# #includeincludevoid main(void)void main(void) char c; char c; cin.get(c); cin.get(c); switch(c) switch(c) case a: case A: case e: case E: case a:

15、case A: case e: case E: case i: case I: case o: case O: case i: case I: case o: case O: case u: case U: case u: case U: cout cout这是元音字母这是元音字母 n; break;n; break; case : case n: case t: case : case n: case t: cout cout这是空白符这是空白符 n; break;n; break; default: cout default: cout这是其它字符这是其它字符 n;n; 请画程序流程图请画

16、程序流程图用用if语句改写本例语句改写本例若若defaultdefault分支及其语句前移到第一个分支,分支及其语句前移到第一个分支,则如何修改程序而保持功能不变?则如何修改程序而保持功能不变?当省略当省略casecase后面的语句序列时,则可后面的语句序列时,则可实现多个入口,执行同一语句序列。实现多个入口,执行同一语句序列。5.3 5.3 循循环结环结构构语语句句循环:某条件成立时,重复执行的操作。循环:某条件成立时,重复执行的操作。问题:计算问题:计算1+2+3+1001+2+3+100。分析:编程时不可能依次列出分析:编程时不可能依次列出1 1100100个数。设个数。设 变量变量sumsum累计和值累计和值, ,初值为初值为1 1; 变量变量i i 存放当前待累计的数,初值为存放当前待累计的数,初值为2 2。算法:算法: s1.s1.给变量给变量sumsum赋初值赋初值1,1,i i赋初值赋初值2 2; s2.s2.令令sum=sum+i,i=i+1sum=sum+i,i=i+1; s3. s3.若若i=100i=100,则转则转s2s2; s4. s4.输出输出sumsum

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

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