资源描述:
《c语言课件c3-三种基本结构的程序设计-2010.10.9更新》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章三种基本结构的程序设计2021/8/823.1顺序结构3.2分支(条件)结构3.3循环结构退出2021/8/833.1顺序结构顺序结构程序是由按书写顺序执行的语句构成的程序段。语句1语句2返回2021/8/843.2分支结构(条件结构)3.2.1基本if语句(单分支结构)3.2.2if-else语句(双分支结构)3.2.3if嵌套语句(分支嵌套的一般形式)3.2.4if-else-if语句(分支嵌套的特殊形式)3.2.5switch-case语句(开关分支结构)3.2.6goto语句(无条件分支结构)返回202
2、1/8/85if(表达式)语句;注:表达式可以是任意表达式,为“非0”则执行语句。语句表达式?0非0返回3.2.1基本if语句(单分支结构)2021/8/86if(表达式)语句1;else语句2;语句1语句2表达式?非003.2.2if-else语句(双分支结构)2021/8/87[例3.1]输入一个整数,判断奇偶。main(){intn;clrscr();printf("Inputanumber");scanf("%d",&n);if(n%2==0)printf("Thenumberiseven");else
3、printf("Thenumberisodd");}返回2021/8/88if后和else后的语句可再包含if语句。3.2.3if嵌套语句(分支嵌套的一般形式)例:if(n>0)if(a>b)c=a;elsec=b;例’:if(n>0){if(a>b)c=a;}elsec=b;注:else总是与前面最近的并且没有与其他else匹配的if相匹配。2021/8/89[例3.2]求一个点所在的象限。main(){floatx,y;clrscr();printf("Inputthecoordinateofapoint.
4、");printf("x=");scanf("%f",&x);printf("y=");scanf("%f",&y);if(x>0)if(y>0)printf("Thepointisin1stquadrant.");elseprintf("Thepointisin4thquadrant.");elseif(y>0)printf("Thepointisin2ndquadrant.");elseprintf("Thepointisin3rdquadrant.");}返回2021/8/810if(表达式1)语
5、句1;elseif(表达式2)语句2;……elseif(表达式n)语句n;else语句n+1;表达式1?语句2假(0)真(非0)语句1表达式2?假(0)表达式n?假(0)语句n+1语句n真(非0)真(非0)3.2.4if-else-if语句(分支嵌套的特殊形式)2021/8/811[例3.3]求解符号函数。main(){intx,sign;clrscr();printf("Pleaseinputanumber");scanf("%d",&x);if(x>0)sign=1;elseif(x==0)sign=0;els
6、esign=-1;printf("Thesignis%d",sign);}2021/8/812[例3.4]设计求ax2+bx+c=0的一元二次方程解的程序。#includemain(){floata,b,c,d,x1,x2,p,q;printf("a,b,c=?");scanf("%f%f%f",&a,&b,&c);printf("Theequation");if(fabs(a)<1e-6)printf("isnotquadratic");else{d=b*b-4*a*c;if(fabs(d)<1e
7、-6)printf("hastwoequalroots:%8.4f",-b/(2*a));elseif(d>1e-6){x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);printf("hasdistinctrealroots:%8.4fand%8.4f",x1,x2);}else{p=-b/(2*a);q=sqrt(-d)/(2*a);printf("hascomplexroots:");printf("%8.4f+%8.4fit",p,q);printf("%8.
8、4f-%8.4fi",p,q);}}}返回输入a,b,ca==0?非二次方程d=b2-4acd==0?d>0?不相等实根不相等虚根相等实根YNYNYN2021/8/813switch(表达式){case常量表达式1:语句组1case常量表达式2:语句组2……case常量表达式n:语句组ndefault:语句组n+1}注:①表达