3第二章基本语句_多分支选择语句
- 格式:ppt
- 大小:57.00 KB
- 文档页数:14
布尔表达式布尔表达式有以下两种操作: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++中提供两种选择结构语句:条件语句(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语句》教学设计一、教材分析本节课是海南省信息技术九年级上册第二章第三节的内容。
前面学生已经了解了visual basic 的工作界面和VB代码,并对流程图有了一定的认识。
通过本课的学习将使学生对VB及流程图有更深一层的认识,学会用程序的思维方式解决问题。
二、学情分析1、九年级的学生已经具备较强的逻辑思维能力,他们善于思考,敢于挑战。
2、大部分学生对抽象的程序代码有了一定的认识,能够看懂流程图并能编写简单的VB程序,通过前面的分支结构的学习,对本课内容有了感性层面上的理解。
3、个别少部分学生对抽象事物认识速度比较慢,对VB的认识还停留在窗体、控件上,对代码的概念还很模糊,因此在安排教学活动时,要充分考虑这些因素,让逻辑思维能力强的学生带领这些学生学习三、教学目标1、知识与技能:(1)充分理解多分支结构的流程。
(2)能够利用多分支结构的思想解决实际问题。
2、过程与方法:培养学生独立思考的能力、灵活运用所学知识解决问题的能力。
3、情感态度与价值观:(1)增强学生思维的严密性。
(2)善于发现问题,敢于提出疑问并能够针对疑问积极主动的思考解决。
四、教学重难点1、重点:理解多分支结构的流程。
2、难点:理解程序中流程的代码描述。
五、教法分析用学生感兴趣的游戏激发学生探索的欲望,在多分支的流程图及基本格式的理解中通过课件演示、具体实例的分析使抽象的事物尽可能的通俗易懂,已达到学生理解的目的。
再配以恰当的课堂练习,让学生分析、探究,更进一步的加深理解,自觉运用。
六、学法分析初三学生已经有较强的逻辑思维能力,通过对具体事例的分析、比较理解多分支的流程图并能够利用多分支的思想解决实际问题。
在学生学案的帮助下,通过自主学习、分组协助,总结经验,完成实践任务,以达到概念内化的效果,实现理论与实践的统一。
七、媒体与评价媒体:网络教室、演示文稿、学案评价:过程性评价,即在课堂教学中,随时可以针对学习内容评价,也可以是针对学习方法、情感态度和合作学习等方面的评价。
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.运算符用来表示数据各种操作的符号称为运算符。
运算符实际上代表了一种类型数据的运算规则。
不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。
多分支选择结构的代码语句多分支选择结构是编程中常用的一种控制结构,用于根据不同的条件执行不同的代码块。
下面是一些符合要求的多分支选择结构的代码语句的例子: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语⾔之选择分⽀语句详解⽬录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由上可以看出:逻辑运算中的关系运算均用括号“()”括起来。
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!退出编辑。