- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章分支结构的程序设计.
第4章 分支结构的程序设计
本章重点
if语句的三种形式
if语句的应用
if~else语句的应用
if~else if语句的应用
switch语句的程序流程
4.1 if语句的应用
if语句形式之一
if表达式
语句块
图4.1 if语句流程图
例4.1:从键盘输入一批数,统计正数的和,当输入0时程序结束。
分析问题:通过循环输入整数,假设输入变量为x;然后要判断该数是否为0,如果不为0,再判断值是否大于零,如果大于零,加入和。
#includestdio.h
int mainint x,sum0;
scanf%d,x;
for ; x ; scanf%d,x
ifx0sumsum+x;
printf正数总和为:%d\n,sum;return 0;
4.2 if~else语句的应用
if语句形式之二
if(表达式)
语句块1
else
语句块2
图4.4 if…else语句流程图
例4.3:判断从键盘输入的数是正数还是负数,输入数0结束程序运行。
分析问题:数从键盘输入,输入的数如果大于0则输出“输入的数是正数”,如果是小于0则输出“输入的数是负数”,如果是等于0,则程序运行结束。
流程图如图4.5所示。
图4.5 程序流程图
#include stdio.h
int mainint x1;
printf\n请输入一整数输入0程序退出:;
scanf%d,x;
whilexifx 0
printf输入的数%d是正数.\n,x;
else
printf输入的数%d是负数.\n,x;
printf\n请输入一整数输入0程序退出:;
scanf%d,x;return 0;
例4.4:从键盘输入10个整数,把所有的正数相加以及所有的负数相加,最后输出所有正数的和,以及所有负数的和。
分析问题:要从键盘输入十个整数,所以采用循环结构,输入的数分正数和负数,各进行累加。流程图如图4.6所示。
图4.6 流程图
#include stdio.h
int mainint nsum0,n0,psum0,p0;
/*nsum负数累加值,n负数个数,psum正数累加值,p正数个数0作为正数*/
int i,x; /* i 用于控制循环次数,x用户存储输入的数*/
fori1;i10;i++printf请输入10整数中的第%d个数:,i;
scanf%d,x;
ifx0psum+x;p++;elsensum+x;n++;printf\n有%d个正数,和为:%d\n有%d个负数,和为:%d\n,p,psum,n,nsum;return 0;4.3 if~else if 语句的应用
if语句形式之三
if(表达式1)语句块1else if(表达式2)语句块2...else if(表达式n-1)语句块n-1else语句块n
功能:从上到下依次判断表达式的值,当出现某个值为真(非0)时,执行与其相对应的语句,并跳过其余条件的判别;如果所有的表达式均为假(0),则执行语句n。
程序流程图如图4.7所示。
图4.7 if…else if流程图
例4.5:从键盘输入一个数给x,然后判断该变量是否大于零,若大于零的话,则输出一行文字说明该变量是正数,否则的话再判断变量x的值是否为零,若为零的话,则输出一行文字说明该变量是零,否则的话则x的值是负数,输出一行文字说明该变量是负数。
分析:输入的数分三种情况:正数、负数、零。流程图如图4.8所示。
图4.8流程图
编译程序及运行
#include stdio.h
int mainint x;printf输入一数值:;scanf%d,x;ifx 0 printfx是正数.\n;else ifx 0 printfx是零.\n;else printfx是负数.\n;return 0;
4.4 if嵌套语句的应用if语句的嵌套是指if语句中又包含了一个或多个if语句。上一节介绍的if-else if结构也是if语句的嵌套结构。
例4.6:编写一个程序,由键盘输入三个整数作为三角形的三条边,判断是否能构成一个三角形,如能并判断是等边三角形、等腰三角形、直角三角形,还是其它一般的三角形。
分析问题:设三个整数分别为:a、b、c,构成三角形的条件为:a+bca+cbb+ca
构成等边三角形的条件为:abbc;构成等腰三角形的条件为:ab||bc||ac。构成直角三角形的条件为:a*a+c*cb*b||a*a+b*bc*c||c*c+b*ba*a。
编译程序及运行
步骤1:在Visual C++环境下新建文件可用[开始]→[程序]→[Microsoft Visual C++6.0] →[Microsoft Visu
文档评论(0)