运算符条件结构ppt课件

上传人:94****0 文档编号:241118341 上传时间:2024-06-01 格式:PPT 页数:39 大小:286.64KB
返回 下载 相关 举报
运算符条件结构ppt课件_第1页
第1页 / 共39页
运算符条件结构ppt课件_第2页
第2页 / 共39页
运算符条件结构ppt课件_第3页
第3页 / 共39页
点击查看更多>>
资源描述
第三章第三章运算符运算符第三章运算符目标目标 u 理解表达式理解表达式u 掌握赋值运算符的用法掌握赋值运算符的用法u 熟练使用关系运算符熟练使用关系运算符u 掌握简单的条件语句的使用掌握简单的条件语句的使用u 熟练使用逻辑运算符熟练使用逻辑运算符u 了解了解sizeof运算符运算符u 理解运算符的优先级理解运算符的优先级2目标 理解表达式2表达式表达式 3表达式 Sum=num1+num2操作数运算符3表达式表达式u表达式由操作数和运算符的组合而成表达式由操作数和运算符的组合而成u表达式中的操作数可以是变量、常量或者子表达式表达式中的操作数可以是变量、常量或者子表达式u运算符的主要类型有:运算符的主要类型有:u 算术运算符算术运算符u 赋值运算符赋值运算符u 关系运算符关系运算符u 逻辑运算符逻辑运算符4表达式表达式由操作数和运算符的组合而成4变量变量 表达式表达式;赋值运算符赋值运算符Height=177.5;Weight=78;Gender=m;x=a+b;w=sin(a)+sin(b);y=i+-j;5变量 表达式;赋值运算符Height=177.5复合赋值运算符复合赋值运算符运算符运算符表达式表达式计算算结果(假果(假设 X=10 X=10)+=X +=5X=X+515-=X -=5X=X-55*=X*=5X=X*550/=X /=5X=X/52%=X%=5X=X%506复合赋值运算符运算符表达式计算结果(假设 X=10)+=X 示例示例#include void main()int num=30;printf(n 原有人数原有人数=%d,num);num+=10;printf(n 现在人数现在人数=%dn,num);输出:原有人数=30现在人数=407示例#include 输出:7关系运算符关系运算符 3-1 操作数操作数关系运算符关系运算符关系表达式的关系表达式的关系表达式的关系表达式的计算结果计算结果计算结果计算结果=逻辑值(真或假)逻辑值(真或假)逻辑值(真或假)逻辑值(真或假)在在在在C C C C语言中,语言中,语言中,语言中,“0”“0”“0”“0”表示表示“假假假假”,“非非非非0”0”0”0”表表表表示示示示“真真真真”操作数操作数 关系运算符用于测试两个操作数或两个表关系运算符用于测试两个操作数或两个表达式之间的关系,达式之间的关系,其中操作数可以是变量、常其中操作数可以是变量、常量或表达式。量或表达式。8关系运算符 3-1 操作数关系运算符关系表达式的操作数 关系运算符关系运算符关系运算符关系运算符 3-2操作数操作数1 1操作数操作数2 29关系运算符关系运算符 3-2!=操作数1操作条件结构条件结构 2-1 u条件结构就是需要根据不同条件进行判断,然后条件结构就是需要根据不同条件进行判断,然后执行不同的操作执行不同的操作u简单简单 if 语句的一般形式为:语句的一般形式为:if()语句语句10条件结构 2-1 条件结构就是需要根据不同条件进行判断,然后示例示例请输入两个数:56 78两数的和大于 100#include void main()int num1,num2,sum;printf(n请输入两个数:请输入两个数:);scanf(%d%d,&num1,&num2);sum=num1+num2;if(sum 100)printf(n两数的和大于两数的和大于 100 n);11示例请输入两个数:56 78#include stdio条件结构条件结构 2-2 if-else 语句的一般形式为:语句的一般形式为:if()else 12条件结构 2-2 if-else 语句的一般形式为:12示例示例请输入一个整数:5757 是一个奇数。#include void main()int num;printf(n请输入一个整数请输入一个整数:);scanf(%d,&num);if(num%2)=0)printf(%d 是一个偶数是一个偶数。n,num);elseprintf(%d 是一个奇数是一个奇数。n,num);13示例请输入一个整数:57#include 逻辑运算符逻辑运算符 运算运算运算符运算符表达式表达式逻辑“与”&operand1&operand2逻辑“或”|operand1|operand2逻辑“非”!operand1 u逻辑运算符用于连接一个或多个条件,判断这些条件是否成立u逻辑运算符的类型为:14逻辑运算符 运算运算符表达式逻辑“与”&operand1&的示例的示例#include void main()char a;printf(n请输入一个字符:请输入一个字符:);scanf(%c,&a);if(a=a&a=z)printf(您输入的字符是小写字母您输入的字符是小写字母n,a);elseprintf(您输入的字符不是小写字母您输入的字符不是小写字母n,a);请输入一个字符:T您输入的字符不是小写字母15&的示例#include 请输入一个字符|的示例的示例#include void main()char a;printf(“你确定吗?(确定你确定吗?(确定Y/y,不确定,不确定N/n):);scanf(%c,&a);if(a=Y|a=y)printf(“确定确定n,a);elseprintf(“不确定不确定n,a);你确定吗?(确定你确定吗?(确定Y/y,不确定,不确定N/n):):Y确定确定16|的示例#include 你确定吗?(!的示例的示例请输入一个整数:5757 是一个奇数。#include void main()int num;printf(n请输入一个整数请输入一个整数:);scanf(%d,&num);if(!(num%2)printf(%d 是一个偶数是一个偶数。n,num);elseprintf(%d 是一个奇数是一个奇数。n,num);17!的示例请输入一个整数:57#include stdisizeof 运算符运算符 sizeof(int);2float num;sizeof(num);4char1int2short int2long4float4double8sizeof 运算符返回的大小使用 sizeof 运算符可以获得数据类型占用内存空间的大小。其一般形式为:sizeof(类型名)sizeof 运算符的结果以字节为单位显示注意:在32位计算机中,int类型的变量占4字节的内存大小,和long类型的大小一样,所以现在基本上可以直接使用int类型,而不需要使用long类型。18sizeof 运算符 示例:sizeof(int);floa运算符优先级运算符优先级 2-1 当我们遇到一个复杂表达式时,需要确定先执行当我们遇到一个复杂表达式时,需要确定先执行哪种运算,此时就需要考虑运算符的优先级哪种运算,此时就需要考虑运算符的优先级 z=x+y g*h*(t/20)+65 r%219运算符优先级 2-1 z=x+y g*h*运算符优先级运算符优先级 2-2运算符运算符描述描述结合性合性()圆括号自左向右!,+,-,sizeof逻辑非,递增,递减,求数据类型的大小自右向左*,/,%乘法,除法,取余自左向右+,-加法,减法自左向右,=小于,小于等于,大于,大于等于自左向右=,!=等于,不等于自左向右&逻辑与自左向右|逻辑或自左向右=,+=,*=,/=,%=,-=赋值运算符,复合赋值运算符自右向左20运算符优先级 2-2运算符描述结合性()圆括号自左向右!,问题描述:判定给定的年份是否为闰年。提示:闰年的判定规则为:能被 4 整除但不能被 100 整除的年份,或能被 400 整除的年份。#include void main()int year;printf(n 请输入年份请输入年份:);scanf(%d,&year);if(year%4=0&year%100!=0)|(year%400=0)printf(n%d 年是闰年年是闰年 n,year);else printf(n%d 年不是闰年年不是闰年 n,year);综合示例综合示例请输入年份:20052005 年不是闰年21问题描述:#include 综合示例请输入第四章第四章条件结构条件结构第四章条件结构目标目标u 熟练使用多重熟练使用多重 if 结构结构u 熟练使用嵌套熟练使用嵌套 if 结构结构u 熟练使用熟练使用 switch 结构结构u 理解条件运算符的用法理解条件运算符的用法23目标 熟练使用多重 if 结构23多重条件判断多重条件判断问题:问题:把学生成绩按照把学生成绩按照A B C D E 进行评级。进行评级。规则:规则:A90100 分分B8089 分分C7079 分分D6069 分分E 059 分分24多重条件判断问题:24多重if 要处理多重条件判断的情况,需要使用多重条件结构多重条件结构多重条件结构嵌套 ifswitch结构多重条件结构多重条件结构多重条件结构多重条件结构25多重if 要处理多重条件判断的情况,需要使用多重条件结构多重多重 if 结构结构if(表达式表达式1)语句语句1;else if(表达式表达式2)语句语句2;else if(表达式表达式3)语句语句3;.else 语句语句n;26多重 if 结构if(表达式1)26#include void main()float score;printf(n 请输入考试成绩:请输入考试成绩:);scanf(%f,&score);if(score=90)printf(n A);else if(score=80)printf(n B);else if(score=70)printf(n C);else if(score=60)printf(n d);else printf(n E);printf(n);27#include 27q嵌套 if 结构就是将整个 if 块插入另一个 if 块中嵌套嵌套 if 结构结构if(表达式1)if(表达式2)if(表达式3)语句;else语句;真真真假 28嵌套 if 结构就是将整个 if 块插入另一个 if 块中嵌if(x 0)if(y 1)z=1;else/*这个 else 部分属于哪个 if?*/z=2;嵌套嵌套 if 结构结构 2-2C语言规定,每个 else 部分总属于前面最近的那个缺少对应的 else 部分的 if 语句。提倡使用大括号括起来以避免看起来有二义性。29if(x 0)嵌套 if 结构 2-2C语言规定,每个嵌套嵌套 if 结构的示例结构的示例#includevoid main()int a,b;printf(n 请输入请输入 A 和和 B 的值的值:);scanf(%d%d,&a,&b);if(a!=b)if(ab)printf(n ABn);elseprintf(n ABn);elseprintf(n A=Bn);输出:AB30嵌套 if 结构的示例#include输出qswitch-case 语句是多路判断语句qswitch 语句计算条件表达式并对照多个常数值进行检查switchswitch(表达式)case 常量 1:语句;break;case 常量 2:语句;break;default:语句;计算表达式的值如果等于常量1 如果等于常量2 如果没有找到匹配的值 31switch-case 语句是多路判断语句switchswiswitch的示例的示例1#include void main()char a;printf(你确定吗?(确定你确定吗?(确定Y/y,不确定,不确定N/n):):);scanf(%c,&a);switch(a)case Y:printf(确定确定n,a);break;case y:printf(确定确定n,a);break;default:printf(不确定不确定n,a);你确定吗?(确定你确定吗?(确定Y/y,不确定,不确定N/n):):Y确定确定32switch的示例1#include 你确switchu在使用在使用switch结构时应注意以下几点:结构时应注意以下几点:u在在case后的各常量表达式的值不能相同,否则后的各常量表达式的值不能相同,否则会出现错误;会出现错误;u在在case后,允许有多个语句,可以不用后,允许有多个语句,可以不用括起括起来;来;u每个每个case语句后都必须有一个语句后都必须有一个break语句,否语句,否则会出现错误;则会出现错误;u各各case和和default子句的先后顺序可以变动,子句的先后顺序可以变动,而不会影响程序执行结果;而不会影响程序执行结果;udefault子句可以省略;子句可以省略;33switch在使用switch结构时应注意以下几点:33u 多重多重if结构和结构和switch结构都可以用来实现多路分支结构都可以用来实现多路分支u多重多重if结构用来实现两路、三路分支比较方便,而结构用来实现两路、三路分支比较方便,而switch结构实现三路以上分支比较方便结构实现三路以上分支比较方便u在使用在使用switch结构时,应注意分支条件要求是整型结构时,应注意分支条件要求是整型表达式,而且表达式,而且case语句后面必须是常量表达式语句后面必须是常量表达式u有些问题只能使用多重有些问题只能使用多重if结构来实现,例如要判断结构来实现,例如要判断一个值是否处在某个区间的情况一个值是否处在某个区间的情况比较多重比较多重 if 和和 switch 结构结构34 多重if结构和switch结构都可以用来实现多路分支比较多switch的示例的示例2考虑刚才的问题能用考虑刚才的问题能用switch实现吗?实现吗?问题:问题:把学生成绩按照把学生成绩按照A B C D E 进行评级。进行评级。规则:规则:A90100 分分B8089 分分C7079 分分D6069 分分E 059 分分35switch的示例2考虑刚才的问题能用switch实现吗?3#include void main()float score;int grade;printf(n 请输入考试成请输入考试成绩:绩:);scanf(%f,&score);grade=(int)score/10;switch(grade)case 9:printf(n A);break;case 8:printf(n B);break;case 7:printf(n C);break;case 6:printf(n d);break;default:printf(n E);printf(n);36#include switch(grad条件运算符条件运算符 2-1条件表达式考试是否及格?是不是真表达式 1假表达式 237条件运算符 2-1?条件表达式考试是是不是真假37条件运算符条件运算符 2-2if(num100)value=y;else value=n;value=num 100?y:n;(1)(0)条件表达式使用使用“if-else”的等同代码的等同代码 假设 num=200 value=num 100;?y:n200value=y38条件运算符 2-2if(num100)value=n算术运算符示例算术运算符示例问题描述:个人所得税收取规定:工资大于1000元的部分将扣除5的个人所得税。小于1000元的部分不扣除个人所得税。要求用户输入基本工资,计算税后工资。#include void main()double sal;double rate;printf(n 请输入基本工资请输入基本工资:);scanf(%lf,&sal);rate=(sal=1000)?0:0.05;sal=sal-(sal-1000)*rate;printf(n 税后工资为税后工资为:%7.2f n,sal);请输入基本工资:1500税后工资为:1475.0039算术运算符示例问题描述:#include
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!