《3.第3章 C语言的基本控制结构
第三章 C语言的基本控制结构 XUAN SHANLI 合肥工业大学 第三章 C语言的基本控制结构 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 问题 #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.2f\nx2=%7.2f”,x1,x2); } b*b-4ac<0? Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 一元二次方程根求解算法描述 b2-4ac=0? yes 求等根 no b2-4ac>0? yes 求实根 no 求复根 问题:如何构造条件? 如何根据条件实现不同算法? Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 3.1 程序的三种控制结构 结构化程序设计是软件设计的第三次革命。结构化程序设计的 基础是采用三种程序的控制结构。 1966年BOHM &Jacopini 证明:只要三种控制结构就能表达用 一个入口和一个出口框图所能表达的任何程序逻辑。 三种控制结构如下: ⒈顺序结构Sequence 算法描述: f; g; 框图: f; g; 入口 出口 ⒉选择结构Selection 算法描述: if(e) f; else g; 框图: e? yes f; no g; 入口 出口 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. ⒊循环结构Repetition ⑴当型循环 while c is true do f c? f YES NO ⑵直到循环 do f until c is false f c? YES NO 三种控制结构有如下共同的特点: 一个入口和一个出口; 无死语句; 无死循环。 入口 出口 如何构造条件 ? Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 复合语句 概念:C语言可以用{ }包括一系列的语句。一对{ }所包含的内 容称为一个复合语句。其中可以包含0到多条C语言语句。 #include void main (void) { int a,b; scanf(“%d,%d”,&a,&b); { int temp; temp=a; a=b; b=temp; } printf(“%d,%d”,a,b); } 复合语句 复合语句 复合语句可以嵌套 凡是可以出现单一语句的地方都可以使用复合语句。 复合语句的作用: ⒈作为分支和循环的块。 ⒉作为标识符的作用域。 交换算法演示 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 3.2 关系运算和逻辑运算 ⒈关系运算 关系运算是比较两个表达式值的数值相互关系的运算。 运算符 > >= < <= == != 运算关系 大于 大于等于 小于 小于等于 等于 不等于 实例 a>b a>=b 2<1 c<=d 1==c 1!=3 关系运