c语言 选择型程序设计 精品
第四章 选择型程序设计 目录 §1 C语言程序基本结构 §1 C语言程序基本结构 3.1.1 C语句概述 C程序的特点 3.1.2 表达式语句 一. 表达式 二 表达式语句 三. 赋值语句 3.1.3 C程序的基本结构 一、顺序结构 二、选择结构 三、循环结构 1. 当型循环 2. 直到型循环 3.1.4 流程控制语句 3.1.5 复合语句 3.1.6 空语句 §2 if 语句 §2 if 语句-选择结构程序设计 3.2.1 条件语句 一、 if 语句的三种基本形式 2. 带分支的条件语句 程序举例格式一 程序举例格式二 3. 多分支的 if 结构 程序举例 有关 if 语句的说明 程序举例:计算本利合计 二、 if 语句的嵌套 if语句的嵌套流程图 程序举例:判断两数的关系 程序举例 §3 switch 语句 §3 switch语句 (多分支结构程序设计) 3.3.1 开关语句 程序举例 注意事项 switch语句流程图 3.3.2 程序分析:四则运算 程序举例2 程序举例2 (续) 选择语句小结 §4 应用实例 §4 应用实例 应用实例流程图 应用实例程序 上机与作业二 E N D 交作业注意事项 TC 上机介绍 综合实例:判断输入整数的正负性和奇偶性。 switch(表达式) case 常量1 case 常量n default: { } 语句1 =常量1? 计算表达式的值 break; 语句2 =常量2? break; 语句n+1 有default? Y N N N Y Y main() { float x,y; char c; double r; scanf(“%f,%f,%c”,&x,&y,&c); switch(c) { case ‘+’ : r=x+y; break; case ‘-’ : r=x-y ; break; case ‘*’ : r=x*y ; break; case ‘/’ : r=x/y ; break; } printf(“%lf”,r); } 当输入3,5,+之后 r的值为8.000000 如果没有break语句, 会顺序执行下面的 r=x-y; r=x*y; r=x/y; 则 :最后的结果为? 例:输入年,月,计算该月有多少天? main( ) { int year,month,days; printf(“Enter year&month\n”); scanf(“%d,%d”,&year,&month); switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: days=31; break; 几个CASE 执行相同的 语句 跳出开关结构 /* 处理“大”月 */ 关系到如何判闰年? case 4: case 6: case 9: case 11: days=30 ; break; case 2: if ((year%4==0)&&(year%100!=0) ||(year%400)==0) days=29; else days=28; break; default:printf(“Enter error!\n”); days=0; break; } if (days!=0) printf(“%d\n”,days); } 判断是否 为闰年 开关结 构结束 /* 处理“小”月 */ /*处理“平”月*/ 二、开关语句(基本形式,功能,要求,break 的作用,和default的作用) 一、if语句的基本形式,分支形式,多分支形式,以及嵌套形式 else与if 的匹配 三、 需注意的问题: 1. 自增,自减作为if的条件时,边界条件的处理 2. if中的复合语句{ } 输入两个整数,若它们的平方和大于100,则输出平方和百位以上的各数字,否则输出两个整数的和。 c=a*a+b*b 输入a,b C>100 d=c/100 输出a+b 输出c,d Y N 对于一个整数,取前几位(百位以上)用除法;取后几位(百位以下),用取模运算。 例如:当K=12345时 前三位:K/100=123 后两位:K%10