C语言程序设计第三章C语言的基本控制结构.ppt
《C语言程序设计第三章C语言的基本控制结构.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计第三章C语言的基本控制结构.ppt(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章 C语言的基本控制结构XUAN SHANLI合肥工业大学第三章第三章 C C语言的基本控制结构语言的基本控制结构第三章 C语言的基本控制结构XUAN SHANLI合肥工业大学问题问题#include#include void main(void)float a,b,c,x1,x2;scanf(“%f,%f,%f”,&a,&b,&c);x1=(-b+sqrt(b*b-4.*a*c)/(2.0*a);x2=(-b-sqrt(b*b-4.*a*c)/(2.0*a);printf(“x1=%7.2fnx2=%7.2f”,x1,x2);b*b-4ac0?yes求实根求实根no求复根求复根问题:如何
2、构造条件?如何根据条件实现不同算法?第三章 C语言的基本控制结构XUAN SHANLI合肥工业大学3.1程序的三种控制结构程序的三种控制结构 结构化程序设计结构化程序设计是软件设计的第三次革命。结构化程序设计的是软件设计的第三次革命。结构化程序设计的基础是采用三种程序的控制结构。基础是采用三种程序的控制结构。1966年年BOHM&Jacopini证明:证明:只要三种控制结构就能表达用只要三种控制结构就能表达用一个入口和一个出口框图所能表达的任何程序逻辑。一个入口和一个出口框图所能表达的任何程序逻辑。三种控制结构如下:三种控制结构如下:顺序结构顺序结构Sequence算法描述:算法描述:f;g;
3、框图:框图:f;g;入口入口出口出口选择结构选择结构Selection算法描述:算法描述:if(e)f;elseg;框图:框图:e?yesf;nog;入口入口出口出口第三章 C语言的基本控制结构XUAN SHANLI合肥工业大学循环结构循环结构Repetition当型循环当型循环whilecistruedofc?fYESNO直到循环直到循环dofuntilcisfalsefc?YESNO三种控制结构有如下共同的特点:三种控制结构有如下共同的特点:v一个入口和一个出口;一个入口和一个出口;v无死语句;无死语句;v无死循环。无死循环。入口入口出口出口如何构如何构造条件造条件?第三章 C语言的基本控
4、制结构XUAN SHANLI合肥工业大学 复合语句复合语句概念:概念:C语言可以用语言可以用包括一系列的语句。一对包括一系列的语句。一对所包含的内所包含的内容称为一个复合语句。其中可以包含容称为一个复合语句。其中可以包含0到多条到多条C语言语句。语言语句。#includevoidmain(void)inta,b;scanf(“%d,%d”,&a,&b);inttemp;temp=a;a=b;b=temp;printf(“%d,%d”,a,b);复复合合语语句句复复合合语语句句复合语句可以嵌套复合语句可以嵌套凡是可以出现单一语句的地方都可以使用复合语句。凡是可以出现单一语句的地方都可以使用复合语
5、句。复合语句的作用:复合语句的作用:作为分支和循环的块。作为分支和循环的块。作为标识符的作用域。作为标识符的作用域。交换算法演示交换算法演示第三章 C语言的基本控制结构XUAN SHANLI合肥工业大学3.2关系运算和逻辑运算关系运算和逻辑运算关系运算关系运算关系运算是比较两个表达式值的数值相互关系的运算。关系运算是比较两个表达式值的数值相互关系的运算。运算符运算符运算关系运算关系实例实例大于大于ab=大于等于大于等于a=b小于小于21=小于等于小于等于cb;/*c的值为的值为0*/d=a+22&a3|逻辑或逻辑或s6!逻辑非逻辑非!a其中,!运算是单目运算。其中,!运算是单目运算。逻辑运算演
6、示第三章 C语言的基本控制结构XUAN SHANLI合肥工业大学复杂逻辑关系的表示复杂逻辑关系的表示在实际应用中,经常会遇到描述复杂的关系。如:判断在实际应用中,经常会遇到描述复杂的关系。如:判断x是否是否大于等于大于等于5或小于或小于3。此类关系的描述在程序设计中会大量使用。此类关系的描述在程序设计中会大量使用。035x=50-23-2x3?x=4-2x&x=a&ch=A&chc+d&a=b*34注意:在无法确定优先级注意:在无法确定优先级时,加()区分。简化表时,加()区分。简化表达式。达式。c=b*=a+2c=(b*=(a+2)第三章 C语言的基本控制结构XUAN SHANLI合肥工业大
7、学级别级别运算符运算符结合顺序结合顺序1()()-.从左向右从左向右2!-+-(type)sizeof*&从右向左从右向左3*/%从左向右从左向右4+-从左向右从左向右5从左向右从左向右6=从左向右从左向右7=!=从左向右从左向右8&从左向右从左向右9从左向右从左向右10|从左向右从左向右11&从左向右从左向右12|从左向右从左向右13?:从右向左从右向左14=op=从右向左从右向左15,从左向右从左向右优优先先级级总总表表第三章 C语言的基本控制结构XUAN SHANLI合肥工业大学优先级特例优先级特例 自加、自减运算优先级遵循原则:自加、自减运算优先级遵循原则:前置:先运算后引用;前置:先
8、运算后引用;后置:先引用后运算。后置:先引用后运算。#include void main(void)int a=3,b;b=a+a+;printf(“b=%d”,b);b=+a+(+a);printf(“b=%d”,b);chp3ex0在逻辑运算中,如果逻辑值能确定,则不需在进行运算。在逻辑运算中,如果逻辑值能确定,则不需在进行运算。inta=0,b=0+a|b+;/*b的值?的值?*/a=0;a&+b;/*b的值?的值?*/第三章 C语言的基本控制结构XUAN SHANLI合肥工业大学3.3分支结构(选择结构分支结构(选择结构Selection)if及及if-else的三种结构。的三种结构。
9、由标准的分支结构可以演化成单分支、多分支结构。由标准的分支结构可以演化成单分支、多分支结构。C语言的分语言的分支语句有支语句有if、ifelse、switch三种。三种。if语句语句格式:格式:if(expression)statement;语句语句表达式,非表达式,非0为为yes,0为为no。语句,可以是复合语句。语句,可以是复合语句。流程图:流程图:e?statement;yesno举例:举例:#includevoidmain(void)charch;ch=getchar();if(ch=a&ch=z)ch-=32;putchar(ch);chp3exf第三章 C语言的基本控制结构XUAN
10、 SHANLI合肥工业大学 ifelse结构结构格式:格式:if(expression)stat1;elsestat2;语句或复合语句。语句或复合语句。流程图:流程图:e?yesstat1;stat2;no入口入口出口出口举例:输出举例:输出|x|。#includemain()intx;scanf(“%d”,&x);if(x=0)printf(“%d”,x);elseprintf(“%d”,-x);第三章 C语言的基本控制结构XUAN SHANLI合肥工业大学ifelseif结构结构(多分支)(多分支)格式:格式:if(e1)stat1;elseif(e2)stat2;elseif(e3)st
11、at3;elseif(en-1)statn-1;elsestatn;框图:框图:e1?ystat1;ne2?ystat2;出口出口nen-1?ystatn-1;nstatn;n-1个条件,满足某个条件,执行对应的语句,然后到出口。个条件,满足某个条件,执行对应的语句,然后到出口。第三章 C语言的基本控制结构XUAN SHANLI合肥工业大学ifelseif结构举例:结构举例:征税问题:征税问题:1000以下税率为以下税率为3%10002000税率为税率为4%20003000税率为税率为5%3000以上税率以上税率6%输入收入求应缴税款。输入收入求应缴税款。#includevoidmain(vo
12、id)floatx,rate;scanf(“%f”,&x);if(x1000)rate=.03;elseif(x2000)rate=.04;elseif(x3000)rate=.05;elserate=.06;printf(“%f”,x*rate);3/100?第三章 C语言的基本控制结构XUAN SHANLI合肥工业大学输入一个分数,将百分制转化为五分制。输入一个分数,将百分制转化为五分制。90分以下分以下打印打印A80-90打印打印B70-80打印打印C60-70打印打印D60以下以下打印打印E#includevoidmain(void)inta;scanf(“%d”,&a);if(a=9
13、0)printf(“ThescoreisA”);elseif(a=80)printf(“ThescoreisB”);elseif(a=70)printf(“ThescoreisC”);elseif(a=60)printf(“ThescoreisD”);elseprintf(“ThescoreisE”);chp3ex1第三章 C语言的基本控制结构XUAN SHANLI合肥工业大学 if语句的嵌套语句的嵌套对于如下的结构:对于如下的结构:if(e1)stat1;elsestat2;在在stat1或或stat2中又含有中又含有if结构:结构:if(e2)stat3;elsestat4;称为称为if结
14、构的嵌套。各种结构的嵌套。各种if结构都结构都可以嵌套。可以嵌套。如求符号函数:如求符号函数:-1(x0)#includevoidmain(void)intx,y;scanf(“%d”,&x);if(x0)y=1;elsey=0;结果结果?第三章 C语言的基本控制结构XUAN SHANLI合肥工业大学举例:求一元二次方程举例:求一元二次方程ax2+bx+c=0的根。的根。#include#includevoidmain(void)floata,b,c,d,e,x1,x2;scanf(“%f,%f,%f”,&a,&b,&c);d=b*b-4.0*a*c;if(abs(d)0)printf(“nx
15、1=%f”,(-b+sqrt(d)/(2.0*a);printf(“nx2=%f”,(-b-sqrt(d)/(2.0*a);elseprintf(“nx1=%f+i%f”,-b/(2.0*a),sqrt(-d)/(2.0*a);printf(“nx2=%f-i%f”,-b/(2.0*a),-sqrt(-d)/(2.0*a);外层内 层求相等实根。求相等实根。求不等实根。求不等实根。求共扼复根。求共扼复根。chp3ex2第三章 C语言的基本控制结构XUAN SHANLI合肥工业大学switch语句(多分支结构)语句(多分支结构)格式:格式:switch(expression)case常量表达式常
16、量表达式1:statement1;case常量表达式常量表达式2:statement2;case常量表达式常量表达式n-1:statementn-1;default:statementn;只能是整型或字符型表达式。只能是整型或字符型表达式。整型字符型常量表达式。整型字符型常量表达式。表达式的值不能相等。表达式的值不能相等。流程:流程:先求先求expression的值。的值。依次比较依次比较expression和各常量表达式的值。和各常量表达式的值。如果和第如果和第i个常量表达式相等,则执行个常量表达式相等,则执行第第i条以后条以后的语句。的语句。如果不相等,则执行如果不相等,则执行defaul
17、t以后的语句。以后的语句。第三章 C语言的基本控制结构XUAN SHANLI合肥工业大学语句标号的概念语句标号的概念:#includevoidmain(void)chargrade;grade=getchar();switch(grade)caseA:printf(“90100n”);caseB:printf(“8089n);caseC:printf(“7079n”);caseD:printf(“6069n”);caseE:printf(“60n”);default:printf(“errorn”);chp3ex3语句标号。语句标号。break语句:语句:格式:格式:break;作用:中断作用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 第三 语言 基本 控制 结构
限制150内