[日语学习]第5章逻辑表达与流程控制ppt课件_第1页
[日语学习]第5章逻辑表达与流程控制ppt课件_第2页
[日语学习]第5章逻辑表达与流程控制ppt课件_第3页
[日语学习]第5章逻辑表达与流程控制ppt课件_第4页
[日语学习]第5章逻辑表达与流程控制ppt课件_第5页
已阅读5页,还剩42页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、0第5 5章 逻辑表达与流程控制1 1 本章学习要点本章学习要点 关系运算逻辑运算if语句及if语句的嵌套switch语句5.1 5.1 关系运算x = 15比较 x 和 15 的大小比较的结果: 真 假当 x 取值9.5时, x = 15的结果是:?当 x 取值21.3时, x = 15的结果是:? 关系运算符x y x y x = y x != y关系表达式:用关系运算符将2个表达式连接起来的式子。如:x = 1区分区分= 和和=运用关系表达式表示比较的数学式 C关系表达式x10 x10 x10 x = 10 x = 10 x != 10 x = 10用关系表达式描绘条件用关系表达式描绘条

2、件判断判断 x 是否为负数是否为负数 x 0判断判断 x 是否不为零是否不为零 x != 05.2 5.2 逻辑运算x=1 关系运算-1 = x = -1 并且并且 x = -1 & x 1&y1 x1|y1 x1!x1 即 x= a & ch = a & ch = A & ch = Z 判断ch 是否为英文字母条件的表示例1 写出满足以下条件的C表达式。ch 是空格或者回车。 ch = | ch = nnumber是偶数。 number % 2 = 0year 是闰年,即 year 能被 4 整除但不能被 100 整除,或 year 能被 400 整除

3、。 year % 4 = 0 & year % 100 != 0 | year % 400 = 0 5.3 选择控制构造选择控制构造if语句语句 1 if语句的简单形式语句的简单形式 if表达式表达式语句语句下一语句真(非0)(a)(b)假(0)表达式语 句语句假真表达式例例 2 打印出不及格的成绩打印出不及格的成绩 例3 输入一个整数,输出它的绝对值分析:分析:当当number = 0时,时,?#include int mainvoid int number; printfEnter a number: ; scanf%d, &number; ifnumber 0 numbe

4、r = -number; printfThe absolute value is %d.n, number; return 0;运行结果:运行结果:Enter a number: 10 The absolute value is 10.运行结果:运行结果:Enter a number: -300 The absolute value is 300.2. ifelse构造构造 if表达式表达式 语句语句1else 语句语句2 下一语句真(a)(b)假表达式语句1语句1假真表达式语句2语句2解解 我们可以使用两种方法编程:我们可以使用两种方法编程: 方法一:方法一: 用两个简单的用两个简单的if语

5、句实现:语句实现: main float score; scanf%f, &score; ifscore=60.0 printfscore=%5.1f-Passn, score; 例例 4 打印成绩打印成绩60分为分为“Pass, 否那否那么为么为“Fail。方法二:方法二: 用用ifelse语句实现:语句实现: main float score; scanf%f, &score; ifscore9 y=100; else y=200; 用条件运算符改写程序段:用条件运算符改写程序段: x=10; y=x9? 100: 200; 例例5 输入输入x的值,的值, 当当x0时调用时

6、调用sqrtx,否否那么调用那么调用fabsx。 #include#include main float x, y; scanf%f, &x; y=x0? sqrtx: fabsx; printfx=%f, y=%fn, x, y; 3 3 多分支构造与嵌套的 if if 语句和switchswitch语句多分支构造有多种形式实现方法:n嵌套的 if 语句 else if 语句嵌套的 if - else语句nswitch语句1 1嵌套的 if if 语句if 表达式 语句1else 语句2 if 语句语句 if 语句语句o else if 语句语句o 嵌套的嵌套的 if - else语

7、句语句i f 表 达 式 1 语句1else if表达式2 语句2else if表达式n-1语句n-1else 语句n假假表 达 式表 达 式1表 达 式表 达 式2语句语句1语句语句2语句语句n-1语句语句n真 表达式表达式n-1假假真真 假假假假真 嵌套的 if else if else 语句if表达式1if 表 达 式 2 语句1else 语句2 elseif 表 达 式 3 语句3 else 语句4 表达式表达式1表达式表达式3语句语句4真真 假假表达式表达式2语句语句3语句语句1语句语句2真真 真真 假假假假2 2种嵌套if if语句的比较if x 1 y = x + 1; else

8、 if x 2 y = x + 2;else y = x + 3; if x 2 if x 1 y = x + 1; else y = x + 2;else y = x + 3; x2 x1y=x+1y=x+2真真 假假真真 y=x+3假假假假 x1 x=90 printfVery Goodn; else if score=80 printfGoodn; else ifscore=60 printfPassn; else printfFailn; main float score; scanf%f, &score; ifscore = 80 ifscore=90 printfVery

9、Goodn; else printfGoodn; else ifscore=60 printfPassn; else printfFailn; 方法二:方法二: if嵌套构造来实现嵌套构造来实现 main float score; scanf%f, &score; if score=60 printfPassn; else ifscore=80 printfGoodn; else printfVery Goodn; 分析改写成以下形式:分析改写成以下形式:2 2switchswitch语句 处理多分支选择问题,3种情况1在switch语句的每个语句段中都使用break语句switch表

10、达式 case 常量表达式1:语句段1; break; case 常量表达式2:语句段2 ; break; . case 常量表达式n:语句段n ; break; default : 语句段n+1 ; break; 例7 7 查询自动售货机中商品的价格 假设自动售货机出售4种商品,薯片crisps、爆米花popcorn、巧克力chocolate和可乐cola,售价分别是每份3.0、2.5、4.0和3.5元。在屏幕上显示以下菜单,用户可以连续查询商品的价格,当查询次数超过5次时,自动退出查询;不到5次时,用户可以选择退出。当用户输入编号1-4,显示相应商品的价格;输入0,退出查询;输入其他编号,

11、显示价格为0。1 Select crisps2 Select popcorn 3 Select chocolate4 Select cola 0 Exit表达式的值表达式的值=常量表达式常量表达式 2 的值的值表表达达式式语句段语句段1语句段语句段2语句段语句段n语句段语句段n+1表达式的值表达式的值=常量表达式常量表达式 1 的值的值表达式的值表达式的值=常量表达式常量表达式 n 的值的值其他其他breakbreakbreakbreakswitch choice case 1: price=3.0; break; case 2: price=2.5; break; case 3: price

12、=4.0; break; case 4: price=3.5; break; default: price=0.0; break;#include int mainvoid int choice, i; double price; for i = 1; i = 5; i+ printf1 Select crisps n; printf2 Select popcorn n; printf3 Select chocolate n; printf4 Select cola n; printf0 exit n; printfEnter choice: ; scanf%d, &choice; i

13、fchoice = 0 break; switch choice case 1: price=3.0; break; case 2: price=2.5; break; case 3: price=4.0; break; case 4: price=3.5; break; default: price=0.0; break; printfprice = %0.1fn, price; printfThanks n; 1 Select crisps2 Select popcorn 3 Select chocolate4 Select cola 0 ExitEnter choice: 1price

14、= 3.01 Select crisps2 Select popcorn 3 Select chocolate4 Select cola 0 ExitEnter choice: 7price = 0.01 Select crisps2 Select popcorn 3 Select chocolate4 Select cola 0 ExitEnter choice: 0Thanks 2在switch中不使用breakswitch表达式 case 常量表达式1:语句段1; case 常量表达式2:语句段2; . case 常量表达式n:语句段n; default : 语句段n+1; switch

15、 choice case 1: price=3.0; case 2: price=2.5; case 3: price=4.0; case 4: price=3.5; default: price=0.0; 表达式的值表达式的值=常量表达式常量表达式 2 的值的值表达表达式式语句段语句段1语句段语句段2语句段语句段n语句段语句段n+1表达式表达式的值的值= =常量表达式常量表达式 1 的值的值表达式的值表达式的值=常量表达式常量表达式 n 的值的值其他其他3 3在switchswitch的某些语句段中使用breakbreakswitch choice case 1: price=3.0; br

16、eak; case 2: price=2.5; case 3: price=4.0; break; case 4: price=3.5; default: price=0.0; 用switch语句输出学生的分数等级。设分数大于等于90分者为A等,70分90分为B等含70,60分70分为C等含60,60分以下为D等,分数为浮点数。 编程思路: switch后的表达式必须是有类型而且求出的结果应当是一个个离散的值,而不是一个数值范围。应该想方法把一个范围转换成一个确定的值,这是使用switch语句的关键。 我们可以把分数除以10再取整,即可变成离散的数值,就可以用switch语句解决了。例例8 设

17、计下面程序设计下面程序 #include main int i; float score; printfInput a score:; scanf%f,&score; i=score/10; switchi case 10: case 9: printfA; break; case 8: case 7:printfB;break; case 6:printfC;break; default:printfD; return 0; 例9:输入两个整数a和b,按从小到大的顺序输出。算法设计: scanf“%d%d,&a,&b; 假如ab,那么a和b交换值; printf“%d

18、%d, a, b; 5.3 程序举例程序举例 #includemainmain int a,b,t; printf请输入两个整数:请输入两个整数:; scanf%d%d,&a,&b; ifab t=a; a=b; b=t; printf%d %d,a,b; 例10:输入三个整数a ,b,c,按从小到大的顺序输出。算法设计: scanf“%d%d%d,&a,&b,&c; 假如ab,那么a和b交换值; 假如ac,那么a和c交换值; 假如bc,那么b和c交换值; printf“%d%d%d, a, b,c;#includemain int a,b,c,t; printf请输入三个整数:请输入三个整数:; scanf%d%d%d,&a,&b,&c; ifab t=a; a=b; b=t; ifac t=a; a=c; c=t; ifbc t=b; b=c; c=t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论