C语言程序设计第四章循环结构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 格式:
if(表达式) 语句1;
else 语句2;
4.2 单分支结构
【例4-2】 输入两个字符,按ASCII码由 大到小的顺序排列并输出这两个字符。
【例4-2】 输入两个字符,按ASCII码由大到小 的顺序排列并输出这两个字符。
学习程序设计语言时,需要考虑的几个问题:
编程时使用哪些 类型的数据?
0 x 0
语句A
语句B
if (表达式) 语句1;
else 语句2;
if(x != 0) y = 1/x;
else y = 0;
分支结构
源程序与运行结果
#include <stdio.h> int main(void) {
double x, y;
printf("Enter x:\n"); scanf("%lf", &x);
#include<stdio.h> int main(void) {
int a,b,c,max; scanf("%d,%d,%d",&a,&b,&c); max=a;
if(max<b) max=b; if(max<c) max=c; printf("max=%d",max);
}
4.3 二分支结构(if—else语句)
if(a!=0){ x=-b/a; printf("x=%f",x);
} else
printf("fang cheng wu jie!"); return 0; }
• printf(“x=%f”,x);放在最后是什么结果; (当a=0时才能体现出来,分析运行过程)
• 上述问题如何修改才能正确。 • 若把a,b两变量改为int型结果如何?
[例4] 输入三个数a,b,c,输出三者之中的最 大者。
分析:解决C程序设计的三个步骤 (1)数据表达:需要哪些类型数据; (2) 变量a,b,c;设max存放最大值。
(2)算法:先假设a最大,放在变量max中,然后 分别与b, c 进行比较,保留其中最大的数在 变量max中。
(3)流程控制:分支结构;
【例4-3】输入三角形的三个边长,求三角形 的面积。
根据海伦公式:半周长 p=(a+b+c)/2,面积 s= p*(pa )*(p b )*(pc)
根据海伦公式:半周长 p=(a+b+c)/2,面积 s= p*(pa )*(p b )*(pc)
[分析]: (1)数据类型:double和float类型都可以;
[例3] 输入系数a,b,编程序解方程a*x+b=0;
分析:当a<>0时,x= –b/a; 当a=0,b<>0时,方
程无解。
开始
输入系数 a , b
Yes
X=-b/a
a<>0
No
方程无解
结束
#include<stdio.h> int main(void) {
float a, b; double x; scanf("%f,%f",&a,&b);
if(x != 0) y = 1/x;
else y = 0;
input x: 2.5 f(2.50)=0.4
input x: 0 f(0.00)=0.0
printf("f(%.2f) = %.1f\n", x, y); return 0; }
计算分段函数
[例2] 为鼓励居民节约用水,自来水公司采取 按月用水量分段计费的方法,居民应交税费 y(元)与月用水量x(吨)的函数关系式如下(设 x>0)。输入用户的月用水量x(吨),计算并输 出该用户应支付的水费y(元)(保留两位小数)。
C语言程序设计第四章循环结构
三种基本结构
语句A
条件
语句B
语句A
语句B
循环体
顺序结构
分支结构
循环结构
Chapter 4 分支结构
4.1 引例 4.2 单分支结构(基本的if 语句) 4.3 二分支结构(if—else语句) 4.4 多分支结构(else if语句) 4.5 switch多分支结构 4.6 分支结构程序设计※
对这些数据需要 进行哪些操作?
如何用C语言完 成给定工作?
C语言的三个 基本内容
数据表达; 流程控制; 运算;
4.3 二分支结构(if-else)
[例1] 求解下列分段函数:
1
f
(
x
)
x
x0
0 x 0
分支结构: if-else语句
[例1] 求解下列分段函数: 真 条件 假
1
f
(x)
wenku.baidu.com
x
x0
4.1 引例
✓从键盘输入一个数,如果该数为正,则打印。 ✓ 从键盘输入一个数,如果该数为正,打印;否
则转为正数打印。
【知识点】
1. 单分支(if)语句 2. 二分支(if—else)语句
if-else语句
条件
False
True
语句
True
语句 1
条件
False
语句 2
• 格式:
if(表达式) 语句1;
printf("三角形的面积是%.2f\n",s);
}
else
// 若不能构成三角形,输出出错信息
printf("输入有误,不能构成三角形!\n");
}
4.3.2 条件表达式
✓ 条件表达式的一般形式为: 表达式1?表达式2:表达式3
✓ 条件运算符是三目运算符
例如,若有以下if语句: if(a>b) max=a; else max=b; 可以用下面的条件运算符来实现:
变量有:a, b, c, p, s; (2)算法:直接利用公式计算面积即可,但要考虑a、
b、c三个边长的值是否能构成三角形; (3) 控制结构:分支结构
数据处理流程
定义变量
N
Y 构成三角 形?
计算并输出结果
输出出错信息
【源程序代码】
#include <stdio.h>
#include <math.h>
int main(void)
{
float a,b,c,p,s;
printf("请输入三角形的三条边:");
scanf("%f%f%f",&a,&b,&c);
if(a+b>c && a+c>b && b+c>a){
// 若能构成三角形,则计算面积
p=(a+b+c)/2;
s=sqrt(p*(p-a) *(p-b) *(p-c));
y=f(x)=
4x
, x≤15
3
2.5x-10.5, x>15
#include<stdio.h> int main(void) {
double x,y;
printf("enter x(x>=0):\n"); scanf("%lf",&x); if(x<=15)
y=4*x/3; else
y=2.5*x-10.5; printf("y=f(%f)=%.2f\n",x,y); return 0; }