C语言程序设计第五讲(2010级)
第四章 选择结构程序设计 4.1 算法 4.1 算法 算法——解决某一问题所采取的方法和步骤。 4.1 算法 解决某一问题的算法可以有多个 4.1 算法 4.1 算法 4.1 算法 4.1 算法 4.1 算法 ⒋用N-S流程图表示算法 ——用一些基本结构图框来表示算法的图形表示法。 例 :读程序。 main( ) { int a=2, b=1, c=2; if (a) if ( b<0 ) c=0; else c++ ; printf("%d\n",c); } 例 :读程序。 程序 : main( ) { int a, b, c, max ; printf (”请输入三个整数:%%d%%d%%d\n”); scanf( "%d%d%d", &a, &b, &c ); if ( a>=b ) if ( a>=c ) max=a; else max=c; else if ( b>=c ) max=b; else max=c; printf (”\n最大数为:%d\n”,max ); } switch语句执行过程: 执行: 若表达式 == 常量表达式, 则执行语句; 若表达式 != 常量表达式, 则执行default开始的(语句); 例: 输入一个0~2的数并输出,否则输入错误。 main( ) { int x; printf("请输入一个0—2的整数:" ); scanf("%d", &x); switch ( x ) { case 0 : printf("输入0。\n"); case 1 : printf("输入1。\n"); case 2 : printf("输入2。\n"); default : printf("输入错误!\n" ); } } 说明: 表达式:可以是整型表达式,或字符表达式。 4.4 用switch语句实现多分支选择结构 case 常量表达式1~(n-1):case也是关键字。 常量表达式应与switch后的表达式类型相同,且各常量表达式的值不允许相同。 说明: 语句1~n:可省略,或为单语句,或为复合语句。 default:关键字,可省略,也可出现在switch语句体内的任何位置。 4.4 用switch语句实现多分支选择结构 break语句 格式: break; 功能:跳出当前语句的执行,执行当前语句的下一条语句。 用法:只能用在switch语句和循环体中。 4.4 用switch语句实现多分支选择结构 计算:计算表达式的值。 判断:表达式的值与常量表达式的值是否相等。 4.4 用switch语句实现多分支选择结构 注意: 表达式及常数表达式(由常数、符号常量组成的表达式)必须为整型,故它们也可用字符表达式。 4.4 用switch语句实现多分支选择结构 程序运行结果: 请输入一个0—2的整数:1 ↙ 输入1。 输入2。 输入错误! 4.4 用switch语句实现多分支选择结构 4.4 用switch语句实现多分支选择结构 例:x=3; switch ( x ) { case 0 :printf(“Ture!”) case 1 : printf(“False"); } 该switch语句不执行任何操作 多个case可以共同使用一个语句序列 4.4 用switch语句实现多分支选择结构 例:switch(n) { case 1 : case 3 : case 5 : case 7 : case 9 :printf(”奇数 \n”); break ; case 0 : case 2 : case 4 : case 6 : case 8 :printf(”偶数 \n”); break ; } 该switch语句中,当n=1,3,5,7,9时,输出“奇数”; 当n=0,2,4,6,8时,输出“偶数”; 例: 编程 计算 y 的值。 4.4 用switch语句实现多分支选择结构 #include "math.h" void main ( ) { float x , y ; int m ; print