最新c语言-选择控制结构教学讲义ppt

合集下载

C语言程序设计第4章选择结构程序设计ppt课件

C语言程序设计第4章选择结构程序设计ppt课件

8
printf("grade is E" );
9 else if (score >=60 && score<70 )
10
printf( "grade is D");
11 else if (score >=70 && score<80 )
12
printf( "grade is C");
13 else if (score>=80 && score<90 )
printf("a,b="); scanf("%d,%d",&a,&b); if (a>b) max=a; else max=b; printf("max=%d\n",max); }
结束
8
3.if-else if-else语句
(1)语句格式:
if (表达式1) 语句1
else if (表达式2) 语句2
不再判断,顺序执 行下面的语句
21
4.2 switch语句
switch (表达式) {case 常量表达式1:语句1 case 常量表达式2:语句2 …… case 常量表达式n:语句n [default:语句n+1] }
注意:
1. <表达式>可以是整型或字 符型表达式; 2. case后面必须是常量表达 式,不能包含变量; 3. 每个常量表达式的值应互 不相同; 4. case语句先后顺序随意; 5.若从上至下没有找到与表 达式的值相匹配的case,含有 default子句时,执行语句n+1。

C语言程序课件ppt第4章选择结构程序设计谭浩强C程序设计第四版

C语言程序课件ppt第4章选择结构程序设计谭浩强C程序设计第四版

C★
A★
●B
4.2.1 用if语句处理选择结构举例
C★ A ●★ ● B
4.2.1 用if语句处理选择结构举例
C★ A ● ●★ B
#include <stdio.h> int main() { float a,b,t;
scanf("%f,%f",&a,&b);
if(a>b) 如果a>b
{ t=a;
a=b; 将a和b的值互换
b=t; } printf("%5.2f,%5.2f\n",a,b); return 0; }
#include <stdio.h>
int main()
{ float a,b,t;
scanf("%f,%f",&a,&b);
if(a>b)
{ t=a; a=b;
选择结构,用if语句实现的
a && b 真 假 假 假
a || b 真 真 真 假
4.4.1 逻辑运算符及其优先次序
➢逻辑运算符的优先次序
! → && → ||
(!为三者中最高)
➢与其他运算符的优先次序
! 算术运算符 关系运算符
&& 和 || 赋值运算符
(高) (低)
4.4.2 逻辑表达式
➢ 逻辑表达式的值应该是逻辑量“真”或“假” ➢ 编译系统在表示逻辑运算结果时
4.3.1关系运算符及其优先次序
c>a+b a>b==c a==b<c a=b>c
等效于 c>(a+b) 等效于 (a>b)==c 等效于 a==(b<c) 等效于 a=(b>c)

C语言第5章 选择结构的程序设计PPT教学课件

C语言第5章 选择结构的程序设计PPT教学课件

开始
输入a,b,c
a<b?
F
T a与b交换
a<c?
F
T a与c交换
b<c?
F
T b与c交换
输出a,b,c
2020/12/10
结束
11
2.双分支if语句——if_else语句
格式:
if (<表达式>) 语句1
else
语句2
2020/12/10
12
2. if_else语句
功能:
T 语句1
表达式
F 语句2
2020/12/10
13
3. 多分支if语句
格式:
if (<表达式1>) 语句1 else if (<表达式2>) 语句2 else if (<表达式3>) 语句3
…... else if (<表达式n-1>) 语句n-1 else 语句n
2020/12/10
14
3. 多分支语句
功能: F 表达式1
(4)default一般出现在所有的case之后,也可以出现在 case之前或两个case语句之间。Default可以省略。
2020/12/10
23
5.2 switch语句
例1 用switch语句设计程序,实现输出学生成绩和 等级的功能。 分析:因为分数x为0~100分,则x/10的值为0,1,2, 3,4,5,6,7,8,9,10。
…… case <常量表达式n>:语句n default 语句n+1
}
2020/12/10
21
5.2 switch语句
功能:
首先计算<表达式>的值,然后依次与<常量表达式i> (i=1,2,…,n)比较,若表达式的值与<常量表达式j>相 等,则从<常量表达式j>处开始执行,这里就是执行的 入口,直到switch语句结束。若所有的<常量表达式i> (i=1,2,…,n)的值均不等于表达式的值,则从default处 开始执行。

C语言程序设计ppt课件-第3章-选择结构

C语言程序设计ppt课件-第3章-选择结构
1.表达式 2. if语句 3. switch语句 4. 选择结构的嵌套 5. 选择结构的应用
本章主要内容
1
选择结构
在解决大量的实际问题时,常常需要根据不同的 情况或条件,制定出不同的解决方案或对策。
选择结构是通过对条件 的判断来选择执行不同 的程序语句。
选择结构
一个程序若具有了判断和选择功 能,就具备了最基本的智能。
的完整的解题步骤。
void main() { int x,y,z,max;
printf("“\n Please input x,y,z: ");
➢将同影一响问到题算可法用乃不至同程算序法的解效决率,sifc(a。xm而n>afy(一一x)"=%x个个;d%算算d法法%d的的",&评质x价,量&y主优,&要z劣); 从时间复杂度和空间复杂度来els考e 虑。
max=y;
例从键盘输入三个不同的、无序if(mm的aaxx整<=zz)数; ,并分别存放 到变量x、y、z中,然后通过pr判int断f("输\n 出ma三x=%个d数\n"中,m的ax)最;
大数。要求将最大数存放在} 变量max中。
25
语法练习(单选题)
1.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中
switch语句的应用
关例键从语键句盘:上输入一个学生的总平均成 绩能用(i大f- e于ls0e且if来小替于换10吗0)? swi,tc按h(分(i数nt段)(评sc定or出e/成10绩.的0)相) 应等级,90以上为A级,80~
{89为caBs级e ,97:0~g7r9a为dCe=级'A,'6;0~br6e9a为k;D级,59以下为E级。 问题分ca析se:s8w:itchg语ra句de中='的B表';达b式re只ak能; 是整型或字符型,所 以可c用as成e 绩7的:高位gr数ad字e=来'C确';定b其re对a应k;的分数段,而每一个 分数c段as又e对6应:swigtrcha中de的='一D'路; 选br择ea。k;可用表达式“((int)(成 绩/1c0)a)s”e 计5算:出成绩的高位数字 ,其中,“(int)”的功能 是将c表as达e式的4:值强制转换成整数。

C语言控制结构选择PPT课件

C语言控制结构选择PPT课件
Lesson 3 C语言控制结构-选择
电气与信息工程学院计算机系制作
21.07.2020
整体概述
概况一
点击此处输入相关文本内容 点击此处输入相关文本内容
概况二
点击此处输入相关文本内容 点击此处输入相关文本内容
概况三
点击此处输入相关文本内容 点击此处输入相关文本内容
31 学习目标:
➢使用C语言表达问题的条件 ➢使用if语句解决需要根据条件进行选择的 问题
选择结构
3
如何理解选择结构
在超市购物时,往往有批发价和零售价。例如某 超市苹果价格如下:
凡购买10kg以下的4.5元/kg,10kg以上(包 括10kg)4.2元/kg 如何计算购买苹果的价钱?
电气与信息工程学院计算机系制作
21.07.2020
选择结构
3
该问题和上一问题有什么区别?
计算购买苹果价钱时,使用什么价
语句书写格式为: <表达式> <分号>
例如: int a=0,b=0;
scanf(“%d”,&a);
b=a*
21.07.2020
顺序结构
32
顺序结构程序的执行顺序:
从上至下,顺序执行
例如
#include <stdio.h> int main(){
int a=1,b=2,c=0;
21.07.2020
34 关系运算符 如何描述条件呢?
主要用到的运算符: 关系运算符 逻辑运算符
电气与信息工程学院计算机系制作
21.07.2020
34 关系运算符
C语言进行关系判断的运算符有如下6个
① >= 大于等于 ② > 大于

C语言C程序的基本控制结构PPT课件

C语言C程序的基本控制结构PPT课件

关于 scanf( ) 函数使用的几点说明:
1 输入数据的分隔符:空格、制表符或回车键
例如, scanf(“%d%d%d”,&i,&j,&k);
输入形式可以是: ① 3 4 5<CR> ② 3 4 5<CR> ③ 3<CR> 4<CR> 5<CR>
程序设计语言有顺序、选择、循环三种基本 的控制结构。 1.用流程图表示 (1)顺序结构
B。
表示先执行A,再执行
a A
B b
第1页/共96页
(2)选择结构 如果P条件成立,执行A,否则执行B,然后转向后面的语句。
a
a
b
b
第2页/共96页
(3)循环结构 有两种形式。
① while 结构(当型循环)
表示先判断条件表达式P,当P成立,即为 “真”,
第20页/共96页
关于格式输出的几点说明: (1)对于任何一种形式的整数都可以用 d、 i、o、u、x(或
“X”)格式输出,其中 d、 i 输出带符号十进制形式,而 u、o、x格 式输出无符号整数。
例如,
printf(“%d,%u,%o,%x\n”,-1,-1,-1,-1);
printf(“%d,%u,%o,%x\n”,65534u,65534u,65534u,65534u);
void main() {
int i=8; printf("%d\n",++i); printf("%d\n",--i); printf("%d\n",i--); printf("%d\n",i++); printf("%d\n",-i--); }

《c语言选择结构》课件

《c语言选择结构》课件

常见错误和调试技巧
1 常见的语法错误
列举一些学习者常犯的语法错误,并给出如何避免和纠正这些错误的技巧。
2 程序调试技巧
分享一些调试C语言程序的实用技巧,以帮助大家更快地找到和修复错误。
总结和练习答疑
总结本PPT课件的主要内容,并回答学习者对选择结构的问题。鼓励学习者进行练习,并提供支持和答疑。
3
应用场景三
通过一个编程实例,让大家进一步理解和应用选择结构。
优缺点与联系
if-else语句和switch语句的联系
展示if-else语句和switch语句之间的联系和相互转换的方法。
选择结构的优点
总结选择结构的优点,包括简化代码和提高程序可读性。
选择结构的缺点
讨论选择结构的一些潜在缺点,以及如何避免常见的问题。
深入理解
if语句的嵌套和if-else 语句的区别
解释嵌套if语句和if-else语句之 间的区别,并给出何时使用它 们的建议。
case标签的取值类型
展示case标签可以使用的取值 类型,并讨论它们的使用限制 和最佳实践。
关键字的使用注意事 项
提供一些关键字使用的注意事 项,以避免常见的语法错误。
流程图
使用流程图来可视化选择结构的 执行流程。
条件语句
if语句
if语句是最简单的条件语句,用于根据条件的真假执行相应的代码块。
if-else语句
if-else语句允许我们在条件为假时执行另一段代码块。
if-else if-else语句
if-else if-else语句允许我们在多个条件之间进行选择。
《c语言选择结构》PPT课 件
在这个PPT课件中,我们将深入探讨C语言的选择结构,包括条件语句、if语句、 switch语句等,帮助大家更好地理解和运用这些结构。

《c语言程序设计教学资料》第5章---选择控制结构.ppt

《c语言程序设计教学资料》第5章---选择控制结构.ppt
NS图表示算法的优点: 比文字描述直观、形象、易于理解; 比传统流程图紧凑易画。尤其是它废除了流程线,整个算 法结构是由各个基本结构按顺序组成的,NS流程图中的上下 顺序就是执行时的顺序。 用NS图表示的算法都是结构化的算法,因为它不可能出现 流程无规律的跳转,而只能自上而下地顺序执行。
伪代码表示算法:
数值解,如:面积、积分等
分析推理、逻辑推理, 如:查找、分类
算法的描述方法
算法特点: - 有穷性:包含有限的操作步骤。 - 确定性:算法中的每一个步骤都应当是确定的。 - 有效性:算法中的每一个步骤都应当能有效地执行,并得到
确定的结果。 - 没有输入或有多个输入:输入是指在执行算法时需要从外界
取得必要的信息。 - 至少有一个输出:算法的目的是为了求解,“解” 就是输出。
n 1
流程图:
NS图:
1. 0 →S
2. 1n
3. S+n S
4. n+1 n 5. 判断n≤100? 6. 是,转3
否则转6 7. 输出S的值
伪代码:
用不同形式表示操作步骤,仅仅是描述了算法,要得到运行结果, 必须实现算法,即:将算法描述转换成计算机语言程序。
结构化程序设计方法
结构化程序设计就是将程序的功能分为一个一个的模块, 这种程序便于编写、便于阅读、便于修改和维护。 结构化程序设计方法的基本思路是:把一个复杂问题的 求解过程分阶段进行,每个阶段处理的问题都控制在人们 容易理解和处理的范围内。
著名计算机科学家沃思(Nikiklaus Wirth)提出: 数据结构+算法=程序
完整的程序设计应该是: 数据结构+算法+程序设计方法+语言工具
算法的描述方法
算法:为解决一个问题而采取的方法和步骤。 算法是解决“做什么”和“怎么做”的问题。 两大类计算机算法:数值运算算法、非数值运算算法

c语言选择结构教案PPT教学课件

c语言选择结构教案PPT教学课件
语句执行流程:
假(0) 表达式
真(非0)
语句
8
例5.1:从键盘输入两个数a 和b,按代数值由小到大的 顺序输出这两个数。
#include <stdio.h> main() {float a,b,t; scanf("%f,%f",&a,&b);
输入a,b
a>b


交换a、b
if(a>b) {t=a;a=b;b=t;}
10
2)、双分支选择if语句
语句形式: if (表达式)语句1; else 语句2 ;
例:If(x>y) printf(“%d”,x);
else printf(“%d”,y); 语句执行流程:
假(0) 表达式
真(非0)
语句1
语句2
11
例:输入三角形的三个边长,求出三角形的面积。 #include “math.h”
12
3)、多分支选择if语句 语句形式: if (表达式1)语句1; else if (表达式2)语句2; …… else if (表达式n)语句n; else 语句n+1;
13
语句执行流程:
表达式1
假(0)
真(非0) 语句1
表达式2
假(0)
真(非0)
语句2
表达式2
假(0)
语句n 语句n+1
14
else {if (x<=1) y=x+5; else if(x<10) y=2*x; else y=3/(x-10);
printf("x=%f,y=%f\n",x,y); }
} 16
注意: (1)当if语句中出现多个“if”与“else”的时 候,要特别注意它们之间的匹配关系,否则就 可能导致程序逻辑错误。“else”与“if”的匹 配原则是“就近一致原则”,即“else”总是与 它前面最近的“if”相匹配。 (2)if语句中条件的写法应尽量简单。

C语言的基本控制结构课件

C语言的基本控制结构课件

运算结果
数值型 0(假)或1(真) 0(假)或1(真)
表达式值放入变量
17
精选课件
if 语句
n 格式一 n if ( <条件表达式> ) <真分支语句>
Y 真分支
N 条件
18
精选课件
if 语句
n 格式二
n if ( <条件表达式> ) <真分支语句>
else <假分支语句>
Y 真分支
条件
N 假分支
第2章 C语言的基本控制结构
n 算法
n 进行某一工作的方法和步骤称为算法
n 算法的组成要素
n操 作
n算术运算、关系运算、函数运算等
n控制结构
n顺序结构 n选择结构 n循环结构
1
精选课件
算法的描述
算法的图形表示
n 流程图图形元素
起止框 输入输出框 判断框 处理框
流程线 连接点
注释框
2
精选课件
n 用流程图表示算法
a
A
B b
顺序结构
a
P
A
B
b 选择结构
3
a A B P
b 循环结构
精选课件
n 用N-S图表示算法
A B 顺序结构 当p1成立
A
当型循环
4
TPF
A
B
选择结构
A 直到p1成立 直到型循环
精选课件
2.1 顺序结构
n 顺序结构是指按照语句的书写顺序依次执 行每条语句的语句结构
A
A
B
C
B
n 语句格式: <表达式><分号>
23

C语言程序课件ppt-第4章选择结构

C语言程序课件ppt-第4章选择结构

void main( ) {
int score;
printf("input a score:");
scanf("%d",&score);
switch(score/10) {
case 10:
case 9: printf("优秀\n");break;
case 8: printf("良好\n");break;
(2)||
(逻辑或) 相当于其他语言中的OR
(3)!
(逻辑非) 相当于其他语言中的NOT
例:a&&b 若a,b为真,则a&&b为真。
a||b 若a,b之一为真,则a||b为真。
优!先a次序:若a为真,则!a为假。 !(非)->&&()->||() 逻辑运算符中的“&&”和“||”低于关系运算符,“!”高于算 术运算符
ch=ch+32; printf("%c\n",ch); } }
4.3.2 双分支if语句
双分支if语句的基本格式为: if(表达式)
语句块1; else
语句块2;
注意:⑴ 语句块1或语句块2都可以是单一语句,也可以是 复合语句;else部分不能独立存在,即else之前一定有 一个“;”号,它必须是if语句的一部分。
2.逻辑表达式
•用逻辑运算符将关系表达式或逻辑量连接起来的式子就 是逻辑表达式。 •逻辑表达式的值应该是一个逻辑量“真”或“假”。
例:设a=4,b=5: !a的值为0 a||b的值为1 4&&0||2的值为1
任何非零的数值被认作“真”

C语言的控制结构PPT课件

C语言的控制结构PPT课件

type是必须的,表示输入后转换的数据类型。
d(D) o(O) x(X) i(I) u(U)
十进制整数 八进制整数 十六进制整数 自动根据数头分辨十、八、十六进制 无符号十进制整数
c
单个字符
s
字符串
f(e,g,G) 实数
n
不输入数据,将已读入的字符输送到对应的地址中
13
%
百分号
13
第13页/共78页
d
以带符号的十进制形式输出整数(正数不输出符号)
o
以8进制无符号形式输出整数(不输出前导符O)
x(X) 以16进制无符号形式输出整数(不输出前导符Ox)
u
以无符号10进制形式输出整数
c
以字符形式输出一个字符
s
输出字符串
f
以小数形式输出单、双精度数,隐含输出6位小数
e(E) 以标准指数形式输出单、双精度数,小数位数为6位
14
第14页/共78页
3.2 数据的输入与输出
使用scanf应注意:
✓ scanf()的格式控制字符串中的字符不是用于输出 的,都是要求输入的。 scanf(”x=%d”,&x);
✓ 参数的第二部分一定是地址列表,不能是表达式,请 记得在变量前加上&。且地址列表的参数与格式说明 个数应保持一致。
✓ 执行scanf( )输入数据时,在两个数据之间允许以一 个或多个空格间隔,也可以用回车键、tab键分隔。
19
第19页/共78页
• 例5:若要读入long 和 double 数据,需用长度修饰符 • double y; long x; • scanf("%lf %ld",&y,&x); • 执行时输入12 60 • 浮点数12.0赋予y,60赋予x

C语言第四章选择结构ppt课件

C语言第四章选择结构ppt课件

注意:if ~ else 配对原则:缺省{ }时,else总是和它上面离 它最近的未配对的if 配对。 实现if ~ else 正确配对方法:加{ }
五、条件运算符 在 if 语句中若是 if ...else形式,且语 句1和语句2均是给同一个变量赋值时,C语言提 供了条件运算符来方便地实现这种功能。
a>b?a:c>d?c:d)
例:已知a=5,b=6,c=7,d=8,n=2 ; 执行以 下语句后表达式的值为多少? n的值为多少? (a < b ) ? ( c + d ) : ( + + n ) 表达式值为15, n=2
六、 switch 语句
switch 语句是多分支的选择语句又称开关语句。
复合语句:是由一对花括号包围起来的一条或多条语句。 复合语句的形式:
{ 语句1; 语句2; 语句3; }
选择结构
If( 条件 ) { 语句1; 语句2; 语句3; }
循环结构
while( 条件 ) { 语句1; 语句2; 语句3; }
复合语句 逻辑上我们把复合语句看作是一条语句。
例1:要求用户输入一个实数,然后程序求出这个实数的绝对值并输出。 #include <stdio.h> main( ) { float x,y;
printf(“Very good!”); printf(“Good!”); printf(“Pass!”); printf(“Fail!”); printf(“data error!”);
运行结果:score为5时,输出: Very good! Good! Pass! Fail! data error!
/* 编译预处理:包含头文件 */
/* 定义实型变量 x , y */
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Description
<
Less than
<=
Less than or equal to
>
Greater than
>=
Greater than or equal to
==
Equal to
!=
Not equal to
Examples of Expression
6<9 5 <= 5 2>6 9 >= 5 7 == 5 6 != 5
Don’t forget the parentheses !!
Don’t forget the braces !!
单分支(1):计算两整数的最大值
#include <stdio.h> main() {
int a, b, max; printf("Input a,b:"); scanf("%d%d", &a, &b); if (a > b) max = a; if (a <= b) max = b; printf("max = %d\n", max); }
or if (expression) { statement1; statement2; }
复合语句 compound statement 被当作一条语句看待
if Statement
Syntax: if (expression) statement;
or if (expression) { statement1; statement2; }
算法的描述方法
自然语言描述 传统流程图(Flowchart)
在1966年,Bohra 与 Jacopini 提出
N-S结构化流程图
1973年,美国学者I.Nassi 和 B.Shneiderman 提出
伪码(Pseudocode)表示
流程图(Flowchart)
Flowchart represents algorithm graphically.
????
Output
max
选择结构(分支结构) (Selection Structure)
Single Selection
Multiple Selection
Double Selection
If
if - else - if
if - else
关系运算符与关系表达式
Relational Operation
c语言-选择控制结构
生活中的问题求解 (Problem Solving Proc烤蛋糕(Baking a Cake) How to solve:
1. Start 2. 将烤箱预热 3. 准备一个盘子 4. 在盘子上抹上一些黄油 5. 将面粉、鸡蛋、糖和香精混合在一起搅拌均匀 6. 将搅拌好的面粉团放在盘子上 7. 将盘子放到烤箱内 8. End
2.1 准备一个金枪鱼三明治
2.1.1 拿来两片面包
2.1.2 准备一些金枪鱼酱
2.2 准备一些薯片
2.2.1 将土豆切成片
2.2.2 油炸这些土豆片
2.3 冲一杯咖啡
3. End
2.3.1 烧些开水放入杯中 2.3.2 在水杯中加入一些咖啡和糖
算法的概念及其描述方法
面向过程的程序 = 数据结构 + 算法
计算机中的算法( Algorithm )
◦ 为解决一个具体问题而采取的、确定的、有限的操作 步骤,仅指计算机能执行的算法
算法的特性
◦ 有穷性
在合理的时间内完成
◦ 确定性,无歧义
如果x≥0,则输出Yes;如果x≤0,则输出No
◦ 有效性
能有效执行 负数开平方
◦ 没有输入或有多个输入 ◦ 有一个或多个输出
Symbo l
Semantic Start/End
Process
Input/Output
Test Connector Flow of activities
计算机中的问题求解过程
Example :买苹果,计算价钱 Calculate and display the price of a number of apples if the quantity in kg and price per kg are given.
Sstep a
true
ccoonnddiittiioonn
false
Sstep m Sstep n
Sstteepp bx
if Statement
The structure is similar to single selection
(flowchart)
表达式非0为真
Syntax: if (expression) statement;
Value
1 (true) 1 (true) 0 (false) 1 (true) 0 (false) 1 (true)
用于单分支控制的条件语句 (Single Selection)
Pseudocode Structure step a if <condition is true> start
step m step n end_if step b

给变量赋值
◦ 赋值表达式语句
赋值表达式 ;
A
price = quantity*pricePerkg;
输入输出数据
B
◦ 标准库函数调用语句
scanf("%d", &pricePerkg);
printf("%d", price);
C
计算两整数的最大值
Input
• num1 • num2
Process
Input a,b: 20 15
max = 20 _
单分支(2):求绝对值
输入1个整数,输出它的绝对值 (实现fabs函数) 当number < 0时,number = -number; 当number >= 0时,保持不变
分治策略 ("Divide and Conquer" Strategy )
Problem: 准备早餐( Prepare a Breakfast)
1. Start 2. 准备早餐 3. End
分治策略 ( "Divide and Conquer" Strategy )
1. Start
2.准备早餐
Input
Process
Output
• quantity • pricePerkg
price = quantity * pricePerkg
price
First identify the input and output of the problem.
顺序结构( Sequence Structure
相关文档
最新文档