资源描述:
《c程序设计04 判定、分支和循环[组织行为管理推荐》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章判定、分支和循环4.1C语句概述C语句:以“;”作分隔符,编译后产生机器指令.C语句分类表达式语句:表达式加分号构成。空语句:;程序控制语句(9种):if()~else~switchfor()~while()~do~while()continuebreakgotoreturn分支循环辅助控制如total=total+limit;a=3;func();printf(“Hello,world!”);复合语句:用{…}括起来的一组语句一般形式:{[数据说明部分;]执行语句部分;}“}”后不加分号语法上和单一语句相同复合语句可嵌套三种基本结构顺序结构ABAB流程图
2、N-S图PAB真假PBA真假选择结构kA1A2AiAnk=k2k=k1k=knk=ki......二分支选择结构多分支选择结构循环结构当型循环结构直到型循环结构PA假真当P为真AAP真假A直到P为真注:A,B,A1….An可以是一个简单语句,也可以是一个基本结构4.2分支简单if语句(p111~115)格式:if(expression)statement执行过程:exprstatement非0=0例:if(x>y)printf(“%d”,x);例读入a,b,c,d四个整数,输出(a+b)/(c-d)。if(c-d!=0){ratio=(float)(a+b)/(c-
3、d);printf(“Ratio=%f”,ratio);}/*absolutevalue*/#includemain(){intx,y;printf("Enteraninteger:");scanf("%d",&x);y=x;if(y<0)y=-y;printf("integer:%d-->absolutevalue:%d",x,y);}例求一个数的绝对值运行:Enteraninteger:-12integer:-12--->absolutevalue:12abs(intn)labs(long)fabs(doublex)cabs(co
4、mplexz)exprstatement1statement2非0=0if…else语句p115格式:if(expression)statement1elsestatement2执行过程:例if(c-d!=0){ratio=(float)(a+b)/(c-d);printf(“Ratio=%f”,ratio);}elseprintf(“c-diszero”);例if(x>y)max=x;elsemax=y;转为表达式:max=(x>y)?x:y这里引入了运算符——p129条件运算符?:条件运算符与表达式一般形式:expr1?expr2:expr3执行过程功能
5、:相当于条件语句,但不能取代一般if语句例if(a>b)printf(“%d”,a);elseprintf(“%d”,b);printf(“%d”,a>b?a:b);例求a+
6、b
7、printf(“a+
8、b
9、=%d”,b>0?a+b:a-b);expr1取expr2值取expr3值非0=0例(a==b)?’Y’:’N’(x%2==1)?1:0(x>=0)?x:-x(c>=‘a’&&c<=‘z’)?c-’a’+’A’:c条件运算符可嵌套如x>0?1:(x<0?-1:0)优先级:13结合方向:自右向左如a>b?a:c>d?c:da>b?a:(c>d?c:d)expr
10、1、expr2、expr3类型可不同,表达式值取较高的类型例x?‘a’:‘b’//x=0,表达式值为‘b’;x‡0,表达式值为‘a’x>y?1:1.5//x>y,值为1.0;x1000)takeoff=
11、0.25;elseif(value>800)takeoff=0.2;elseif(value>600)takeoff=0.15;elseif(value>400)takeoff=0.1;elsetakeoff=0;例百分制成绩转换为五级制p12280to100Honours60to79FirstDivision50to59SecondDivision40to49ThirdDivision0to39Fail例累进电费p124例根据税前收入计算税后收入速算扣除额/02512537513753375637510375153752000元起征0%不超过500的5%超过5