第4章 选择结构程序设计.

Slides:



Advertisements
Similar presentations
诚信为本、操守为重、坚持准则、不做假账 第 九 章 会 计 报 表.
Advertisements

5 选择结构.
C#程序设计案例教程 第3章 程 序 结 构.
第一章 C语言概述 计算机公共教学部.
大数的认识 公顷和平方千米 角的度量、平行四边形和梯形 四年级上册 三位数乘两位数 除数是两位数的除法 统计.
财经法规与会计职业道德 (3) 四川财经职业学院.
第十二单元 第28讲 第28讲 古代中国的科技和文艺   知识诠释  思维发散.
存货的核算 一、项目任务 1、原材料核算 ——按实际成本核算 ——按计划成本核算 2、低值易耗品及包装物核算 3、存货清查的核算
C语言实验 第一课 标题:学号+姓名.
第4章 选择结构程序设计 在现实生活中,需要进行判断和选择的情况是很多的 如果你在家,我去拜访你 如果考试不及格,要补考
C语言程序设计 第十二章 位运算.
程序设计基础.
C语言程序设计 第五章 选择结构程序设计.
高级语言程序设计 主讲人:陈玉华.
第2章 分支结构 P if语句 2.2 switch语句 2.3 用条件运算符转换大小写字母 2.4 程序举例
循环结构又称为重复结构:用来处理需要重复处理的问题,它是程序中一种很重要的结构。
Class 2 流程控制-選擇敘述與迴圈.
第3章 顺序结构程序设计 本章要点: 格式化输出函数──printf() 格式输入函数——scanf() 字符输出函数——putchar()
適用於多選一 可減少if 與 else配對混淆的錯誤.
第4章 选择结构程序设计 4.1 选择结构和条件判断 4.2 用if语句实现选择结构 4.3关系运算符和关系表达式
第4章 选择结构程序设计 4.1 选择结构和条件判断 4.2 用if语句实现选择结构 4.3关系运算符和关系表达式
C程序设计.
第五章 选择结构程序设计 一、关系运算符和表达式 1、关系运算符 在程序中经常需要比较两个量的大小关系, 以决定程序下一步
第3章 C语言的基本语句 和程序结构设计.
QQ: 李祥 QQ: 欢迎多种方式的学习交流,祝大家学有所成.
第4章 选择结构程序设计 4.1 关系表达式和逻辑表达式 关系表达式 1.关系运算符 关系运算符是比较两个操作数大小的符号。
第5章 堆疊(Stacks) 5-1 堆疊的基礎 5-2 堆疊的表示法 5-3 堆疊的應用 - 運算式的計算與轉換
Chap 3 分支结构 3.1 简单的猜数游戏 3.2 四则运算 3.3 查询自动售货机中商品的价格.
C语言 程序设计基础与试验 刘新国、2012年秋.
Chap 3 分支结构 3.1 统计输入的一批字符中各类字符的数量 3.2 查询自动售货机中商品的价格 3.3 分支结构程序设计.
第3章 选择结构与循环结构 王德俊 上海交通大学继续教育学院.
第3讲 C++程序控制结构 3.1 顺序结构 3.2 分支结构 3.3 循环结构 3.4 转向控制 3.5 综合案例分析.
第二章 Java语言基础.
2.1 C语言的数据类型 2.2 常量与变量 2.3 变量赋初值 2.4 各类数值型数据间的混合运算 2.5 C语言的运算符和表达式
第七章 操作符重载 胡昊 南京大学计算机系软件所.
第九章 预处理命令.
第四章 选择结构程序设计 计算机科学学院.
第1章 概述 本章要点: C语言程序结构和特点 C语言程序的基本符号与关键字 C语言程序的编辑及运行 学习方法建议:
第4章 PHP流程控制语句.
目录 9.1 结构体类型 9.2 共用体类型 9.3 枚举类型 9.4 类型声明符typedef 1.
C语言概述 第一章.
第1讲 C语言基础 要求: (1) C程序的组成 (2) C语言的标识符是如何定义的。 (3) C语言有哪些基本数据类型?各种基本数
C语言大学实用教程 第5章 函数与程序结构 西南财经大学经济信息工程学院 刘家芬
程式結構&語法.
4 條件選擇 4.1 程式基本結構 循序式結構 選擇式結構 重複式結構 4-3
第 二 章 数据类型、运算符与表达式.
第一章 程序设计和C语言 主讲人:高晓娟 计算机学院.
C语言程序示例: 1.输入10个数,按从小到大的顺序排序。 2.汉诺塔问题。.
目录 4.1选择结构程序设计的概述 4.2关系运算符和表达式 4.3逻辑运算符和表达式 4.4用if语句实现选择结构程序设计
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
浙江长征职业技术学院—计算机与信息技术系—相方莉制作
7.1 C程序的结构 7.2 作用域和作用域规则 7.3 存储属性和生存期 7.4 变量的初始化
第十四章 若干深入问题和C独有的特性 作业: 函数指针 函数作参数 函数副作用 运算 语句 位段 存储类别 编译预处理
C程序设计.
第一章 C语言概述 教师:周芸.
C语言程序设计 李祥 QQ:
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
基础会计.
第九节 赋值运算符和赋值表达式.
第二章 类型、对象、运算符和表达式.
第四章 选择结构程序设计 计算机科学学院.
学习目标 1、了解基本运算符 2、运算符优先级.
第八节 算术运算符和算术表达式.
第五章 逻辑运算和判断选取控制 §5.1 关系运算符和关系表达式
第十二章 位运算.
C/C++基礎程式設計班 C語言入門、變數、基本處理與輸入輸出 講師:林業峻 CSIE, NTU 3/7, 2015.
多重條件選擇敘述
C语言基本语句 判断循环.
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
本节内容 指针类型 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Presentation transcript:

第4章 选择结构程序设计

主要内容 一、选择结构概述 二、关系、逻辑表达式 三、单分支选择结构 四、双分支选择结构 五、多分支选择结构 六、选择结构的嵌套

一、选择结构概述 1、为什么要用选择结构? 来源于现实 如:汽车行驶中,如果交通灯是红色或黄色,则停止,否则通行

一、选择结构概述 2、选择结构的类型 单分支 双分支 多分支 N N 表达式? 表达式? Y Y 语句 语句1 语句2

二、关系、逻辑表达式 1、关系表达式 关系运算符: <、 <=、>、 >= ==、!= 优先级高 关系表达式: a>b , a+b>b+c, ’a’<‘b’, (a>b)>(b<c) 关系表达式的值是一个逻辑值,即“真”或“假”。

二、关系、逻辑表达式 2、逻辑表达式 逻辑运算符: &&、 ||、! 逻辑表达式: a&&b , a||b , ! a 值是一个逻辑值,即“真”或“假”。 优先次序: !(非)->&&(与)->||(或)

二、关系、逻辑表达式 设a=4,b=5: !a a&&b a||b !a||b 4&&0||2 2、逻辑表达式 值为0 值为1 值为1

三、单分支选择结构 1、实现单分支选择结构的语句—if 语句 单分支 N 表达式? If (表达式) 语句 Y 语句

三、单分支选择结构 2、单分支选择结构示例 例1、求a、b两数中较大的数。 #include <stdio.h> int main() { int a,b,max; printf(“input a b: ”); scanf(“%d%d”,&a,&b); max=a; if (a<b) max=b; printf(“the max is %d\n”,max); return 0; }

三、单分支选择结构 例2、从键盘上读入一个大写字符,转换为小写字符输出(要求判断是否是大写字母)。 #include <stdio.h> int main() { char c1,c2; printf(“input a character: ”); scanf(“%c”,&c1); if (c1>64 && c1<91) c2= c1+32; printf(“the Lowercase letter is %c\n”,c2); } return 0;

四、双分支选择结构 1、if 语句 If (表达式) 语句1; else 语句2;

四、双分支选择结构 例3、求a、b两数中较大的数(双分支)。 #include <stdio.h> int main() { int a,b,max; printf(“input a b: ”); scanf(“%d%d”,&a,&b); if (a<b) max=b; else max=a; printf(“the max is %d\n”,max); return 0; }

四、双分支选择结构 2、条件表达式 格式: 条件?表达式2:表达式3 如果 条件为真,则返回表达式2的值,否则返回表达式3的值

四、双分支选择结构 例4、求a、b两数中较大的数(条件表达式)。 #include <stdio.h> int main() { int a,b,max; printf(“input a b: ”); scanf(“%d%d”,&a,&b); max= (a<b)?b:a; printf(“the max is %d\n”,max); return 0; }

c1=( c1>64 && c1<91)?(c1+32):ch; 或者 四、双分支选择结构 例5、将大写字母转化为小写字母。 char c1; c1=( c1>64 && c1<91)?(c1+32):ch; 或者 c1=( c1>=’A’ && c1<=’Z’)?(c1+32):ch;

五、多分支选择结构 N N N 表达式1? 表达式2? … 表达式n? Y Y Y 语句1 语句2 语句n 语句n+1

a>0 a<0 a=0 五、多分支选择结构 1、If 语句实现 if 条件1 语句1 ; if 条件2 语句2 ; if 条件3 语句3 ; 1、If 语句实现 a>0 或: if 条件1 语句1 ; else if 条件2 语句2 ; 语句3 ; a<0 a=0

例7:输入一百分制分数,请转换为等级A,B,C,D。 五、多分支选择结构 2、Switch语句 例6:10086语音提示。 例7:输入一百分制分数,请转换为等级A,B,C,D。

五、多分支选择结构 2、Switch语句 表达式 否则 值1 值2 值n 语句1 语句2 语句n 语句n+1

五、多分支选择结构 2、Switch语句 (1) 设计要领:①先对要做的几个操作编号。 操作1 操作2 操作3 操作4 值集合 操作集合

五、多分支选择结构 2、Switch语句 1 2 3 5 4 (1) 设计要领: ②选取合适的某个表达式,让其取值能分别指向某个操作。 (1) 设计要领: ②选取合适的某个表达式,让其取值能分别指向某个操作。 操作1 操作2 操作3 操作4 1 2 值 表达式 3 5 4

五、多分支选择结构 (2) switch语句格式 switch(表达式 ) { 终止此分支语句 case 常量1:语句1; … case 常量n:语句n; default: 语句n+1; } 终止此分支语句 break;

五、多分支选择结构 (3) break语句 格式:break; 终止本次选择结构。

五、多分支选择结构 例8 将等级成绩转换为百分制成绩, A等为85分以上, B等为70-84之间, C等为 60-69分, 例8 将等级成绩转换为百分制成绩, A等为85分以上, B等为70-84之间, C等为 60-69分, D等为60分以下。 成绩的等级由键盘输入。

五、多分支选择结构 grade #include <stdio.h> void main() { 开始 char grade; printf(“请输入等级成绩: ”); scanf(“%C”,& grade); printf(“Your score: ”); switch(grade) case ‘A’: printf(“85~100\n”);break; case ‘B’: printf(“70~84\n”); break; case ‘C’: printf(“60~69\n”);break; case ‘D’: printf(“<60\n”);break; } 开始 输入等级grade grade D A B C “85~100” “70~84” “60~69” “<60” 结束

五、多分支选择结构 例9 运输公司对用户计算运费。 路程(s)越远,每公里运费越低。标准如下: s<250km 没有折扣 例9 运输公司对用户计算运费。 路程(s)越远,每公里运费越低。标准如下:    s<250km 没有折扣 250≤s<500 2%折扣 500≤s<1000 5%折扣 1000≤s<2000 8%折扣 2000≤s<3000 10%折扣 3000≤s 15%折扣 设每公里每吨货物的基本运费为p,货物重为w,距离为s,折扣为d,则总运费f的计算公式为: f=p*w*s*(1-d) 

五、多分支选择结构 分析折扣变化的规律性: 折扣的“变化点”都是250的倍数 取表达式为s/250 ,其值装入c。c代表250的倍数。 c< 1,无折扣; 1≤c<2,折扣d=2%; 2≤c<4,d=5%; 4≤c<8,d=8%; 8≤c<12,d=10%; c≥12,d=15%。

五、多分支选择结构 #include <stdio.h> void main ( ) { int c,s; float p,w,d,f; scanf("%f,%f,%d",&p,&w,&s); if(s>=3000) c=12; else c=s/250; switch(c){ case 0:d=0;break; case 1:d=2;break; case 2: case 3:d=5;break; case 4: case 5: case 6: case 7:d=8;break; case 8: case 9: case 10: case 11:d=10;break; case 12:d=15;break; } f=p*w*s*(1-d/100.0); printf("freight=%15.4f\n",f); }

五、多分支选择结构 例10 [简单计算器] 下面程序是实现一个简单的运算器(保留两位小数点): 例10 [简单计算器] 下面程序是实现一个简单的运算器(保留两位小数点): 如果由键盘输入 10+50,计算机可以输出结果 60.00; 如果输入 8*6,计算机输出 48.00; 如果输入 20/4,计算机输出 5.00; 如果输入 8-6,计算机输出 2.00, 请在空处填上适当的代码。

五、多分支选择结构 #include "stdio.h" void main() { float a,b,c; char op; scanf("%f%c%f", &a,&op,&b); switch (op) { case '+': ; case '-': ; case '*': ; case '/': ; default: printf("error"); return ; } printf("result= %f ", c); c=a+b;break c=a-b;break c=a*b;break c=a/b;break

六、选择结构的嵌套 在选择结构中又包含一个或多个选择结构。 如: if () 语句1; else 语句2; 语句3; 注意:if与else配对情况,else与最近的if 配对。

六、选择结构的嵌套 例11 有一函数 编一程序,输入一个x的值,要求输出相应的y值。 方法1:用三个独立的if语句来完成。 例11 有一函数 编一程序,输入一个x的值,要求输出相应的y值。 方法1:用三个独立的if语句来完成。 方法2:用if语句的嵌套。

六、选择结构的嵌套 例12 你的身材标准吗? 从键盘输入某人的身高和体重后,按照下面的方 法确定此人的体重是否标准。 例12 你的身材标准吗? 从键盘输入某人的身高和体重后,按照下面的方 法确定此人的体重是否标准。 标准体重=(身高-110)kg 超过标准体重5kg为过胖, 低于标准体重5kg为过瘦

六、选择结构的嵌套 #include <stdio.h> int main() { float height,weight; printf(“请输入您的身高和体重: ”); scanf(“%f,%f”,& height,& weight); if (weight> height-105) printf(“您的体重超重,请注意减肥.\n”); else if (weight< height-115) printf(“您的体重偏轻,请注意营养.\n”); printf(“您的体重刚好,请保持.\n”); return 0; }