资源描述:
《C语言教程PPT版讲义谭浩强第四章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章C程序流程设计4.1C语句概述C语句:以“;”作分隔符,编译后产生机器指令.C语句分类表达式语句:表达式加分号构成。空语句:;程序控制语句(9种):if()~else~switchfor()~while()~do~while()continuebreakgotoreturn分支循环辅助控制如total=total+limit;a=3;func();printf(“Hello,world!”);复合语句:用{…}括起来的一组语句一般形式:{[数据说明部分;]执行语句部分;}说明:“}”后不加分号语法上和单一语句相同复合语句可嵌套4.2程序的三种基本结构结构化程序设计基本思想:任何程
2、序都可以用三种基本结构表示,限制使用无条件转移语句(goto)结构化程序:由三种基本结构反复嵌套构成的程序叫~优点:结构清晰,易读,提高程序设计质量和效率三种基本结构顺序结构ABAB流程图N-S图PAB真假PBA真假选择结构kA1A2AiAnk=k2k=k1k=knk=ki......二分支选择结构多分支选择结构循环结构当型循环结构直到型循环结构PA假真当P为真AAP真假A直到P为真注:A,B,A1….An可以是一个简单语句,也可以是一个基本结构4.3选择型程序设计if语句(条件选择语句)if语句的三种形式形式一:格式:if(expression)statement执行过程:exprsta
3、tement非0=0例:if(x>y)printf(“%d”,x);exprstatement1statement2非0=0形式二:格式:if(expression)statement1elsestatement2执行过程:例:if(x>y)max=x;elsemax=y;形式三:格式:if(expr1)statement1elseif(expr2)statement2elseif(expr3)statement3…...[elsestatementn]expr1statemnt1非0=0expr2expr3statemntnstatemnt3statemnt2非0非0=0=0执行过程:例
4、:if(salary>1000)index=0.4;elseif(salary>800)index=0.3;elseif(salary>600)index=0.2;elseif(salary>400)index=0.1;elseindex=0;如:if(a==b&&x==y)printf(“a=b,x=y”);if(3)printf(“OK”);if(‘a’)printf(“%d”,’a’);说明:if后面的表达式类型任意语句可以是复合语句if(x)if(x!=0)if(!x)if(x==0)例考虑下面程序的输出结果:#includemain(){intx,y;sca
5、nf(“%d,%d”,&x,&y);if(x>y)x=y;y=x;elsex++;y++;printf(“%d,%d”,x,y);}CompileError!/*ch4_1.c*/#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:12/*ch4_
6、2.c*/#includemain(){inta,b;printf("Enterintegera:");scanf("%d",&a);printf("Enterintegerb:");scanf("%d",&b);if(a==b)printf("a==b");elseprintf("a!=b");}例输入两个数并判断两数相等否运行:Enterintegera:12Enterintegerb:12a==b运行:Enterintegera:12Enterintegerb:9a!=b/*ch4_3.c*/#includemain(){charc
7、;printf("Enteracharacter:");c=getchar();if(c<0x20)printf("Thecharacterisacontrolcharacter");elseif(c>='0'&&c<='9')printf("Thecharacterisadigit");elseif(c>='A'&&c<='Z')printf("Thecharacterisacapitalletter");