收藏 分销(赏)

日语学习逻辑表达与流程控制.pptx

上传人:丰**** 文档编号:4168709 上传时间:2024-08-09 格式:PPTX 页数:46 大小:327.10KB 下载积分:12 金币
下载 相关 举报
日语学习逻辑表达与流程控制.pptx_第1页
第1页 / 共46页
日语学习逻辑表达与流程控制.pptx_第2页
第2页 / 共46页


点击查看更多>>
资源描述
第 0 页程序设计基础2024年8月9日本章学习要点本章学习要点 关系运算关系运算逻辑运算运算if语句及句及if语句的嵌套句的嵌套switch语句句第 1 页程序设计基础2024年8月9日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区分区分=和和=第 2 页程序设计基础2024年8月9日运用关系表达式运用关系表达式表示比表示比较的数学式的数学式 C关系表达式关系表达式x10 x10 x10 x=10 x=10 x!=10 x=10用关系表达式描述条件用关系表达式描述条件判断判断 x 是否为负数是否为负数 x 0判断判断 x 是否不为零是否不为零 x!=0第 3 页程序设计基础2024年8月9日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 是否是否为英文字母英文字母第 8 页程序设计基础2024年8月9日条件的表示条件的表示例例1 写出写出满足下列条件的足下列条件的C表达式。表达式。ch 是空格或者回是空格或者回车。ch=|ch=nnumber是偶数。是偶数。number%2=0year 是是闰年,即年,即 year 能被能被 4 整除但不能被整除但不能被 100 整除,整除,或或 year 能被能被 400 整除。整除。(year%4=0&year%100!=0)|(year%400=0)第 9 页程序设计基础2024年8月9日5.3 选择控制结构选择控制结构if语句语句 1 if语句的简单形式语句的简单形式 if(表达式表达式)语句语句第 10 页程序设计基础2024年8月9日例例 2 打印出不及格的成绩打印出不及格的成绩 第 11 页程序设计基础2024年8月9日例例3 输入一个整数,入一个整数,输出它的出它的绝对值分析:分析:当当number=0时,时,?第 12 页程序设计基础2024年8月9日#include int main(void)int number;printf(Enter a number:);scanf(%d,&number);if(number 0)number=-number;printf(The 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.第 13 页程序设计基础2024年8月9日2.ifelse结构结构 if(表达式表达式)语句语句1else 语句语句2 第 14 页程序设计基础2024年8月9日解解 我们可以使用两种方法编程:我们可以使用两种方法编程:方法一:方法一:用两个简单的用两个简单的if语句实现:语句实现:main()float score;scanf(%f,&score);if(score=60.0)printf(score=%5.1f-Passn,score);例例 4 打印成绩打印成绩60分为分为“Pass”,否则否则为为“Fail”。第 15 页程序设计基础2024年8月9日方法二:方法二:用用ifelse语句实现:语句实现:main()float score;scanf(%f,&score);if(score9)y=100;else y=200;用条件运算符改写程序段:用条件运算符改写程序段:x=10;y=x9?100:200;第 18 页程序设计基础2024年8月9日例例5 输输入入x的的值值,当当x0时时调调用用sqrt(x),否否则调用则调用fabs(x)。#include#include main()float x,y;scanf(%f,&x);y=x0?sqrt(x):fabs(x);printf(x=%f,y=%fn,x,y);第 19 页程序设计基础2024年8月9日3 多分支结构与嵌套的多分支结构与嵌套的 if 语句和语句和switch语句语句多分支多分支结构有多种形式构有多种形式实现方法方法:n嵌套的嵌套的 if 语句句 else if 语句语句嵌套的嵌套的 if-else语句语句nswitch语句句第 20 页程序设计基础2024年8月9日(1)嵌套的)嵌套的 if 语句语句if(表达式表达式)语句句1else 语句句2 if 语句语句 if 语句语句o else if 语句语句o 嵌套的嵌套的 if-else语句语句if(表达式表达式1)语句句1else if(表达式表达式2)语句句2else if(表达式表达式n-1)语句句n-1else 语句句n假假表表达达式式1表表达达式式2语句语句1语句语句2语句语句n-1语句语句n真 表达式表达式n-1假假真真 假假假假真 第 22 页程序设计基础2024年8月9日嵌套的嵌套的 if else 语句语句if(表达式表达式1)if(表达式表达式2)语句语句1else 语句语句2 elseif(表达式表达式3)语句语句3 else 语句语句4 表达式表达式1表达式表达式3语句语句4真真 假假表达式表达式2语句语句3语句语句1语句语句2真真 真真 假假假假if(x 1)y=x+1;else 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)printf(Very Goodn);else if(score=80)printf(Goodn);else if(score=60)printf(Passn);else printf(Failn);第 28 页程序设计基础2024年8月9日main()float score;scanf(%f,&score);if(score=80)if(score=90)printf(Very Goodn);else printf(Goodn);else if(score=60)printf(Passn);else printf(Failn);方法二:方法二:if嵌套结构来实现嵌套结构来实现 第 29 页程序设计基础2024年8月9日 main()float score;scanf(%f,&score);if(score=60)printf(Passn);else if(score=80)printf(Goodn);else printf(Very Goodn);分析改写成以下形式:分析改写成以下形式:第 30 页程序设计基础2024年8月9日(2)switch语句语句 处理多分支理多分支选择问题,3种情况种情况1)在在switch语句的每个句的每个语句段中都使用句段中都使用break语句句switch(表达式表达式)case 常量表达式常量表达式1:语句段:语句段1;break;case 常量表达式常量表达式2:语句段:语句段2;break;.case 常量表达式常量表达式n:语句段:语句段n;break;default:语句段语句段n+1;break;第 31 页程序设计基础2024年8月9日 假假设设自自动动售售货货机机出出售售4 4种种商商品品,薯薯片片(crisps)(crisps)、爆爆米米花花(popcorn)(popcorn)、巧巧克克力力(chocolate)(chocolate)和和可可乐乐(cola)(cola),售售价价分分别别是是每每份份3.03.0、2.52.5、4.04.0和和3.53.5元元。在在屏屏幕幕上上显显示示以以下下菜菜单单,用用户户可可以以连连续续查查询询商商品品的的价价格格,当当查查询询次次数数超超过过5 5次次时时,自自动动退退出出查查询询;不不到到5 5次次时时,用用户户可可以以选选择择退退出出。当当用用户户输输入入编编号号1-4,1-4,显显示示相相应应商商品品的的价价格格;输输入入0 0,退出查询;输入其他编号,显示价格为,退出查询;输入其他编号,显示价格为0 0。1 Select 1 Select crispscrisps2 Select popcorn 2 Select popcorn 3 Select chocolate3 Select chocolate4 Select cola 4 Select cola 0 Exit0 Exit例例7 查询自动售货机中商品的价格查询自动售货机中商品的价格 表达式的值表达式的值=常量表达式常量表达式 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=4.0;break;case 4:price=3.5;break;default:price=0.0;break;#include int main(void)int choice,i;double price;for(i=1;i=5;i+)printf(1 Select crisps n);printf(2 Select popcorn n);printf(3 Select chocolate n);printf(4 Select cola n);printf(0 exit n);printf(Enter choice:);scanf(%d,&choice);if(choice=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;printf(price=%0.1fn,price);printf(Thanks n);1 Select crisps2 Select popcorn 3 Select chocolate4 Select cola 0 ExitEnter choice:1price=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第 34 页程序设计基础2024年8月9日 2)在switch中不使用breakswitch(表达式表达式)case 常量表达式常量表达式1:语句段:语句段1;case 常量表达式常量表达式2:语句段:语句段2;.case 常量表达式常量表达式n:语句段:语句段n;default:语句段语句段n+1;switch(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 的值的值其他其他第 36 页程序设计基础2024年8月9日3)在在switch的某些语句段中使用的某些语句段中使用breakswitch(choice)case 1:price=3.0;break;case 2:price=2.5;case 3:price=4.0;break;case 4:price=3.5;default:price=0.0;第 37 页程序设计基础2024年8月9日 用用switch语句句输出出学学生生的的分分数数等等级。设分分数数大大于于等等于于90分分者者为A等等,70分分90分分为B等等(含含70),60分分70分分为C等等(含含60),60分分以以下下为D等等,分分数数为浮浮点点数。数。编程思路:程思路:switch后后的的表表达达式式必必须是是有有类型型而而且且求求出出的的结果果应当当是是一一个个个个离离散散的的值,而而不不是是一一个个数数值范范围。应该想想办法法把把一一个个范范围转换成成一一个个确确定定的的值,这是使用是使用switch语句的关句的关键。我我们可可以以把把分分数数除除以以10再再取取整整,即即可可变成成离离散散的数的数值,就可以用,就可以用switch语句解决了。句解决了。例例8 设计下面程序设计下面程序#include main()int i;float score;printf(Input a score:);scanf(%f,&score);i=score/10;switch(i)case 10:case 9:printf(A);break;case 8:case 7:printf(B);break;case 6:printf(C);break;default:printf(D);return 0;第 39 页程序设计基础2024年8月9日例例9:输入两个整数入两个整数a和和b,按从小到,按从小到大的大的顺序序输出。出。算法算法设计:scanf(“%d%d”,&a,&b);如果如果ab,则a和和b交交换值;printf(“%d%d”,a,b);5.3 程序举例程序举例 第 40 页程序设计基础2024年8月9日#includemain()int a,b,t;printf(请输入两个整数:入两个整数:);scanf(%d%d,&a,&b);if(ab)t=a;a=b;b=t;printf(%d%d,a,b);第 41 页程序设计基础2024年8月9日例例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);if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;if(bc)t=b;b=c;c=t;printf(%d%d%d,a,b,c);第 43 页程序设计基础2024年8月9日 例例11 编编写写一一个个可可由由用用户户键键入入简简单单表表达达式式的程序,形式如下:的程序,形式如下:number operator number 要要求求:该该程程序序要要计计算算该该表表达达式式并并以以两两位位小小数数显显示示结结果果。识识别别的的运运算算符符operator为为加加、减、减、乘、乘、除。除。例如:例如:输入:输入:3.1+4.8 输出:输出:7.9#include int main(void)char oper;double value1,value2;printf(Type in an expression:);scanf(%lf%c%lf,&value1,&oper,&value2);switch(oper)case +:printf(=%.2fn,value1+value2);break;case -:printf(=%.2fn,value1-value2);break;case *:printf(=%.2fn,value1*value2);break;case /:printf(=%.2fn,value1/value2);break;default:printf(Unknown operatorn);break;return 0;第 45 页程序设计基础2024年8月9日作业 p111页:3-7题
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 外语文库 > 日语学习

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服