3第二章基本语句_多分支选择语句
C语言程序设计教案第2章4 -6
(3)关系或逻辑表达式的值只有两个:真(非零)和假(零)。
(4)分析复杂表达式时,应先找优先级别最高的运算符,同时,注意”()”的优先级别很高,它往往可以改变表达式的运算次序。通过分析复杂表达的运算逻辑,推导出短路原则。
(5)编写一个输出复杂表达式的值及每个参与变量的值的程序。预估程序结果,然后与实验结果对比,从而深入理解短路原则及表达式的运算规律。
【问题】ppt中的程序有哪些错误
【实践】基于强制类型范围缩放数据处理技术的成绩分档程序的设计与实现
授课阶段总结
本节内容以实践为主,以当前所学的知识点,学生可以组织起一个逻辑上相对完整的程序,所以本小节以程序设计思维的训练为重点内容。首先,引导学生设计一个可以进行人机交互的界面—编写一个计算器的菜单,通过选择进行计算,把第一章的计算语句copy到适当的位置(增量开发)。然后,运用本章的知识点,设计具有一定的容错能力和设计技巧(强制类型转换与归一化处理)的学生成绩分档程序。两个例子都用到了本章所介绍的if和switch嵌套句型。
2.4 应用实例(1学时)
教学内容
(1)计算器程序设计。
(2)强制类型转换。首先讲解数据类型之间的转换规则,然后讲解转换的方法及用途。
(3)学生成绩档案管理—成绩等级划分。
讲解思路
(1)本小节主讲设计思想,所以每一个例题都必须有流程图来表达设计思想,通过讲解流程图帮学生梳理思路。然后,把对编程实现时用到技巧及难点进行讲解。
(2)掌握switch多路选择语句,在解决问题时,能够正确选择switch和if语句。
(3)掌握选择语句的流程图的算法描述方法
重点:if选择结构和switch选择结构。
多分支语句
布尔表达式布尔表达式有以下两种操作:1、关系运算符:=;<>; >; <; >=; <=,是用来进行关系操作(对比)运算的符号,其结果为BOOLEAN型。
如:2=3,其结果为FALSE。
*注意:这里的“=”与赋值符号“:=”是完全不同的,其作用和结果均不同。
2、逻辑运算符:AND(逻辑和);OR(逻辑或);NOT(逻辑非)。
是用来进行逻辑值的逻辑运算的。
如:(2=3)AND (4<>3),值为FALSE。
布尔表达式的运算顺序是:()→函数→NOT→*,/.DIV,MOD,AND,+,-,OR→>,<,>=,<=,<>,=。
布尔表达式中的逻辑运算如下表所示:a和b均为布尔型表达式或常/变量.a b A and b A or b Not a Not btrue false false true false Truetrue true true true false Falsefalse true false true true Falsefalse false false false true True由上可以看出:1、用AND运算时,左右两个值同为TRUE时,运算结果才为TRUE,即两个条件同时满足,结果才为TRUE。
这就是我们平常所说的“和”。
2、用OR运算时,左右两个值只需有一个为TRUE,运算结果就为TRUE,即两个条件满足其中一个,结果就为TRUE。
这就是我们平常所说的“或”。
3、用NOT运算时,只是把其后的逻辑值取反,即“非”。
4、例:[例4、1]Program q41;Var a,b,c,d:integer;P:boolean;BeginA:=1;B:=2;C:=3;D:=4;P:=(a=b);Writeln(p);P:=((a<b) and (c<d));Writeln(p);Writeln((a>d) or (c>b)); End. 说明四个整数型变量说明一个布尔型变量程序开始赋值赋值赋值赋值把(A=B)这个逻辑运算的结果赋给P,即P的值为FALSE打印P把((a<b) and (c<d))这个逻辑运算的结果赋给P打印P打印(a>d) or (c>b)这个逻辑运算的结果程序结束程序运行结果是:falsetruetrue由上可以看出:逻辑运算中的关系运算均用括号“()”括起来。
单分支、双分支、多分支条件语句的使用和区别PPT
双分支结构是根据判断条
件的结果(真或假)而选择不同 的向前路径的运行方式
语句一般格式: if (表达式) 语句1 else 语句2
表达式可为算术 、关系、逻辑、 赋值等表达式
03
Double
双分支结构 branch structure
语句一般格式: if (表达式) 语句1 else 语句2
根据输入成绩查看分级 (分支嵌套)
04 多分支结构 Multi-branch structure
求出三个不相等的数中的最大值 (分支嵌套)
04 多分支结构 Multi-branch structure
Switch语句(开关语句
)
switch语句可以理解成其他的分 目前支持switch语句的主流语言 支结构的总和,switch集成了上 有C类语言、java、php等等,p 述所有分支结构的特性 ython中没有switch语句这种写 法。 左图为Switch语句的流程图
}
default:当所有case常量都不 满足表达式的时候才会执行
break:跳出 switch语句
04 多分支结构 Multi-branch structure
输入:a 输出:
输入:A 输出:
输入:b 输出:
当任意输入case常量表达式中 不存在的值时 输入:12 输出:
05
总结
Summary
单分支、双分支、多分支条件语句
使用 和区 别
主讲人:黎灏锋
目录
01
02
03
04
05
选择结构
Select structure
单分支
Single branch
单分支、双分支、多分支条件语句的使用和区别
04
多分支
Multiple branches
04 多分支结构 Multi-branch structure
多分支结构分为分支嵌套和Switch语句(开关语句)
分 支 嵌 套
Switch 语句
04 多分支结构 Multi-branch structure
分支嵌套是在双分支的
基础上将if语句相互嵌套,根 据不同的条件表达式的值(逻 辑真假)确定执行哪个语句块。
单分支
选择结构
双分支
顺序结构
选择结 构
多分支
循环结 构
01
选择结构 ALTERNA TE
CHART
选择结构又称为分支结构 其本质就是根据不同的选择 ,执行 不同的内容
02
单分支
Single branch
02
单分支结构 Single branch
structure
单分支结构是根据判断条
件的结果(真或假)而选择不同 的向前路径的运行方式
case 常量表达式n:语句序列n; brea
k;
default:当所有case常量都不 满足表达式的时候才会执行
}
defaburelta: k语:跳句出序列n+1 switch语句
04 多分支结构 Multi-branch structure
输入:a 输出:
输入:A 输出:
输入:b 输出:
当任意输入case常量表达式 中不存在的值时 输入:12 输出:
双分支结构是根据判断
条件的结果(真或假)而选择 不同的向前路径的运行方式
语句一般格式: if (表达式) 语句1 else 语句2
表达式可为算术、 关系、逻辑、赋 值等表达式
C语言-课堂笔记4-多分支选择结构
缩进后
if()
if() 语句1
else
if() 语句2
else 语句3
变:
if()
{
if() 语句1
else 语句4
if() 语句2
else 语句3
}
10.30作业:
else
printf("输入错误!");
程序2:
char level;
switch(level)
{
case 'A':printf("85~100\n"); break;
case 'B': printf ("70~84\n"); break;
else if (level == 'C')
printf("70-79\n");
else if (level == 'D')
printf("60-69\n");
else if (level == 'E')
printf("<60\n");
第五课 选择结构2
格式4:
switch语句
格式
switch (表达式)
{
case 常量表达式1:语句1
case 常量表达式2:语句2
...
case 常量表达式n:语句n
default :语句n+1
}
default: c='E';
}
printf("level is : %c\n",c);
基本语句
基本语句一、选择语句选择语句又称为分支语句,如果在程序中需要根据不同的条件来决定执行何种操作,就要使用选择语句。
C++中提供两种选择结构语句:条件语句(if语句)、开关语句(switch语句)1)条件语句:1.if语句if语句的语法格式为:if(<表达式>)<语句>;<表达式>的值作为条件,如果计算值为非0,即为逻辑真,就执行<语句>,否则执行下一条语句2.if-else语句if-else语句的语法格式为:if(<表达式>)<语句1>else<语句2><表达式>的值作为条件,如果计算为非0,即为逻辑真,就执行<语句1>,否则执行<语句2>3.if语句的嵌套对于if-else语句,语句1或语句2又可以是一条if-else语句,这就形成嵌套的if语句。
如:if(<表达式1>)<语句1>elseif(<表达式2>)<语句2>else<语句3>2)开关语句:开关语句也称为switch语句,或者多选择语句、多分支语句。
它可以根据给定的表达式,从多个分支语句序列中选择执行一个分支。
语句的一般格式为:switch(<表达式>){case<常量表达式1>:<语句序列1>break;case<常量表达式2>:<语句序列2>break;……case<常量表达式n>:<语句序列n>break;default:<语句序列n+1>}<表达式>的类型只能是整型,即char,short或int型。
<常量表达式>的类型也是只能是char,short或int型,通常是字面常量。
每个<语句序列>可由一条或多条语句组成,也可以是空语句。
多分支结构——select语句》教学设计
《多分支结构——select语句》教学设计一、教材分析本节课是海南省信息技术九年级上册第二章第三节的内容。
前面学生已经了解了visual basic 的工作界面和VB代码,并对流程图有了一定的认识。
通过本课的学习将使学生对VB及流程图有更深一层的认识,学会用程序的思维方式解决问题。
二、学情分析1、九年级的学生已经具备较强的逻辑思维能力,他们善于思考,敢于挑战。
2、大部分学生对抽象的程序代码有了一定的认识,能够看懂流程图并能编写简单的VB程序,通过前面的分支结构的学习,对本课内容有了感性层面上的理解。
3、个别少部分学生对抽象事物认识速度比较慢,对VB的认识还停留在窗体、控件上,对代码的概念还很模糊,因此在安排教学活动时,要充分考虑这些因素,让逻辑思维能力强的学生带领这些学生学习三、教学目标1、知识与技能:(1)充分理解多分支结构的流程。
(2)能够利用多分支结构的思想解决实际问题。
2、过程与方法:培养学生独立思考的能力、灵活运用所学知识解决问题的能力。
3、情感态度与价值观:(1)增强学生思维的严密性。
(2)善于发现问题,敢于提出疑问并能够针对疑问积极主动的思考解决。
四、教学重难点1、重点:理解多分支结构的流程。
2、难点:理解程序中流程的代码描述。
五、教法分析用学生感兴趣的游戏激发学生探索的欲望,在多分支的流程图及基本格式的理解中通过课件演示、具体实例的分析使抽象的事物尽可能的通俗易懂,已达到学生理解的目的。
再配以恰当的课堂练习,让学生分析、探究,更进一步的加深理解,自觉运用。
六、学法分析初三学生已经有较强的逻辑思维能力,通过对具体事例的分析、比较理解多分支的流程图并能够利用多分支的思想解决实际问题。
在学生学案的帮助下,通过自主学习、分组协助,总结经验,完成实践任务,以达到概念内化的效果,实现理论与实践的统一。
七、媒体与评价媒体:网络教室、演示文稿、学案评价:过程性评价,即在课堂教学中,随时可以针对学习内容评价,也可以是针对学习方法、情感态度和合作学习等方面的评价。
C++多分支条件选择结构
网络与计算中心
3.1.2 双分支条件选择结构语句
3.条件表达式(?:运算符)
通常用条件表达式构成一个赋值语句, 其一般形式如下
LOGO
• x=<表达式1>?<表达式2>:<表达式3>
运用条件表达式可写出如下语句: • max=(a>b)?a:b 多个条件表达式连在一起: • x=<表达式1>?<表达式2>:<表达式3>?<表达 式4>:<表达式5>···
网络与计算中心
【例3.1】用程序实现商场打折问题的程序。 LOGO
#include<iostream> using namespace std; int main() { doubleamount; cout<< "请输入客户购买商品的金额总数:"; cin>>amount; if(amount >= 400) cout<< "用户实际支付购买商品的金额总数为:"<<amount*0.9<<endl; else if(amount>= 245) cout<< "用户实际支付购买商品的金额总数为:"<<amount*0.95<<endl; else if(amount>= 125) cout<< "用户实际支付购买商品的金额总数为:"<<amount*0.97<endl; else cout<< "用户实际支付购买商品的金额总数为:"<<amount<<endl; return 0; }
C语言程序设计》基本知识点
C语言程序设计》基本知识点C语言程序设计》教学基本知识点第一章C语言基本知识1.C源程序的框架尽管各个C源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。
2.C语言源程序的书写规则:1)C源程序是由一个主函数和若干个其它函数组成的。
2)函数名后必须有小括号,函数体放在大括号内。
3)C程序必须用小写字母书写。
4)每句的末尾加分号。
5)可以一行多句。
6)可以一句多行。
7)可以在程序的任何位置加注释。
3.语句种类语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C语言的基本语句可以分为五大类。
1)流程控制语句流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。
其中后两种结构要用特定的流程控制语句实现。
2)表达式语句表达式语句的形式是:表达式。
即表达式后跟一分号“;”,分号是语句结束符,是一个语句必不可少的成分。
表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。
最常见的表达式语句是赋值语句。
3)函数挪用语句函数挪用语句实践上也是一种表达式语句,形式为:在一次函数挪用的小括号后面加上一个分号。
(4)空语句空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义迁移转变点利用。
5)复合语句复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。
注意复合语句中最后一个语句末尾的分号不能少。
复合语句右大括号后面没有分号。
4.运算符用来表示数据各种操作的符号称为运算符。
运算符实际上代表了一种类型数据的运算规则。
不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。
程序的三种基本结构
switch ( i ) {case 1:printf(″A\n″); case 3:printf( ″C\n″); case 4:printf(″D\n″); default:printf(″E\n″); }
假设i=3时,则会从i=3时做起始语句。运行结果见右图。如果给每条语句加上break这样就只执行一条语句。
程序
if后面的表达式类型任意
如:if(a==b&&x==y) printf(“a=b,x=y”); if(3) printf(“OK”); if(‘a’) printf(“%d”,’a’);
语句可以是复合语句 if(x) if(x!=0) if(!x) if(x==0)
程序的三种基本结构
结构化程序设计 基本思想:任何程序都可以用三种基本结构表示,限制使用无条件转移语句(goto) 结构化程序:由三种基本结构反复嵌套构成的程序叫~ 优点:结构清晰,易读,提高程序设计质量和效率 三种基本结构 顺序结构
A
B
A
B
流程图
N-S图
A
B
真
假
P
B
A
真
假
A1
A2
Ai
An
k=k2
k=k1
实现if ~ else 正确配对方法:加{ }
5.2 switch语句 switch语句是多分支选择语句。if语句只有两个分支可供选择,而实际问题中常常需要用到多分支的选择。例如,学生成绩分类(90分以为‘A’等,80~89分为‘B’等,70~79分为‘c’ 等,……);人口统计分类(按年龄分为老、中、青、少、儿童);工资统计分类;银行存款分类;……等。当然这些都可以用嵌套的if语句或多分支来处理,但如果分支较多,则嵌套的if语句层数多,程序冗长而且可读性降低。C语言提供switch语句直接处理多分支选择,它的一般形式如下: switch (表达式) { case 常量表达式1:语句1 case 常量表达式2:语句2 case 常量表达式i:语句n default :语句n+1 }
单分支双分支多分支条件语句的使用和区别 ppt课件
04 多分支结构 Multi-branch structure 分支嵌套的流程图
if 表达式 语句1
else if 表达式2 语句2 else if 表达式3 语句3 ...... else 语句n
04 多分支结构 Multi-branch structure
根据输入成绩查看分级 (分支嵌套)
04 多分支结构 Multi-branch structure
双分支结构是根据判断条
件的结果(真或假)而选择不同 的向前路径的运行方式
语句一般格式: if (表达式) 语句1 else 语句2
表达式可为算术、 关系、逻辑、赋 值等表达式
03 双分支结构 Double branch structure
语句一般格式: if (表达式) 语句1 else 语句2
求出两数之间最大值的流程图
求出三个不相等的数中的最大值 (分支嵌套)
04 多分支结构 Multi-branch structure
Switch语句(开关语句)
目sw前i支tch持语sw句i可tch以语理句解的成主其流他语的言分 有支C结类构语的言总、和jav,as、wpithcph等集等成,了p上 y述th所on有中分没支有结sw构it的ch特语性句这种写 法。 左图为Switch语句的流程图
单分支、双分支、多分支条件语句
使用 和区 别
1
目录
01
02
03
04
05
选择结构
Select structure
单分支
Single branch
双分支
Double bbranches
总结
Summary
01
选择结构
01
选择结构 ALTERNA TE
多分支条件选择语句(情况语句)
③运行的界面:
1.2 不同语句实现多分支结构的比较 两种实现多分支结构的方法是:
⑴运用 If---Then---Else语句的嵌套;
⑵运用Select Case语句。 两种多分支结构实现方式的特点: ①Select Case 结构与If多分支结构的区别: Select Case 结构每次都是在开始处计算表达式的值。而 If...Then...Else 结构为每个 ElseIf 语句计算不同的表达式。 通常只有在If语句和每一个ElseIf语句计算相同表达式时, 才用SelectCase 结构替换 If...Then...Else 结构。
格式为:Case 值1,值2,… b: 指定一个范围。
格式为:Case 数值1 TO 数值2 数值1和数值2是指出数值变化范围,应当为从小到大的,即数值1小 于数值2。 c: 指定一个关系条件。
格式为:Case IS 〈关系运算符〉〈表达式〉 d: 混合使用多种表示形式。
用Select Case 语句(情况语句)所描述的问题的特点是:某 件事情是根据一个表达式的不同取值情况进行分类处理的, 对这类问题描述的最佳选择就是用Select Case 语句。
②程序代码:
Private Su Single a = InputBox("请输入你的成绩:", "数据输入", 0) Select Case Int(a / 10)
Case 0 To 5 Print "你成绩的等级为:"; "不及格!" Case Is = 6 Print "你成绩的等级为:"; "及格!" Case Is = 7 Print "你成绩的等级为:"; "中!" Case Is = 8 Print "你成绩的等级为:"; "良!" Case Is = 9, 10 Print "你成绩的等级为:"; "优!" End Select End Sub
多分支选择结构的代码语句
多分支选择结构的代码语句多分支选择结构是编程中常用的一种控制结构,用于根据不同的条件执行不同的代码块。
下面是一些符合要求的多分支选择结构的代码语句的例子:1. 根据用户输入的成绩等级,输出相应的评价:```if grade == "A":print("优秀")elif grade == "B":print("良好")elif grade == "C":print("一般")else:print("不及格")```2. 根据用户选择的菜品,计算总价并打印出来:```if dish == "鱼香肉丝":price = 20elif dish == "宫保鸡丁":price = 18elif dish == "麻婆豆腐":price = 15else:price = 0print("总价为:" + str(price))```3. 根据用户选择的操作,进行相应的文件操作:```if operation == "创建":create_file()elif operation == "读取":read_file()elif operation == "修改":edit_file()elif operation == "删除":delete_file()else:print("无效操作")```4. 根据用户输入的年份,判断是否为闰年:```if year % 400 == 0 or (year % 4 == 0 and year % 100 != 0):print(str(year) + "年是闰年")else:print(str(year) + "年不是闰年")```5. 根据用户输入的月份,输出该月份的天数:```if month in [1, 3, 5, 7, 8, 10, 12]:days = 31elif month in [4, 6, 9, 11]:days = 30elif month == 2:if year % 400 == 0 or (year % 4 == 0 and year % 100 != 0):days = 29else:days = 28else:days = 0print(str(year) + "年" + str(month) + "月有" + str(days) + "天")```6. 根据用户输入的性别和年龄,判断是否符合参军条件:```if gender == "男" and age >= 18 and age <= 22:print("符合参军条件")else:print("不符合参军条件")```7. 根据用户输入的英文单词,判断是否为元音字母开头的单词:```if word[0] in ['a', 'e', 'i', 'o', 'u']:print("是元音字母开头的单词")else:print("不是元音字母开头的单词")```8. 根据用户输入的月份,输出对应的季节:```if month in [3, 4, 5]:season = "春季"elif month in [6, 7, 8]:season = "夏季"elif month in [9, 10, 11]:season = "秋季"elif month in [12, 1, 2]:season = "冬季"else:season = "无效月份"print(str(month) + "月份属于" + season)```9. 根据用户输入的年份和月份,输出该月份的天数:```if month in [1, 3, 5, 7, 8, 10, 12]:days = 31elif month in [4, 6, 9, 11]:days = 30elif month == 2:if year % 400 == 0 or (year % 4 == 0 and year % 100 != 0):days = 29else:days = 28else:days = 0print(str(year) + "年" + str(month) + "月有" + str(days) +"天")```10. 根据用户输入的运算符,进行相应的计算:```if operator == "+":result = num1 + num2elif operator == "-":result = num1 - num2elif operator == "*":result = num1 * num2elif operator == "/":result = num1 / num2else:result = 0print("计算结果为:" + str(result))。
多分支选择语句
三、多分支选择语句多分支选择结构通常是有n个操作。
分析前面的例子可知,嵌套的双分支语句可以实现多分支结构。
C语言还专门提供了一种实现多分支结构的switch语句。
[格式]switch(表达式){ case 常量表达式1:语句组1;break;case 常量表达式2:语句组2;break;┇case 常量表达式n:语句组n; break;default:语句组n+1;}[功能]计算表达式的值,并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,直到遇到break语句为止。
如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。
[说明](1) 表达式可以是任何类型的,常用的是字符或整形表达式(2) 常量表达式是由常量组成的表达式,所有的常量表达式的值必须互不相同。
(3) 语句组是由若干个语句组成的,不需要用大括号括起来,其中的语句可以是任何C语言的可执行语句,当然可以是另一个switch语句(称嵌套switch语句)。
(4) break是C语言的一种语句,其功能是中断正在执行的语句。
在switch语句中的作用是:执行某个语句组后,将退出该switch语句。
如果省略了break语句,则执行完某个语句组后,将连续执行其后的所有语句组。
(5) 在书写格式上,按上述格式书写,所有的case对齐,每个case后的语句缩格并对齐,以便很容易地看出各个分支的条件依据和应执行的操作。
(6) 允许将相同操作的case及对应的常量表达式连续排列,对应操作的语句组及break只在最后一个case处出现。
其语句格式如下;switch(表达式){ case 常量表达式1:case 常量表达式2:case 常量表达式3:语句组1; break;┇case 常量表达式n-1:case 常量表达式n :语句组n; break;default:语句组n+1;}其中表达式值等于常量表达式1、2、3时,执行的操作都是语句组1;而表达式值等于常量表达式n-1、n时,执行的操作都是语句组n。
C语言之选择分支语句详解
C语⾔之选择分⽀语句详解⽬录1.if-else语句1.1例⼦与总结1.2if与else的配对问题1.3if-else代码编写建议2.switch(case)语句2.1例⼦和总结2.2switch语句其他知识点1.if-else语句1.1 例⼦与总结例⼦:①只有⼀个ifif (1 == a){printf("yes\n");}②if-else语句if (1 == a){printf("yes\n");}else{printfr("no\n");}③if-else if-else if-else语句printf("今天星期⼏?\n");int a = 0;scanf("%d", &a);if (1 == a){printf("Monday\n");}else if (2 == a){printf("Tuesday\n");}else if (3 == a){printf("Wednesday\n");}else{printf("Other Day\n");}总结:if-else语句有三种形式。
①只有⼀个if,没有对应的else。
(适⽤于只有⼀个判断的语句)初学者在学习if-else语句的时候,可以只⽤这个if解决⼤部分选择分⽀语句题⽬。
如:写⼀个程序,90-100为A,80-90为B,70-80为C,其他为D#include <stdio.h>float grade = 0;scanf("%f", &grade);if ( (grade >= 90) && (grade <= 100) ){printf("A\n");}if ( (grade >= 80) && (grade < 90) ){printf("B\n");}if ( (grade >= 70) && (grade < 80) ){printf("C\n");}if (grade < 70){printf("D\n");}return 0;}反思:初学者写这种题⽬的时候,刚开始建议先采⽤这种形式,等熟悉了可以⽤②和③。
多分支语句
布尔表达式布尔表达式有以下两种操作:1、关系运算符:=;<>; >; <; >=; <=,是用来进行关系操作(对比)运算的符号,其结果为BOOLEAN型。
如:2=3,其结果为FALSE。
*注意:这里的“=”与赋值符号“:=”是完全不同的,其作用和结果均不同。
2、逻辑运算符:AND(逻辑和);OR(逻辑或);NOT(逻辑非)。
是用来进行逻辑值的逻辑运算的。
如:(2=3)AND (4<>3),值为FALSE。
布尔表达式的运算顺序是:()→函数→NOT→*,/.DIV,MOD,AND,+,-,OR→>,<,>=,<=,<>,=。
布尔表达式中的逻辑运算如下表所示:a和b均为布尔型表达式或常/变量.a b A and b A or b Not a Not btrue false false true false Truetrue true true true false Falsefalse true false true true Falsefalse false false false true True由上可以看出:1、用AND运算时,左右两个值同为TRUE时,运算结果才为TRUE,即两个条件同时满足,结果才为TRUE。
这就是我们平常所说的“和”。
2、用OR运算时,左右两个值只需有一个为TRUE,运算结果就为TRUE,即两个条件满足其中一个,结果就为TRUE。
这就是我们平常所说的“或”。
3、用NOT运算时,只是把其后的逻辑值取反,即“非”。
4、例:[例4、1]Program q41;Var a,b,c,d:integer;P:boolean;BeginA:=1;B:=2;C:=3;D:=4;P:=(a=b);Writeln(p);P:=((a<b) and (c<d));Writeln(p);Writeln((a>d) or (c>b)); End. 说明四个整数型变量说明一个布尔型变量程序开始赋值赋值赋值赋值把(A=B)这个逻辑运算的结果赋给P,即P的值为FALSE打印P把((a<b) and (c<d))这个逻辑运算的结果赋给P打印P打印(a>d) or (c>b)这个逻辑运算的结果程序结束程序运行结果是:falsetruetrue由上可以看出:逻辑运算中的关系运算均用括号“()”括起来。
C语言逻辑流程自学课程多分支选择应用举例
4.4多分支选择应用举例
4.4.1 getchar 从标准输入里读取下一个字符,使用的时候要包含stdio.h头文件。
4.4.2 判断输入的字符是数字、大写字母、小写字母或其他字符。
如果输入的字符和某个if判断成立则执行完之后直接跳到整个多分支语句之后去执行。
如果上方的if语句判断都不成立,则执行最后的else语句块。
流程图如下:
表达式1语句1
表达式n 表达式3表达式2语
句2
语句3
语句n
…
语句n+1
≠0≠0≠0≠0=0
=0
=0
=0
4.4.3 在linux 下实现多分支选择
进入 VI 编辑 按下 i 键进入插入模式开始输入。
输入完成后 按 ESC 退出插入模式 然后输入:w 加上文件名保存, 输入:q!退出编辑。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
printf(“freight=%10.2f\n”,f); system(“pause”); return 0; }
例题:
1、要求按照成绩的等级输出百分制分数段, A等为85分以上,B等为70~84分,C等为 60~69分,D等为60分以下,成绩的等级由 键盘输入。
int main()
{
char ch;来自scanf("%c",&ch);
switch(ch)
{
case'A':printf("85~100\n");break;
case'B':printf(“70~84");break;
case'C':printf(“60~69");break;
case'D':printf(“<60");break;
default:printf("error!");
}
retuen 0;
}
例题
2、从键盘上输入周一到周日的数字1~7, 要求输出其对应的英文拼写,若输入其它数 字则输出“error”。
500<=s<1000
1000<=s<200 0 2000<=s<300 0 3000<=s
0% 2% 5% 8%
10%
15%
2程序
int main() { int c,s; float p,w,d,f; printf(“please enter price,weight,discount:”); scanf(“%f,%f,%d”,&p,&w,&s); if (s>=3000) c=12; else c=s/250; switch(c) { case 0:d=0;break; case 1:d=2;break;
default:printf("error\n");
}
system("pause");
return 0;
}
作业
1、计算器程序。用户 输入运算数和四则运 算符,输出计算结果。
2、运输公司对用户计 算运输费用。执行标 准1公里1元钱,但路 程越远,每吨运费越 低。打折标准如右图:
S<250 250<=s<500
}
int main(){
int a;
printf("input integer number: ");
scanf("%d",&a);
switch (a){
case 1:printf("Monday\n");
break;
case 2:printf("Tuesday\n");break;
switch(表达式){
case 常量表达式 1: 语句 1;[语句11;…;break;]
case 常量表达式 2: 语句 2;[语句21;…;break;]
…
case 常量表达式 n: 语句 n;[语句n1;…;break;]
default
: 语句 n+1;
}
在执行一个case子句后,遇到break则使程序流程跳出 switch语句,执行switch语句下面的语句;
…
case 常量表达式 n: 语句 n;[语句n1;…;break;]
default
: 语句 n+1;
}
1、其语义是:计算表达式的值。 并逐个与其后的常量 表达式值相比较,当表达式的值与某个常量表达式的值 相等时, 即执行其后的语句,然后不再进行判断,继 续执行后面所有case 后的语句。如表达式的值与所有 case 后的常量表达式均不相同时,则执行 default 后 的语句。
2、switch后面括号内的“表达式”,其值的类型应为 整数类型(包括字符型);
3、语句体内可包含多个case语句,最多包含一个 default语句。
4、可以没有default语句,这时如果没有和switch语 句的表达式相匹配,则不执行任何语句,流程转到 switch后面的语句执行;
case 2: case 3:d=5;break; case 4: case 5: case 6: case 7:d=8;break; case 8: case 9: case 10: case 11:d=10;break; case 12: d=15;break; } f=p*w*s*(1-d/100);
第二章基本语句(3) 多分支选择语句
河师大附中信息技术教学组
5.4 switch 语句
C语言还提供了另一种用于多分支选择的 switch 语句, 其一 般形式为:
switch(表达式){
case 常量表达式 1: 语句 1;[语句11;…;break;]
case 常量表达式 2: 语句 2;[语句21;…;break;]
case 3:printf("Wednesday\n");break;
case 4:printf("Thursday\n");break;
case 5:printf("Friday\n");break;
case 6:printf("Saturday\n");break;
case 7:printf("Sunday\n");break;
int main(){
int a;
printf("input integer number: ");
scanf("%d",&a);
switch (a){
case 1:printf("Monday\n");
case 2:printf("Tuesday\n");
case 3:printf("Wednesday\n");
5、各个case语句不要求次序,default语句可以放在 第一个。
6、每一个case语句的常量互不相同;否则就会出现互 相矛盾的现象。
7、switch语句在找到相匹配的case语句入口后,就不 做任何判断,执行它后面的所有case的语句,除非遇 到break语句;
8、case常量后面可以跟多个语句;例如:
case 4:printf("Thursday\n");
case 5:printf("Friday\n");
case 6:printf("Saturday\n");
case 7:printf("Sunday\n");
default:printf("error\n");
}
return 0;