第4章 选择结构程序设计

合集下载

C语言第四章.选择结构程序设计

C语言第四章.选择结构程序设计

case 常量表达式n: 语句n; default : 语句n+1; }
语句的执行过程:
先计算表达式的值,并逐个与其后的常量表达式值相 比较; 当表达式的值与某个常量表达式的值相等时,即执行
其后的语句;
然后不再进行判断,继续执行后面所有case后的语句;
如表达式的值与所有case后的常量表达式均不相同时,
a+b>c && x+y<b 等价于 ((a+b)>c) && ((x+y)<b)
2)逻辑运算的值: 逻辑运算的值也为“真”和“假”两种,用“1”和“0 ”
来表示。
反过来在判断一个量是为“真”还是为“假”时,以“0” 的数值代表“假”,以非“0”的数值代表“真”。
3)逻辑运算的规则:
(1)与运算&&
条件运算符和条件表达式
条件表达式通常用于赋值语句之中。 例如条件语句:
if(a>b) max=a;
else max=b; 可用条件表达式写为 max=(a>b)?a:b;
执行该语句的语义是:如a>b为真,则把a 赋予max, 否则把b 赋予max。
注意以下几点:
条件运算符的运算优先级 低于关系运算符和算术运算符,高于赋值符。 因此 max=(a>b)?a:b可以去掉括号而写为 max=a>b?a:b
注意:
(3) 在if 语句的三种形式中,所有的语句应为单个语句,
如果要想在满足条件时执行一组(多个)语句,则必须
把这一组语句用{ } 括起来组成一个复合语句。 例如:交换两个变量 if (a>b) { t= a; a=b; b=t; }

第4章_选择结构程序设计

第4章_选择结构程序设计

语句1
语句2
语句3
语句4
2013-5-19
图4-9 多分支选择结构
19
例4.5 :体型判断


按“体指数”对肥胖程度进行划分: 体指数t = w / h2 (体重w单位为公斤,身高h单位为米) – 当t < 18时,为低体重; – 当18 ≤ t < 25时,为正常体重; – 当25 < t < 27时,为超重体重; – 当t ≥ 27时,为肥胖。 编程从键盘输入你的身高h和体重w,根据给定公式计算体指 数t,然后判断你的体重属于何种类型。 用3种方法编程: – 算法1:用不带else子句的if语句编程 – 算法2:用在if子句中嵌入if 语句的形式编程 – 算法3:用在else子句中嵌入if 语句的形式编程
}
思考题

语句 if (0 == data2)的必要性 – 1998年11月《科学美国人》杂志,描述了美国导弹巡
洋舰约克敦号上的一起事故,除零错导致军舰推进系统 的关闭
取绝对 值函数 2013-5-19
如果要求程序能进行浮点数的算术运算,语句 if (0 == data2)还能用于比较实型变量data2和 常数0的大小吗? – if (fabs(data2) <= 1e-7) 如果要求输入的算术表达式中的操作数和运算符之 间可以加入任意多个空格符,那么程序如何修改? – scanf("%d%c%d", &data1, &op, &data2); – scanf("%d%1s%d", &data1, &op, &data2);

2013-5-19
13
if-else

04 选择结构程序设计

04 选择结构程序设计
}
程序输出举例: Enter two numbers: 2 2 (用户从键盘输入2 2)
num1=2 num2=2 result=1
4.2 逻辑运算符及逻辑表达式
逻辑运算符用于支持基本逻辑运算。三 种逻辑运算符及其意义,如表4.2.1所示。
表4.2.1
逻辑运算符 !
&& ||
名称 逻辑非 逻辑与 逻辑或
下面给出程序清单:
#include <stdio.h> main() { int value,choice;
printf("Convert : \n");
/*输出菜单*/
printf(" 1: decimal to hexadecimal\n");
printf(" 2: hexadecimal to decimal\n");
printf("Enter a decimal value: "); scanf("%d", &value); printf("%d in hexadecimal is %x\n", value,value); } else if(choice==2) { printf("Enter a hexadecimal value: "); scanf("%x", &value); printf("%x in decimal is %d\n",
例4.3.3 用双分支if语句重新编写例4.3.1的 程序。
可以利用一个分支处理变量a为正数的情 况,如令x=a。用另一个分支初处理变量a为 负数的情况,如令x=−a。最后输出结果。下 面给出程序:

第4章 选择结构程序设计

第4章 选择结构程序设计

含义
举例
结果
说明
Not
取反
Not (4 > 3)
False
结果与操作数的值相反
And
与 (2 >= 0) And ("c" > "a") True 两个表达式均为真时结果为真
Or

(7 < 4) Or (8 >= 8)
True 两个表达式一个为真时结果为真
Xor
异或
(4 = 6) Xor ( 9 < 3) False 两个表达式的值相异时结果为真
Mid(“Visual Basic 程序设计”,8,5)<”basic” 先计算
Mid(“Visual Basic 程序设计”,8,5),结果为”Basic”,再计
算”Basic” <”basic”结果为True
5=5=5 先计算5=5,结果为True,再计算True=5,结
果是False
6
4.1.2 逻辑运算符与逻辑表达式
后,流程都会到End If后下一条语句去。 ElseIF不能写成Else If。
当多分支中有多个条件同时满足,则只执行第一个与之匹配 的语句块。因此,要注意对多分支的条件的书写次序,防止某些值 被过滤。
If 和 End If 必须成对出现。
(3)功能 依次测试条件1到条件n,当条件i成立时(i为1到n之间的整数), 执行语句块i,然后执行End If后面的下一条语句;如果所有的条件 都不成立,并且
11
4.2.1 If…Then 语句
⑴、格式: If…Then 语句属于单分支结构语句,书写格式有两种:单行结构和
块结构。 “单行结构”格式: If 条件表达式 Then 语句组 “块结构” 格式: If 条件表达式 Then 语句组

《C语言程序设计(第五版)》第4章选择结构程序的设计 PPT课件

《C语言程序设计(第五版)》第4章选择结构程序的设计 PPT课件

►(b*b-4*a*c)>=0
b*b-4*a*c>=0
►z= (x>y+3)
z= x>y+3
►(a>b)= = c
a>b= =c
►a=(b!=c)
a=b!=c
当然为提高程序的可读性、可维护性你不妨多使用 括号,因为C语言中的有些优先级很容易让你不小心犯 错。
C语言程序设计
第4章 选择结构程序设计
第10页
“>”的结果为“假”,即条件不成立。
C语言程序设计
第4章 选择结构程序设计
第5页
4.1 关系运算及关系表达式
4.1.1 关系运算符及其优先次序
运算符
含义
> 大于
优先级
结合性
>= 大于或等于 这些关系运算符等优
< 小于
先级,但比下面的优 先级高
左结合性
<= 小于或等于
== 等于 != 不等于
这些关系运算符等优 先级,但比上面的优 先级低
C语言程序设计
第4章 选择结构程序设计
第4页
4.1 关系运算及关系表达式
所谓“关系运算”实际上就是“比较运算”, 即将两个数据进行比较,判定两个数据是否符合 给定的关系。例如,
► “x>y+3”中的“>”表示一个大于关系运算。 ➢如果a的值是5,b的值是1,则大于关系运算
“>”的结果为“真”,即条件成立; ➢如果a的值是2,b的值是1,则大于关系运算
因为按照自左至右的结合方向,先执行关系运算
“a>b”得值为1(“真”),再执行关系运算“1>c”, 得值为0(“假”),因此y为0。
C语言程序设计

C语言程序设计:第4章 选择结构程序设计

C语言程序设计:第4章 选择结构程序设计
gt; >= == !=
作用 小于 小于等于 大于 大于等于 等于 不等于
运算数 双目 双目 双目 双目 双目 双目
结合性 左结合 左结合 左结合 左结合 左结合 左结合
优先级 10 10 10 10 9 9
2
例如:
(1) 比较整型变量k大于0,表达式为:k>0 (2) 比较考试成绩score大于等于60,表达式为:score>=60 (3) 比较整型变量k模2等于0,即判断k是否是偶数:k%2==0 (4) 比较字符变量ch的值等于'A',表达式为:ch!='A'
return 0; }
Input 2 integers(a b):100 10<回车> 100,10
Input 2 integers(a b):10 100<回车> 100,10
2.双分支if语句
if (表达式) 语句1 else 语句2
执行过程: 首先先判断表达式的值 若为非0则执行语句1 若为0则执行语句2
if语句的双分支形式,在语法上 视为一条语句。
表达式

语句1

语句2
例4-4:判断整数的奇偶性。从键盘输入一个整数x,根据其奇 偶性输出x是奇数或x是偶数。
Input an integer: 12<回车> 12 is odd number.
#include <stdio.h>
int main()
return 0;
}
例4-5:修改例3-6使用海伦公式计算三角形面积程序的要求,当输入 的三个边长能够构成三角形时,计算面积;否则,输出不能构成三角 形。
思路分析:三角形面积的计算过程与原例题相同,新要求是在“三个 边长能构成三角形”这一条件成立时才进行计算面积,否则直接输出 提示信息。根据数学知识,这一条件可以描述为“任意两个边长之和 大于第三个边长”,输入三个边长a、b、c后,条件可以使用如下的 逻辑表达式描述:

c语言 第四章 选择结构课件

c语言 第四章 选择结构课件

if (expr1) if (expr2) statement1 else statement2
内嵌if
if (expr1) if (expr2) statement1
else statement3
内嵌if
if (expr1) statement1
else if(expr3) statement3 else statement4
if ~ else 配对原则:缺省{ }时,else 总是和它上面离它最近的未配对的if配对
if(……) if(……) if(……) else…... else…...
else…...
例: if (a==b) if(b==c) printf("a==b==c");
else printf("a!=b");
if(x>y) printf("X>Y\n");
else printf("X<Y\n");
else printf("X==Y\n");
}
运行:Enter integer x,y:12,23 X<Y Enter integer x,y:12,6 X>Y Enter integer x,y:12,12 X==Y
内嵌if
if (expr1)
if (expr2) else
statement1 statement2
内嵌if
else
if(expr3) else
statement3 statement4
内嵌if
例 输入两数并判断其大小关系
main() { int x,y;
printf("Enter integer x,y:"); scanf("%d,%d",&x,&y); if(x!=y)

第四章 选择(分支)结构程序设计

第四章 选择(分支)结构程序设计
4.2.2 逻辑表达式 掌握C语言的关系运算符和逻辑运算符后,可以
用一个逻辑表达式来表示一个复杂的条件。
例如:判断某一年是否闰年。 闰年:能被4整除,但不能被100整除;或能被 400整除。
(year%4==0&&year%100!=0)||year%400==0
表达式为“真”,闰年条件成立,是闰年,否则 非 闰年。
复合语句的形式:
{ 语句1; 语句2; 语句3; ……
}
4.3 if语句
4.3.1 if语句三种形式
复合语句在选择结构,循环结构中经常用到。 我们在逻辑上把复合语句看成是一条语句。
4.3 if语句
4.3.1 if语句三种形式
例:要求用户输入一个实数,然后求出这个实数 的绝对值。
4.3 if语句
逻辑运算的真值表:
a b a&&b
a||b
真真 真

真假 假

假真 假

假假 假

a
!a




4.2 逻辑运算符和逻辑表达式
4.2.1 逻辑运算符及其优先顺序
例:逻辑运算举例 a&&b 若a、b为真,则a&&b为真。 a||b 若a、b之一为真,则a||b为真。 !a 若a为真,则!a为假,反之若a为假,
4.3.1 if语句三种形式
▪ 在C语言中,表达式P的值是非0时,系统均按真 值处理。
例(1) if (‘a’) printf(“ok!”); (2) x=-5; if(x) printf(“ok!”); (3) y=0; if(y==0) printf(“ok!”); if(y) printf(“ok!”);

第4章选择结构程序设计

第4章选择结构程序设计

4.1 选择结构和条件判断
C语言有两种选择语句: (1)if语句,实现两个分支的选择结构 (2)switch语句,实现多分支的选择结构
4.1 选择结构和条件判断
例4.1 在例3.5的基础上对程序进行改进。 题目要求是求 ax2 bx c 0 方程的根。
由键盘输入a,b,c。假设a,b,c的值任意, 并不保证 b2 4ac 0。需要在程序中进行 判别,如果 b2 4ac 0 ,就计算并输出方 程的两个实根,否则就输出“方程无实根” 的信息。
在C的逻辑运算中,以“1”代表“真” ,以“0”代表“假”
4.4 逻辑运算符和逻辑表达式
4.4.1 逻辑运算符及其优先次序 4.4.2 逻辑表达式 4.4.3 逻辑型变量
4.4.1 逻辑运算符及其优先次序
3种逻辑运算符:
&&(逻辑与) ||(逻辑或) !(逻辑非)
&&和||是双目(元)运算符 !是一目(元)运算符 逻辑表达式
解题思路:
只需要做一次比较,然后进行一次交换即可 用if语句实现条件判断 关键是怎样实现两个变量值的互换
互换前 A ★
●B
互换后 A ●
★B
4.2.1 用if语句处理选择结构举例
C★
A★
●B
4.2.1 用if语句处理选择结构举例
C★ A ●★ ● B
4.2.1 用if语句处理选择结构举例
解题思路:可以先用伪代码写出算法:
if a>b,a和b对换 (a是a、b中的小者) if a>c,a和c对换 (a是三者中最小者) if b>c,b和c对换 (b是三者中次小者) 顺序输出a,b,c
#include <stdio.h> int main() { float a,b,c,t;

第4章 选择结构程序设计

第4章  选择结构程序设计

2. IF语句的嵌套格式ELSEIF 其语法结构为 If〈条件1〉Then [语句列1] ElseIf〈条件2〉Then
[语句列2]
... [Else [其他语句列]] End If
【例4-10】在例4-9中使用带ElseIf的块If语句来计算出优惠价,只 需将其中命令按钮Command1的单击(Click)事件代码改为 Private Sub Command1_Click() Dim x As Single, y As Single x = Val(Text1.Text) If x < 1000 Then y=x ElseIf x < 2000 Then y = 0.95 * x ElseIf x < 3000 Then y = 0.9 * x ElseIf x < 5000 Then y = 0.85 * x Else y = 0.08 * x End If Text2.Text = y End Sub
4.3.2 使用IIF函数
还可以使用IIf函数来实现一些比较简单的选择结构。IIf函数的 语法结构为 IIf(〈条件表达式〉,〈真部分〉,〈假部分〉) 【例4-6】例4-3中命令按钮Command1的单击(Click)事件代码可 以改为
Private Sub Command1_Click()
Dim x As Single, y As Single x = Val(Text1.Text) y = IIf(x >= 0, 1 + x, 1 – 2 * x) Text2.Text = y
4.4 多分支条件选择语句SELECT CASE
4.4.1 SELECT CASE结构与语法 4.4.2 SELECT CASE结构的应用 4.5 使用计时器控件 4.5.1 设计一个电子表 4.5.2 设计一个计时器 4.5.3 设计一个流动字幕板 4.6 提供简单选择的控件 4.6.1 选项按钮 4.6.2 复选框

第4章 选择结构程序设计

第4章 选择结构程序设计

#include <stdio.h> 4.2用if语句实现选择结构程序设计 int main() { 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) 如果 b<c,将b和c对换 b是三者中的次大者 { t=b; b=c; c=t; } printf("%5.2f,%5.2f,%5.2f\n",a,b,c); return 0; }
用条件运算符改写if语句
• 有一种if语句,当被判别的表达式的值为 “真”或“假” 时,都执行一个赋值语 句且向同一个变量赋值 • 如:if (a>b)
max=a; else max=b;
max = (a > b) ? a : b;
条件表达式
4.2用if语句实现选择结构程序设计
4.2.2if语句的一般形式
4.1条件判断
4.1.1条件判断的含义
在现实生活中,需要进行判断和选择的情况是很 多的
• 处理这些问题,关键在于进行条件判断 • 由于程序处理问题的需要,在大多数程序中都会 包含选择结构,需要在进行下一个操作之前先进 行条件判断
4.1条件判断
4.1.1条件判断的含义
• C语言有两种选择语句:
(1)if语句,实现两个分支的选择结构
4.2用if语句实现选择结构程序设计
4.2.1用if语句实现选择结构举例
例4.3 输入3个成绩a,b,c,要求按由高 到低的顺序输出。
4.2用if语句实现选择结构程序设计

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

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

《 C语言程序设计》
流程图
真 (非0) 表达式
假(0)
语句1
语句2
《 C语言程序设计》
例4.1
【例4.1】试用if…else语句编写程序,判断学生成绩 是否合格。
判断方法: ①如果成绩大于等于60,输出及格 ②否则输出成绩不及格
《 C语言程序设计》
4.2 if语句 if语句
C语言中if条件语句有三种结构形式,分别是: if结构(单分支结构) if if-else if-else结构(双分支结构) if-else-if结构 (多分支结构) if-else-if
《 C语言程序设计》
例4.5 设计一个应用程序,判断某一年是否为闰年
判断方法: ①如果该年能被4整除而不能被100整除,则为闰年; ②或者能被400整除也是闰年。 如: 1996年、2000年是闰年 1996年 2000年是闰年
1998年 1900年不是闰年 1998年、1900年不是闰年
逻辑表达式为: year%4==0 && year%100!=0 || year%400==0
4.4 条件运算符和条件表达式
条件运算符: 1、条件运算符:?:是C语言中惟一的一个三 目运算符。 一般形式为: 2、一般形式为: 表达式1 ? 表达式2 : 表达式3 3、操作过程:如果表达式1成立,则表达式2的 操作过程: 值就是此条件表达式的值;否则,表达式3 的值是此条件表达式的值。
《 C语言程序设计》
《 C语言程序设计》
4.2.2 if-else结构 if-else结构
1、格式: if(条件表达式 语句1 条件表达式) if(条件表达式) 语句1; 真 (非0) else 语句2; 语句 ; 语句1 2、执行过程:

C语言程序设计教程:选择结构程序设计

C语言程序设计教程:选择结构程序设计
25
4.2 switch语句
(5) case后面的语句块可以是一条语句或多条语句,也可 是空语句,但不需要用大括号括起来。
(6) 当case后面常量表达式与switch后面的表达式均不匹 配时,则执行default后面的语句块,default可以放在程序的 任何位置,不一定要位于最后。
(7) 多个case可以共用一个语句块。 例如: switch(n)
注意:当多分支中有多个表达式同时满足时,只执行第一个与之匹配的语句块。 因此要注意对多分支中条件表达式的书写次序,防止某些值被过滤掉。
15
4.1.1 if语句的三种形式
思考:若将例4.4中程序改为以下两种写法,结果分别会如何?
程序段一如下: #include <stdio.h> main() {
float score; printf("请输入学生期末考试成绩(0-100):\n "); scanf("%f", &score); if(score>=90)
4.1.1 if语句的三种形式
程序段二如下: #include <stdio.h> main() {
float score; printf("请输入学生期末考试成绩(0-100):\n "); scanf("%f", &score); if(score>=60)
printf("及格!\n "); else if(score>=70)
9
4.1.1 if语句的三种形式
2. 双分支选择结构
双分支结构语法的一般格式为:
if(表达式)
{
语句块1;
}
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2、输入一个整数;
3、如果该整数除2取余等于0, 则输出该数是偶数, 否则输出该数是奇数;
真 n%2 ==0 输出偶 数

输出奇 数
2.双分支结构
实例1:输入一个整数,判断是奇数还是偶数。
语句编写
算法设计:
1、定义一个整型变量;
main() { int n; scanf("%d",&n); if(n%2==0) printf("该数是偶数!\n"); else printf("该数是奇数!\n"); }
语句体1
break
否 否 case2
否… 是 是
语句体2
否 … 否 语句体n 否
break

case n 否
break

default
语句体 n+1
break
结束
3.多分支结构
编程实现,输入考试成绩,其中90-100 分属于A级别,80-89分属于B级别,7079分属于C级别,60-69分属于D级别, 低于60分属于E级别,将成绩转化为相应 五级制级别并输出。 算法设计:
1、定义两个实型变量; 2、输入顾客购买商品的消费总额; 3、利用多分支结构判断条件,执行相应语句; 4、输出顾客实际付款金额;
3.多分支结构
流程图:
A≥100 00


A≥80 00 真
பைடு நூலகம்

A≥50 00 真

A≥30 00 真

A≥10 00


打5折
打6折
打7折
打8折
打9折
不打 折
3.多分支结构
执行描述: 如果表达式1为真,继续判断表达式2如果为真,那么执行语句1; 如果表达式1为真,表达式2为假,那么执行语句2;如果表达式 1为假,继续判断表达式3如果为真,那么执行语句3;如果表达 式1为假,表达式3为假,那么执行语句4。
3.多分支结构
语句编写
编程实现,输入一个点的x和y坐标,输出该 点属于哪个象限。 算法设计:

输出正确
输出错误
2.双分支结构
实例2:输入一个密码,判断密码是否正 语句编写 确。 main() 算法设计:
{
1、定义一个整型变量;
int pwd; scanf("%d",&pwd); if(pwd==123456 ) printf(“密码正确,登录成功!\n"); else printf("密码错误,无法登录!\n"); }
课后作业
作业集:作业四
2
第12讲
第二节 选择结构程序设计
主要内容:
多分支结构语句 1、if else if 2、if else 嵌套 3、switch语句
3.多分支结构
if...else if语句的格式 :
if(表达式1) 语句1 else if(表达式2) 语句2 … else if(表达式n) 语句n else 语句n+1
1、定义三个变量,其中一个 用于交换; 2、输入两个整数; 3、如果第一个数大于第二个
a>b 真 交换a和b

数,则交换;
4、输出两个整数;
输出a和b
1. 单分支结构
实例2:输入两个整数,将这两个数按照从小到大的 顺序输出。 语句编写 算法设计:
1、定义三个变量,其中 一个用于交换; 2、输入两个整数; 3、如果第一个数大于第
运行结果
85↙ B
常见编译错误与调试
1. 赋值符号问题
2. 书写格式问题
3. 类型匹配问题
1. 赋值符号问题
语句编写
问题描述:
将条件中的等于号“= =” 写成赋值号“=”。
解决办法:
将n%2=0改为n%2==0。
编译错误
main() { int n; scanf("%d",&n); if(n%2==0) if(n%2=0) printf("该数是偶 数!\n"); else printf("该数是奇 } 数!\n");
2、输入一个整数;
3、如果该整数除2取余等于0, 则输出该数是偶数, 否则输出该数是奇数;
运行结果
315 ↙ 该数是奇数!
2.双分支结构
实例2:输入一个密码,判断密码是否正确。 算法设计: 流程图:
输入 pwd 真 pwd==1 23456
1、定义一个整型变量;
2、输入一个密码;
3、如果该密码等于设定密码, 则输出“密码确定,登录成 功!”,否则输出“密码错误, 无法登录!”;
1、定义一个成绩变量; 2、输入成绩; 3、如果成绩大于等于60分, 则输出“成绩及格”;
score
假 score≥ 60

输出“及格”
1. 单分支结构
实例1:输入C语言课程的成绩,如果大于等于60分,则输出 “成绩及格”。 语句编写 算法设计:
1、定义一个成绩变量; 2、输入成绩; 3、如果成绩大于等于60分, 则输出“成绩及格”;
3.多分支结构
编程实现,输入顾客购买商品的消费总额,输出顾客实际付 款金额,某商场打折活动,具体细则如下: (1)购买商品总额超过10000元(含10000元),打5折。 (2)购买商品总额超过8000元(含8000元),打6折。 (3)购买商品总额超过5000元(含5000元),打7折。 (4)购买商品总额超过3000元(含3000元),打8折。 (5)购买商品总额超过1000元(含1000元),打9折。 (6)购买商品总额小于1000元不打折。 算法设计:
1、定义两个整型变量和一个字符型变 量; 2、输入考试成绩; 3、成绩整除10,将范围最小; 4、利用switch语句对成绩进行五级 制级别转化; 5、输出级别;
语句编写
#include<stdio.h> main(){ int score,temp; char grade; scanf("%d",&score); temp=score/10; switch(temp){ case 10: case 9:grade='A';break; case 8:grade='B';break; case 7:grade='C';break; case 6:grade='D';break; case 5: case 4: case 3: case 2: case 1: case 0:grade='E'; break; } printf("五级制级别为:%c\n",grade); }
main() { int a,b,t; scanf("%d%d",&a,&b); if(a>b) { t=a;a=b;b=t; } printf("a=%d,b=%d\n",a,b); }
运行结果
二个数,则交换;
4、输出两个整数;
3 2↙ a=2,b=3
2. 双分支结构
if…else…语句格式 : 流程图:
执行描述:
先判断表达式1如果为真,那么执行语句1;否则判断表达式2如果为真, 那么执行语句2;…否则判断表达式n如果为真,那么执行语句n;否则 执行语句n+1。语句1、语句2…语句n和语句n+1 只能执行其中一个。
3.多分支结构
流程图:
表达 式1 N
Y
表达 式2 Y
N

表达 式n Y
N

语句1 语句2 语句n 语句 n+1

表达式

if(表达式){ 语句1 }
语句1
语句2
else {
执行描述:
语句2 }
先判断表达式是否为真,如果为真,那么执行语句1, 如果为假,那么执行语句2,语句1和语句2 只能执行其 中一个。
2.双分支结构
实例1:输入一个整数,判断是奇数还是偶数。 算法设计: 流程图:
输入n
1、定义一个整型变量;
2、输入一个密码;
3、如果该密码等于设定密码, 则输出“密码确定,登录成 功!”,否则输出“密码错误, 无法登录!”;
运行结果
123456 ↙ 密码正确,登录成 功!
任务六
【任务描述】
制作登陆功能的验证,如果在键盘输入
“Y”或“y”说明用户输入信息正确,就提示 用户“Welcome to here”否则说明输入信息
第11讲
第二节 选择结构程序设计
主要内容:
1.单分支结构
2.双分支结构
1. 单分支结构
if语句格式: if(表达式) {
执行描述:
语句 }
先判断表达式是否为真,如果为真,那么执行语句, 如果为假,那么跳过语句执行后面的程序。
流程图:
表达式 真 语句 假
1. 单分支结构
实例1:输入C语言课程的成绩,如果大于等于60分,则输出 “成绩及格”。 算法设计: 流程图: 输入
1、定义两个整型变量;
2、输入两个整数;
3、利用嵌套语句判断横坐 标和纵坐标的大小; 4、输出象限;
main() { int x,y; scanf("%d%d",&x,&y); if(x>0) if(y>0) printf("该点属于第一象限!\n") else printf("该点属于第四象限!\n"); else if(y>0) printf("该点属于第二象限!\n"); else printf("该点属于第三象限!\n"); }
相关文档
最新文档