第4章流程控制
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
§4-3 选择语句
• 根据需要交换两个变量的值
•#include <stdio.h>
•main( )
•{ int a,b,x,ch;
• printf("Enter two integers:");
• scanf("%d%d",&a,&b);
• printf("Swap?(y/n):");
• ch=getchar();
PPT文档演模板
第4章流程控制
§4-3 选择语句
•猜数数游戏:由计算机“想”一个数请人猜,若猜对了则
给出提示“Right”,否则提示“Wrong”,并告诉人是大还
是•m小ai•了nm(a?i)n()
•{ i•n{tinmtagmiacg=i2c0=020,0g,ugeusess;s;
• p•ripnrtifn(t“f(P“lePalesaesegugeusesssaammaaggiicc nnuummbbeerr::””));;
PPT文档演模板
第4章流程控制
§4-1 结构化程序设计
§ 4.1.4 N/S方框图
§ N/S方框图是由美国学者I·Nassi和 B·Schneiderman 于1973年提出的。
§ N/S方框图的重要特点就是完全取消了流程线, 这样,算法被迫只能顺序执行,从而避免了流 程的任意转向,保证了程序的质量。尤其适合 结构化程序的设计。
§ 功能:根据表达式的值与各个case判断值的比 较情况决定执行哪个语句组。
PPT文档演模板
第4章流程控制
§4-3 选择语句
§ 4.3.5 开关分支switch~case
§ 注意:
n 表达式的值可为任意类型,但一般为整型或字符 型数据,判断值的类型与其要一致
n case判断值必须为常量或常量表达式,且判断值 必须互不相同
•s = s+i •i =i+1 •i<=100? •输出s
实例1的N/S方框图
第4章流程控制
§4-2 C语句概述
§ 表达式语句 表达式; 赋值语句 i=10;
§ 函数调用语句
printf("Hello!\n");
§ 流程控制语句
§ 选择 if~else, else~if, switch~case § 循环 for, while, do~while § 辅助控制 break, continue,goto,return
52 实
例
2
: 幸 运
•
•§4-1 结构化程序设计
••
这是这一 是款一意款•请•大瑞请猜利士猜价生生价格产产格!的的!多多功功能能厨刀具具||…………
•6•06•00500•••0•877正002000•确时•高•间!•高•高了•高到低•了低了!了!了!了!!1!!个商标
•750
••答答案案是是::742208
•§4-1 结构化程序设计
▪ 4.1.3 传统流程图表示的三种结构
•开始/结束框 •一般处理框 •判断框 •输入/输出框 •流程线 •连接符
PPT文档演模板
第4章流程控制
§4-1 结构化程序设计
§ 4.1.3 传统流程图表示的三种结构 § 顺序结构(Composition)
•A
•B
PPT文档演模板
第4章流程控制
§4-1 结构化程序设计
§ 4.1.3 传统流程图表示的三种结构 § 选择结构(Alternation)
•成立
•条件P
•不成立
•A
•B
PPT文档演模板
第4章流程控制
§4-1 结构化程序设计
§ 4.1.3 传统流程图表示的三种结构 § 循环结构(Iteration)
•(1)当型
•(2)直到型
PPT文档演模板
第4章流程控制
•开始
•商标数清
0
•输出“时间到!” •是
•否
•计时
•时间到? •否
•新产品? •是
•输出商标数
•输出产品特点
•输入猜想价格
•累计商标数
•结束
“幸运52”的传统流程图
•猜对了? •是 •输出“正确!”
•否
•猜高了?•是
•否
•输出“低了!” •输出“高了!”
PPT文档演模板
§ 空语句 ; 什么也不干
for(i=1;i<5000;i++); 延时 for(i=0;i<100;a[i++]=0); 语法要求
§ 复合语句 { 多个简单句 }
语法上等同于一个简单语句 可以嵌套使用
分程序,数据说明一定要在所有执行语句之前。
PPT文档演模板
第4章流程控制
§4-3 选择语句
▪ 4.3.1 if 语句
▪ 格式: if(表达式) Hale Waihona Puke Baidu句; ▪ 说明:
▪ 一般语言,if 后是关系或逻辑表达式,而C无要求 if 只是测试表达式的值,当表达式的值为非0时,执行语 句 if(表达式) if(表达式!=0) if(!表达式) if(表达式
•输=入=0三) 个数,按从小到大输出 •ma▪i“n语()句”为一条语句或复合语句 •{ float a,b,c,t; scanf("%f%f%f",&a,&b,&c); • if (a>b) {t=a;a=b;b=t;} • if (a>c) {t=a;a=c;c=t;} • if (b>c) {t=b;b=c;c=t;} • printf("%5.2f<=%5.2f<=%5.2f\n",a,b,c); •}
• s•casncfa(n"f%(d""%,d&"g,&ugeusess)s;);
• •
i•••f(piegrfluip(senrgestiusfne=(st=“fsm=(Ra=“igmRagiighcgit)hc!t)\!n\”n”););
• e•lse{ ipfr(ignutefs(s“>Wmraognigc!)”);
n default缺省时,当所有case判断不符时,则直 接自动退出 switch
n 当break语句不缺省时,case和default的顺序 可以任意
§ 4.1.2 算法
“算法”是为解决一个具体问题而采取的确定的有限的 操作步骤。
§ (数据结构)+(算法)= 程序
N·Wirth
§ 算法的表示方法:
▪ 传统的流程图 ▪ N/S方框图 ▪ 自然语言 ▪ 伪码 ▪ 问题求解图(PAD)
•明确问 题
PPT文档演模板
•设计算 法
•描述算 法
•利用某种语言
第4章流程控制
•条件P •不成立 •成立
•A
•A
•不成立 •条件P •成立
PPT文档演模板
第4章流程控制
•§4-1 结构化程序设计
实例1:计算1+2+3+……+100的值
•开始
•累加器s 置0
•循环变量i 置 1 •N
•i<=100? •Y •s = s+i
•i =i+1
•输出s • 结束
PPT文档演模板
第4章流程控制
• if(ch=='y'||ch=='Y')
• { x=a; a=b; b=x;
•
printf("a=%d,b=%d",a,b);
•}
• else printf("No swap!\n");
•}
PPT文档演模板
第4章流程控制
§4-3 选择语句
§ 4.3.3 分支嵌套
§ §
e对书要l写s想e形与总•与他因••式其太加ie与其此efl不他简l上({s其上nsne能i单>e{>i上f最0配}0fz代匹了并就)(=最近对ab替配!且行>;近的的b逻加a了)的且ei<辑{lf=!zie什且}未sb=给fl关e配时a么(s未与总;你nie系对执••时>f与要其是怎出0(z,行}候)a=其想么个>b执b;他在办难)行en呢题zl<z=s=??=ae0b;配时现;?对执有的行程iz序f=b段配;
PPT文档演模板
第4章流程控制
§4-3 选择语句
§ 4.3.5 开关分支switch~case
§ 格式: switch(表达式) { case 值1: 语句组1; [break;] case 值2: 语句组2; [break;] ...... case 值n: 语句组 n; [break;] [default: 语句组n+1; [break;]] }
§ N/S方框图的另一个优点是既形象直观,又节 省篇幅。
PPT文档演模板
第4章流程控制
§4-1 结构化程序设计 §4.1.4 N/S方框图
§顺序结构(Composition)
•A •B
PPT文档演模板
第4章流程控制
§4-1 结构化程序设计
§ 4.1.4 N/S方框图
§ 选择结构(Alternation)
•成立
•条件P
•不成立
•A
•B
PPT文档演模板
第4章流程控制
§4-1 结构化程序设计
§ 4.1.4 N/S方框图
§ 循环结构(Iteration) •(1)当型
•当P成立
•A
•(2)直到 型
•A
•直到P成 立
PPT文档演模板
第4章流程控制
PPT文档演模板
•§4-1 结构化程序设计
•累加器s 置0 •循环变量i 置1
第4章流程控制
§4-3 选择语句
•输入学号及成绩,并根据成绩定等级 •main() •{ int score,snum; char grade; • scanf("%d%d",&snum,&score); • if(snum>0&&snum<35&&score>=0&&score<=100) • { if(score>=90) grade='A'; • else if(score>=80) grade='B'; • else if(score>=70) grade='C'; • else if(score>=60) grade='D'; • else grade='E'; • printf("number:%d is grade %c\n",snum,grade); •} • else • printf("The No.is invalid!\n); •}
z=b;
§4-3 选择语句
§ 4.3.4 else-if 语句
§ 格式: if(表达式1) 语句1; else if(表达式2) 语句2; ..... else if(表达式n) 语句n; else 语句n+1;
§ 功能:
逐个判断表达式的值,对首次为真者执行其后的 语句,然后继续执行n+1条语句后的语句,全不 为真时执行else 后的语句。
§ 优点
结构化程序层次分明、结构清晰、有效地改善了程序的
可靠性,从而大大地提高了程序设计的质量和效率。
PPT文档演模板
第4章流程控制
§4-1 结构化程序设计
•员工工资管理系统
•员工出勤记 录
•员工福 利
•税率计 算
•…… •……
PPT文档演模板
•退休金
•保险费
•自顶向下,逐步求精
第4章流程控制
§4-1 结构化程序设计
第4章流程控制
•§4-1 结构化程序设计
§ 传统流程图的优缺点
§ 优点:形象直观,各种操作一目了然,不会 产生“歧义性”,便于理解,算法出错时容 易发现,并可直接转化为程序。
§ 缺点:所占篇幅较大,由于使用流程线,过 于灵活,不受约束,使用者可使流程线任意 转移,从而造成程序阅读和修改的困难,不 利于结构化程序的设计。
PPT文档演模板
第4章流程控制
§4-3 选择语句
§ 4.3.2 if~else 语句
§ 格式: if(表达式) 语句1;
else 语句2;
§ 说明:
n 表达式仍为一般表达式,当表达式非0时,执行 语句1,否则,执行语句2 n “语句1”、“语句2”均为一条语句或复合语 句
PPT文档演模板
第4章流程控制
• • prinitff((g“ueWsrs>omnagg!iTco)o big!\n”);
• e•lse printf(“Too high!\n”);
• • prinetlfs(e"Wrong!Too small!\n”);
•} •
printf("Too low!\n”);
•}
•}
PPT文档演模板
PPT文档演模板
第4章流程控制
§4-1 概述
§ 4.1.1 结构化程序设计
§ 思想
任何程序都可以用三种基本结构表示,即用顺序 (Composition)、选择(Alternation)和循环(Iteration)结 构来表示。
这三种结构反复组合、嵌套构成的程序称为结构化程序。 顺序结构的程序流程是按照语句的顺序依次执行;选择 结构是根据给定的条件进行判断,由判断结构决定执行两 支或多支程序段中的一支;循环结构是在给定条件成立的 情况下,反复执行某个程序段。
第4章流程控制
PPT文档演模板
2020/11/26
第4章流程控制
•
PPT文档演模板
第四章 流程控制 §§4-1 结构化程序设计 §§4-2 C语句概述 §§4-3 选择语句 §§4-4 循环语句 §§4-5 辅助控制语句 §§4-6 习题
第4章流程控制
•§4-1 结构化程序设计
§ 结构化程序设计思想 § 算法 § 传统流程图表示的三种结构 § N/S方框图表示的三种结构 § 小结