(8)--5.第五章 用C语言进行结构化程序设计.ppt
《(8)--5.第五章 用C语言进行结构化程序设计.ppt》由会员分享,可在线阅读,更多相关《(8)--5.第五章 用C语言进行结构化程序设计.ppt(59页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2023/11/295.1 5.1 顺序结构的程序设计顺序结构的程序设计顺序结构的程序设计顺序结构的程序设计5.2 5.2 选择结构选择结构选择结构选择结构5.3 5.3 循环控制循环控制循环控制循环控制5.4 5.4 几种常见的循环控制结构程序设计技术简介几种常见的循环控制结构程序设计技术简介几种常见的循环控制结构程序设计技术简介几种常见的循环控制结构程序设计技术简介5.5 break5.5 break语句和语句和语句和语句和continuecontinue语句语句语句语句第五章第五章 用用C语言进行结构化程序设计语言进行结构化程序设计2023/11/295.1 5.1 顺序结构的程序设计顺
2、序结构的程序设计顺序结构的程序设计顺序结构的程序设计ABint main(void)int main(void)int nA,nB,nC;int nA,nB,nC;nA=5;nA=5;nB=6;nB=6;nC=nA+nB;nC=nA+nB;printf(nC is%d,nC);printf(nC is%d,nC);return 0;return 0;/*End of main()*/*End of main()*/u顺序结构是结构化程序的基本顺序结构是结构化程序的基本顺序结构是结构化程序的基本顺序结构是结构化程序的基本结构。本质上,问题求解过程结构。本质上,问题求解过程结构。本质上,问题求解过
3、程结构。本质上,问题求解过程都是顺序结构的。顺序结构下都是顺序结构的。顺序结构下都是顺序结构的。顺序结构下都是顺序结构的。顺序结构下程序将按照语句或模块出现的程序将按照语句或模块出现的程序将按照语句或模块出现的程序将按照语句或模块出现的先后依次执行,语句和语句之先后依次执行,语句和语句之先后依次执行,语句和语句之先后依次执行,语句和语句之间、模块和模块之间的先后决间、模块和模块之间的先后决间、模块和模块之间的先后决间、模块和模块之间的先后决定了其执行的顺序。定了其执行的顺序。定了其执行的顺序。定了其执行的顺序。u每一个模块都有一个数据入口每一个模块都有一个数据入口每一个模块都有一个数据入口每一
4、个模块都有一个数据入口和一个数据出口。和一个数据出口。和一个数据出口。和一个数据出口。2023/11/29声明变量声明变量声明变量声明变量fA,fB,fC,fS,fPfA,fB,fC,fS,fP给出输入提示信息给出输入提示信息给出输入提示信息给出输入提示信息Input(fA,fB,fC):Input(fA,fB,fC):计算计算计算计算fP=(fA+fB+fC)/2fP=(fA+fB+fC)/2计算面积计算面积计算面积计算面积fSfS输出三角形的面积值输出三角形的面积值输出三角形的面积值输出三角形的面积值fSfS假设假设假设假设三边三边三边三边a,b,ca,b,c能构成三角形。半周长能构成三角
5、形。半周长能构成三角形。半周长能构成三角形。半周长p=(a+b+c)/2p=(a+b+c)/2,面积,面积,面积,面积s=s=。例例例例5-1 5-1 求给定三边的三角形的面积。求给定三边的三角形的面积。求给定三边的三角形的面积。求给定三边的三角形的面积。格式化输入三边格式化输入三边格式化输入三边格式化输入三边fA,fB,fCfA,fB,fC的值的值的值的值N-SN-S流程图流程图流程图流程图a ab bc c求面积求面积求面积求面积S S分析分析分析分析:2023/11/29#include#include#include#include int main(void)int main(voi
6、d)float float fA,fB,fC,fS,fPfA,fB,fC,fS,fP;printfprintf(Input(Input(fA,fB,fCfA,fB,fC):);):);scanfscanf(%f,%f,%f,&(%f,%f,%f,&fAfA,&,&fBfB,&,&fCfC););fPfP=(=(fA+fB+fCfA+fB+fC)/2;)/2;/*/*半周长半周长半周长半周长*/*/fSfS=sqrt(=sqrt(fPfP*(*(fP-fAfP-fA)*()*(fP-fBfP-fB)*()*(fP-fCfP-fC););/*/*面积面积面积面积*/printfprintf(fSf
7、S=%fn,=%fn,fSfS););return 0;return 0;/*End of main()*/*End of main()*/运行结果如下:运行结果如下:运行结果如下:运行结果如下:Input(fA,fB,fC):Input(fA,fB,fC):3,4,53,4,5fS=6.000000fS=6.000000格式化格式化格式化格式化输入输入输入输入程序代码:程序代码:程序代码:程序代码:改进与思考:改进与思考:改进与思考:改进与思考:如何保证边如何保证边如何保证边如何保证边a,b,ca,b,c一定一定一定一定构成三角形构成三角形构成三角形构成三角形?2023/11/29例例例例5
8、-3 5-3 输入无符号整数输入无符号整数输入无符号整数输入无符号整数u_au_a和带符号整数和带符号整数和带符号整数和带符号整数n_bn_b,分别以,分别以,分别以,分别以10#,8#,16#10#,8#,16#和不带符号的和不带符号的和不带符号的和不带符号的10#10#进制整数输出。进制整数输出。进制整数输出。进制整数输出。分析:分析:分析:分析:简单的简单的简单的简单的IOIO过程。过程。过程。过程。N-SN-S流程图:流程图:流程图:流程图:输入整数输入整数输入整数输入整数u_au_a和和和和n_bn_b格式化输出格式化输出格式化输出格式化输出u_au_a格式化输出格式化输出格式化输出
9、格式化输出n_bn_b2023/11/29#include#include int main(void)int main(void)unsigned int u_a;unsigned int u_a;int n_b;int n_b;printf(Please input two integers(u_a,n_b):);printf(Please input two integers(u_a,n_b):);scanf(%u,%d,&u_a,&n_b);scanf(%u,%d,&u_a,&n_b);printf(u_a=%d,%o,%x,%un,u_a,u_a,u_a,u_a);printf(u_
10、a=%d,%o,%x,%un,u_a,u_a,u_a,u_a);printf(n_b=%d,%o,%x,%un,n_b,n_b,n_b,n_b);printf(n_b=%d,%o,%x,%un,n_b,n_b,n_b,n_b);return 0;return 0;/*End of main()*/*End of main()*/程序代码:程序代码:程序代码:程序代码:运行结果如下:运行结果如下:运行结果如下:运行结果如下:Please input two integers(u_a,n_b):Please input two integers(u_a,n_b):65535,-265535,-2n
11、_b=-2,177776,fffe,65534n_b=-2,177776,fffe,65534u_a=-1,177777,ffff,65535u_a=-1,177777,ffff,65535 能不能从源能不能从源代码中提炼出代码中提炼出流程图呢?流程图呢?输入整数输入整数输入整数输入整数u_au_a和和和和n_bn_b格式化输出格式化输出格式化输出格式化输出u_au_a格式化输出格式化输出格式化输出格式化输出n_bn_b2023/11/29a abc c求面积求面积求面积求面积S S对例对例对例对例5-15-1求三角形面积问题,考虑求三角形面积问题,考虑求三角形面积问题,考虑求三角形面积问题,
12、考虑三边能否构成三角形时需判断。三边能否构成三角形时需判断。三边能否构成三角形时需判断。三边能否构成三角形时需判断。5.2 5.2 选择结构选择结构选择结构选择结构对仅用顺序结构无法完成的一些逻辑判对仅用顺序结构无法完成的一些逻辑判对仅用顺序结构无法完成的一些逻辑判对仅用顺序结构无法完成的一些逻辑判断与处理过程,断与处理过程,断与处理过程,断与处理过程,C C语言中提供了语言中提供了语言中提供了语言中提供了根据不根据不根据不根据不同条件值同条件值同条件值同条件值分别选择分别选择分别选择分别选择相应的程序代码相应的程序代码相应的程序代码相应的程序代码去执去执去执去执行的机制。即选择结构机制。行的
13、机制。即选择结构机制。行的机制。即选择结构机制。行的机制。即选择结构机制。考虑如下问题:考虑如下问题:考虑如下问题:考虑如下问题:1.求分段函数的值:求分段函数的值:求分段函数的值:求分段函数的值:2.任意输入三个数,输出最大者。任意输入三个数,输出最大者。任意输入三个数,输出最大者。任意输入三个数,输出最大者。怎么解决这怎么解决这怎么解决这怎么解决这类问题呢?类问题呢?类问题呢?类问题呢?2023/11/29P PB BA Ay yesesnonou选择结构分类选择结构分类选择结构分类选择结构分类二分支选择结构二分支选择结构二分支选择结构二分支选择结构多分支选择结构多分支选择结构多分支选择结
14、构多分支选择结构用什么语用什么语用什么语用什么语句实现?句实现?句实现?句实现?自然语言:自然语言:自然语言:自然语言:如果如果如果如果 那么那么那么那么 否则否则否则否则C C语言:语言:语言:语言:选择(分支)语句选择(分支)语句选择(分支)语句选择(分支)语句kA A1 1A A2 2A Ai iA An nk=kk=k2 2k=kk=k1 1k=kk=kn nk=kk=ki i.B BP PA Ayesyesnono2023/11/29uu用用用用if if语句设计选择结构程序语句设计选择结构程序语句设计选择结构程序语句设计选择结构程序if if语句语句语句语句构成的选择结构是构成的选
15、择结构是构成的选择结构是构成的选择结构是C C语言的三种基本结构之一。语言的三种基本结构之一。语言的三种基本结构之一。语言的三种基本结构之一。用来确定给定的条件是否满足,所含条件用来确定给定的条件是否满足,所含条件用来确定给定的条件是否满足,所含条件用来确定给定的条件是否满足,所含条件一般是关一般是关一般是关一般是关系表达式或逻辑运算表达式。系表达式或逻辑运算表达式。系表达式或逻辑运算表达式。系表达式或逻辑运算表达式。1.if if语句的缺省形式语句的缺省形式语句的缺省形式语句的缺省形式2.if if语句的标准形式语句的标准形式语句的标准形式语句的标准形式3.else ifelse if语句语
16、句语句语句4.if if语句的嵌套语句的嵌套语句的嵌套语句的嵌套本节本节重点重点2023/11/29/*/*输出不及格的成绩输出不及格的成绩输出不及格的成绩输出不及格的成绩*/int int main(main(voidvoid)int int nScorenScore;scanfscanf(%d,&(%d,&nScorenScore););if(if(nScorenScore6060)printfprintf(%dn,(%dn,nScorenScore););return 0 return 0;/*End of main()*/*End of main()*/if if(条件表达式条件表达式
17、条件表达式条件表达式)语句组语句组语句组语句组1 1 语句组语句组语句组语句组2 2语句组语句组语句组语句组1 1语句组语句组语句组语句组2 2YesYesNoNo条件条件条件条件?功能:功能:功能:功能:若为表达式的值非若为表达式的值非若为表达式的值非若为表达式的值非0 0,执,执,执,执行语句组行语句组行语句组行语句组1 1。否则。否则。否则。否则,跳过跳过跳过跳过语句组语句组语句组语句组1 1继续继续继续继续执行语句组执行语句组执行语句组执行语句组2 2。条件表达式条件表达式条件表达式条件表达式语句组语句组语句组语句组1 1语句组语句组语句组语句组2 2l1.1.最简单的最简单的最简单的
18、最简单的if if语句语句语句语句格式:格式:格式:格式:(1)整个条件整个条件整个条件整个条件表达式必须用圆括号对表达式必须用圆括号对表达式必须用圆括号对表达式必须用圆括号对()()括起来且不可括起来且不可括起来且不可括起来且不可省略;省略;省略;省略;(2)语句组语句组语句组语句组2 2不属于不属于不属于不属于if if语句范围;语句范围;语句范围;语句范围;(3)语句组语句组语句组语句组1 1只有条语句时,花括号对可以省略;只有条语句时,花括号对可以省略;只有条语句时,花括号对可以省略;只有条语句时,花括号对可以省略;(4)条件表达式可以是任何类型的表达式;条件表达式可以是任何类型的表达
19、式;条件表达式可以是任何类型的表达式;条件表达式可以是任何类型的表达式;(5)要注意条件表达式后直接跟分号的情形,它表要注意条件表达式后直接跟分号的情形,它表要注意条件表达式后直接跟分号的情形,它表要注意条件表达式后直接跟分号的情形,它表明表达式成立时执行空语句。明表达式成立时执行空语句。明表达式成立时执行空语句。明表达式成立时执行空语句。2023/11/29 fMaxval_2?fMaxval_2?YesYesNoNofMax=val_2;fMax=val_2;fMax=val_1;fMax=val_1;输入输入输入输入val_1,val_2,val_3val_1,val_2,val_3 f
20、Maxval_3?fMaxval_3?YesYesNoNofMax=val_3;fMax=val_3;输出最大者输出最大者输出最大者输出最大者fMaxfMax(1)(1)设设设设max=max=第一个数;第一个数;第一个数;第一个数;(2)(2)maxmax与与与与第第第第二二二二个个个个数数数数比比比比较较较较,若若若若maxmax小小小小于于于于第第第第二二二二个个个个数数数数,max=max=第二个数;第二个数;第二个数;第二个数;(3)(3)比比比比较较较较maxmax与与与与第第第第三三三三个个个个数数数数,maxmax小小小小 于于于于 第第第第 三三三三 个个个个 则则则则max
21、=max=第三个数;第三个数;第三个数;第三个数;(4)(4)输出输出输出输出maxmax。例例例例5-6 5-6 求三个数的最大者。求三个数的最大者。求三个数的最大者。求三个数的最大者。分析:分析:分析:分析:2023/11/29int main(void)int main(void)float val_1,val_2,val_3,fMax;float val_1,val_2,val_3,fMax;printf(Please input 3 values(val_1,val_2,val_3):);printf(Please input 3 values(val_1,val_2,val_3):
22、);scanf(%f,%f,%f,&val_1,&val_3,&val_3);scanf(%f,%f,%f,&val_1,&val_3,&val_3);fMax=val_1;fMax=val_1;if(fMaxval_2)fMax=val_2;if(fMaxval_2)fMax=val_2;if(fMaxval_3)fMax=val_3;if(fMax6060)printfprintf(及格及格及格及格 n);n);else else printfprintf(不及格不及格不及格不及格 n);n);l2.2.标准格式标准格式标准格式标准格式ifelseifelse格式:格式:格式:格式:功能:
23、功能:功能:功能:表达式值非表达式值非表达式值非表达式值非0 0时执行语句组时执行语句组时执行语句组时执行语句组1 1,否则执行语句组否则执行语句组否则执行语句组否则执行语句组2 2。语句组语句组语句组语句组1 1语句组语句组语句组语句组2 2YesYes语句组语句组语句组语句组3 3NoNo条件条件条件条件?语句组语句组语句组语句组1 1语句组语句组语句组语句组2 2语句组语句组语句组语句组3 3(1)语句组语句组语句组语句组3 3不属于不属于不属于不属于if if语句的语句组。它只有语句的语句组。它只有语句的语句组。它只有语句的语句组。它只有在语句组在语句组在语句组在语句组1 1或语句组或
24、语句组或语句组或语句组2 2执行完后才可能被执执行完后才可能被执执行完后才可能被执执行完后才可能被执行;行;行;行;(2)语句组语句组语句组语句组1 1或语句组或语句组或语句组或语句组2 2只有条语句时,对应只有条语句时,对应只有条语句时,对应只有条语句时,对应的花括号对可以省略。的花括号对可以省略。的花括号对可以省略。的花括号对可以省略。2023/11/29#include#includeint main(void)int main(void)float fA,fB;float fA,fB;printf(input two numbers:);printf(input two numbers
25、:);scanf(%f,%f,&fA,&fB);scanf(%f,%f,&fA,&fB);if(fAfB)if(fAfB)printf(Sorted list is%f,%fn,fB,fA);printf(Sorted list is%f,%fn,fB,fA);else else printf(Sorted list is%f,%fn,fA,fB);printf(Sorted list is%f,%fn,fA,fB);return 0;return 0;/*End of main()*/*End of main()*/只有一个语句只有一个语句只有一个语句只有一个语句时,时,时,时,可以省略可以
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 8-5.第五章 用C语言进行结构化程序设计 第五 语言 进行 结构 程序设计
限制150内