文档详情

第三章C语言流程控制.ppt

发布:2017-08-19约1.54万字共81页下载文档
文本预览下载声明
第三章 C语言流程控制 3.1 顺序结构编程 例: 输入3个数a、b、c, 要求按由小到大的顺序输出 #include stdio.h void main( ) { float a, b, c, t ; scanf( “%f,%f,%f”, a, b, c ); ……… printf(“%5.2f, %5.2f, %5.2f\n”, a, b, c ); } 顺序结构 顺序结构 expr2 …… break; …... 假(0) 真(非0) for expr1 expr3 例 :分析程序的运行结果。 void main( ) { int x=1, y=0, a=0, b=0; switch(x) { case 1: switch(y) { case 0: a++; break; case 1: b++; break; } case 2: a++;b++; break; case 3: a++;b++; break; } printf(“a=%d, b=%d”, a, b); } 运行结果:a=2, b=1 例:编写程序,对输入的考试分数按照90分以上A等,89~80分B等,79~70分C等,69~60分D等,60分以下E等划分等级,并输出结果。 void main() { int score; char grade; scanf(“%d”, score); if ( score=90 ) grade = ‘A’; else if ( score = 80 ) grade = ‘B’; else if ( score = 70 ) grade = ‘C’; else if ( score = 60 ) grade = ‘D’; else grade = ‘E’; printf( “grade = %c \n”, grade); } void main() { int score, s; char grade; scanf(“%d”, score); s = score / 10 ; switch ( s ) { case 10: case 9: grade = ‘A’; break; case 8: grade = ‘B’; break; case 7: grade = ‘C’; break; case 6: grade = ‘D’; break; case 5: case 4: case 3: case 2: case 1:case 0: grade = ‘E’; break; default: printf(“Error\n”); break; } } 条件运算 条件运算符: ? : 三目运算符 条件表达式 表达式1?表达式2:表达式3 语义:先计算表达式1的值,若结果为非0,则以表达式2的值作为整个条件表达式的值;若为0,则以表达式3的值作为整个条件表达式的值。 例如: (x0) ? 1 : -1 例:对键盘输入的字符判断其是否为大写字母,若是,就转换成小写字母,其余字符不变。 #include stdio.h void main( ) { char ch; scanf( “%c”, ch); ch = ( ch=’A’ ch=‘Z’) ? (ch+32) : ch; printf(“%c”, ch); } [例3-7] 求一元二次方程 a x2 + b x + c = 0 的根。 (1) a = 0, 不是二次方程 (2) b2 – 4ac = 0, 有两个相等实根。 (3) b2 – 4ac 0, 有两个不等实根。 (4) b2 – 4ac 0, 有两个共轭复根。 void main() { …… if (
显示全部
相似文档