资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,*,第三章,运算符,目标,理解表达式,掌握赋值运算符的用法,熟练使用关系运算符,掌握简单的条件语句的使用,熟练使用逻辑运算符,了解,sizeof,运算符,理解运算符的优先级,2,表达式,Sum,num1,num2,操作数,运算符,3,表达式,表达式由操作数和运算符的组合而成,表达式中的操作数可以是变量、常量或者子表达式,运算符的主要类型有:,算术运算符,赋值运算符,关系运算符,逻辑运算符,4,变量,表达式,;,赋值运算符,Height,=,177.5;,Weight,=,78;,Gender,=,m;,x,=,a+b;,w,=,sin(a)+sin(b);,y,=,i+-j;,最简单的运算符:,5,复合赋值运算符,运算符,表达式,计算,结果(假设 X=10),+=,X +=5,X=X+5,15,-=,X -=5,X=X-5,5,*=,X*=5,X=X*5,50,/=,X /=5,X=X/5,2,%=,X%=5,X=X%5,0,6,示例,#include,void main(),int num=30;,printf(,n,原有人数,=%d,num);,num+=10;,printf(n,现在人数,=%dn,num);,输出:,原有人数=30,现在人数=40,7,关系运算符 3-1,操作数,关系运算符,关系表达式的,计算结果=逻辑值(真或假),在C语言中,“0”,表示,“假”,“非0”表示“真”,操作数,关系运算符用于测试两个操作数或两个表达式之间的关系,,其中操作数可以是变量、常量或表达式。,8,关系运算符,关系运算符 3-2,!=,=,=,=,操作数1,操作数2,9,条件结构 2-1,条件结构就是需要根据不同条件进行判断,然后执行不同的操作,简单,if,语句的一般形式为:,if,(,),语句,10,示例,请输入两个数:56 78,两数的和大于 100,#include,void main(),int num1,num2,sum;,printf(n请输入两个数:);,scanf(%d%d,sum=num1+num2;,if(sum 100),printf(n两数的和大于 100 n);,11,条件结构 2-2,if-else,语句的一般形式为:,if,(),else,12,示例,请输入一个整数:57,57 是一个奇数。,#include,void main(),int num;,printf(n,请输入一个整数,:,);,scanf(%d,if(num%2)=0),printf(%d,是一个偶数,。,n,num);,else,printf(%d,是一个奇数,。,n,num);,13,逻辑运算符,运算,运算符,表达式,逻辑“与”,&,operand1,&,operand2,逻辑“或”,|,operand1,|,operand2,逻辑“非”,!,!,operand1,逻辑运算符用于连接一个或多个条件,判断这些条件是否成立,逻辑运算符的类型为:,14,&的示例,#include,void main(),char a;,printf(n,请输入一个字符:,);,scanf(%c,if(,a=a&a=,小于,小于等于,大于,大于等于,自左向右,=,!=,等于,不等于,自左向右,&,逻辑与,自左向右,|,逻辑或,自左向右,=,+=,*=,/=,%=,-=,赋值运算符,复合赋值运算符,自右向左,20,问题描述:,判定给定的年份是否为闰年。,提示:闰年的判定规则为:能被 4 整除但不能被 100 整除的年份,或能被 400 整除的年份。,#include,void main(),int year;,printf(n,请输入年份,:,);,scanf(%d,if(year%4=0&year%100!=0)|(year%400=0),printf(n%d,年是闰年,n,year);,else,printf(n%d,年不是闰年,n,year);,综合示例,请输入年份:2005,2005 年不是闰年,21,第四章,条件结构,目标,熟练使用多重,if,结构,熟练使用嵌套,if,结构,熟练使用,switch,结构,理解条件运算符的用法,23,多重条件判断,问题:,把学生成绩按照A B C D E 进行评级。,规则:,A90100 分,B8089 分,C7079 分,D6069 分,E 059 分,24,多重,if,要处理多重条件判断的情况,需要使用多重条件结构,多重条件结构,嵌套,if,s,witch结构,多重条件结构,25,多重 if 结构,if(,表达式,1,),语句,1,;,else if(,表达式,2,),语句,2,;,else if(,表达式,3,),语句,3,;,.,.,else,语句,n,;,26,#include,void main(),float score;,printf(n,请输入考试成绩:,);,scanf(%f,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,嵌套 if 结构就是将整个 if 块插入另一个 if 块中,嵌套 if 结构,if(,表达式,1,),if(,表达式,2,),if(,表达式,3,),语句,;,else,语句,;,真,真,真,假,28,if(x 0),if(y 1),z=1;,else,/*,这个,else,部分属于哪个,if,?,*,/,z=2;,嵌套 if 结构 2-2,C,语言规定,每个,else,部分总属于前面最近的那个缺少对应的,else,部分的,if,语句。,提倡使用大括号括起来以避免看起来有二义性。,29,嵌套 if 结构的示例,#include,void main(),int a,b;,printf(n,请输入,A,和,B,的值,:);,scanf(%d%d,if(a!=b),if(ab),printf(n ABn);,else,printf(n ABn);,else,printf(n A=Bn);,输出:,A100),value=y;,else,value=n;,value=num 100,?,y,:,n;,(1),(0),条件表达式,使用,“,if-else”,的等同代码,假设,num=200,value=num 100,;,?,y,:,n,200,value,=,y,38,算术运算符示例,问题描述:,个人所得税收取规定:工资大于,1000,元的部分将扣除,5,的个人所得税。小于,1000,元的部分不扣除个人所得税。要求用户输入基本工资,计算税后工资。,#include,void main(),double sal;,double rate;,printf(n,请输入基本工资,:,);,scanf(%lf,rate=(sal=1000)?0:0.05;,sal=sal-(sal-1000)*rate;,printf(n,税后工资为,:,%7.2f n,sal);,请输入基本工资:1500,税后工资为:1475.00,39,
展开阅读全文