文档详情

PPT03-2--第三章--流程控制之三中控制结构分析.ppt

发布:2019-05-27约6.38千字共76页下载文档
文本预览下载声明
第三章 流程控制;3.1 顺序结构 结构化程序设计中的顺序控制结构表示: 算法的某部分若执行, 则顺序的一个接一个语句,全部被执行; 若不执行,则全部语句一个也不被执行。 ;顺序控制结构编程举例;流程图说明:;3.2 分支结构 —— ;3.2.1 逻辑值控制;(1) 单分支 IF 语句,其形式是 if ( B ) S 其中: ● B 是一个布尔表达式; ● S 是一个语句。 语义: 计算 B 的值, 若 B为 true 则执行语句 S , 否则什么也不执行。 ;(2) 双分支if语句,其形式是: if ( B ) S1 else S2 其中: ● B是布尔表达式; ● S1 、S2 都是语句。;【例3.1】求 A 、B 极大值问题,可以描述成 if ( ab ) max=a ; else max=b ;; if( x0) sign=1 ; else if (x==0) sign=0 ; else sign= -1 ;;例如: if (ab) if (bc) x=0; else x=1; 如何理解? ;两种解释: ⑴ else 属于第一个 if : if (ab) { if ( bc ) x = 0 ; } else x = 1; ⑵ else 属于第二个 if : if ( ab ) { if (bc) x = 0 ; else x = 1 ;} ; C标准规定: “否则”部分与前面最邻近的一个没有配对的 if 配对 解决方案:使用{ };【例3.3】求一元二次方程 a*x*x + b*x + c = 0 的根。;流程图;/* PROGRAM quadratic equation*/ #include stdio.h #include math.h void main(){ int a,b,c,delta; printf(“输入方程式的三个系数: ); scanf(%f%f%f,a,b,c); if(a==0){ // 以下处理a==0的情况 if (b!=0) printf(x=%f\n,-c/b); else if(c==0) printf(0=0!\n); else printf(“%f=0\n,c);} ; else {    // 处理a!=0的情况     delta=b*b-4*a*c; if(delta0) printf(x1=%f ,x2=%f\n, (-b+sqrt(delta))/(2*a),(-b- sqrt(delta))/(2*a)); else if(delta==0) printf(x1=x2=%f\n,-b/(2*a)); else printf(x1=%f+%fi , x2=%f-%fi\n, -b/(2*a),sqrt(-delta)/(2*a), -b/(2*a),sqrt(-delta)/(2*a) ); } };【例3.4】输入成绩,给出其成绩等级 要求:60分以下,打印“不及格”;60-69,打印“及格”;70-79,打印“中”;80-89,打印“良”;90-100,打印“优”;其他成绩,打印“数据无效”。;随堂练习;;第一种:设有 switch 语句
显示全部
相似文档