chap3分支结构-浙江大学计算机辅助设计与图形学国家.ppt

上传人:ga****84 文档编号:385886 上传时间:2018-09-30 格式:PPT 页数:43 大小:465.50KB
下载 相关 举报
chap3分支结构-浙江大学计算机辅助设计与图形学国家.ppt_第1页
第1页 / 共43页
chap3分支结构-浙江大学计算机辅助设计与图形学国家.ppt_第2页
第2页 / 共43页
chap3分支结构-浙江大学计算机辅助设计与图形学国家.ppt_第3页
第3页 / 共43页
chap3分支结构-浙江大学计算机辅助设计与图形学国家.ppt_第4页
第4页 / 共43页
chap3分支结构-浙江大学计算机辅助设计与图形学国家.ppt_第5页
第5页 / 共43页
点击查看更多>>
资源描述

1、Chap 3 分支结构,3.1 统计输入的一批字符中各类字符的数量 3.2 查询自动售货机中商品的价格 3.3 分支结构程序设计,1,3.1 统计输入的一批字符中各类字符的数量,例3-1 输入10个字符,统计其中英文字母、数字字符和其他字符的个数。 3.1.1 程序解析3.1.2 字符类型3.1.3 字符数据的输入和输出 3.1.4 逻辑运算3.1.5 else-if 语句,2,3.1.1 程序解析,#include int main(void) int digit, i, letter, other; char ch; digit = letter = other = 0; printf(“

2、Enter 10 characters: ); for(i = 1; i = a ,input 10 characters: Reold 123?letter=5, digit=3, other=2,多层缩进的书写格式使程序层次分明,3,3.1.2 字符类型,char ch; (ch = a & ch = A & ch = 0 & ch = a & ch = A & ch = 0 & ch 1)&(y1) (x1)|(y1) (x1)!(x1) 即 x= a) & (ch = a & ch = a & ch = A & ch = a 实现多路选择,15,else if 语句,if (表达式1)

3、 语句1else if (表达式2) 语句2else if (表达式n-1) 语句n-1else 语句n,if(ch = a ,16,分段计算水费,例3-3 分段计算水费,17,源程序-分段计算水费,# include int main(void) double x, y; printf(Enter x:); scanf(%lf, ,18,3.2 查询自动售货机中商品的价格,例3-4 查询自动售货机中商品的价格3.2.1 程序解析3.2.2 switch语句,19,3.2.1 程序解析,假设自动售货机出售4种商品,薯片(crisps)、爆米花(popcorn)、巧克力(chocolate)和可

4、乐(cola),售价分别是每份3.0、2.5、4.0和3.5元。在屏幕上显示以下菜单,用户可以连续查询商品的价格,当查询次数超过5次时,自动退出查询;不到5次时,用户可以选择退出。当用户输入编号14,显示相应商品的价格;输入0,退出查询;输入其他编号,显示价格为0。1 Select crisps2 Select popcorn 3 Select chocolate4 Select cola 0 Exit,20,#include Int main(void) int choice, i; double price; for( i = 1; i = 5; i+) printf(1 Select c

5、risps n); printf(2 Select popcorn n); printf(3 Select chocolate n); printf(4 Select cola n); printf(0 exit n); printf(Enter choice: ); scanf(%d, ,1 Select crisps2 Select popcorn 3 Select chocolate4 Select cola 0 ExitEnter choice: 1price = 3.01 Select crisps2 Select popcorn 3 Select chocolate4 Select

6、 cola 0 ExitEnter choice: 7price = 0.01 Select crisps2 Select popcorn 3 Select chocolate4 Select cola 0 ExitEnter choice: 0Thanks,21,3.2.2 switch语句,处理多分支选择问题,3种情况1、在switch语句的每个语句段中都使用break语句switch(表达式) case 常量表达式1:语句段1; break; case 常量表达式2:语句段2 ; break; . case 常量表达式n:语句段n ; break; default : 语句段n+1 ;

7、break;,22,switch(表达式) case 常量表达式1:语句段1; break; case 常量表达式2:语句段2 ; break; . case 常量表达式n:语句段n ; break; default : 语句段n+1 ; break;,switch (choice) case 1: price=3.0; break; case 2: price=2.5; break; case 3: price=4.0; break; case 4: price=3.5; break; default: price=0.0; break;,用else-if 如何实现?,23,求解简单表达式,

8、例3-5 输入一个形式如“操作数 运算符 操作数”的四则运算表达式,输出运算结果。例如:输入:3.1+4.8 输出:7.9,24,源程序,# include int main(void) char operator; double value1, value2; printf(Type in an expression: ); scanf(%lf%c%lf, ,Type in an expression: 3.1+4.8 =7.9,25,2、在switch中不使用break,switch(表达式) case 常量表达式1:语句段1; case 常量表达式2:语句段2; . case 常量表达式

9、n:语句段n; default : 语句段n+1;,26,switch(表达式) case 常量表达式1:语句段1; case 常量表达式2:语句段2; . case 常量表达式n:语句段n; default : 语句段n+1;,switch (choice) case 1: price=3.0; case 2: price=2.5; case 3: price=4.0; case 4: price=3.5; default: price=0.0;,price=?,27,3、在switch的某些语句段中使用break,例3-6 输入10个字符,分别统计出其中空格或回车、数字和其他字符的个数。,

10、例3-1 输入10个字符,统计其中英文字母、数字字符和其他字符的个数。,28,int main(void) int blank, digit, i, other; char ch; blank = digit = other = 0; printf(Enter 10 characters: ); for(i = 1; i = 10; i+) ch = getchar(); switch (ch) case : case n: blank +; break; case 0 : case 1 : case 2 : case 3 : case 4 : case 5 : case 6 : case 7

11、 : case 8 : case 9 : digit +; break; default: other +; break; printf(blank=%d, digit=%d, other=%dn, blank, digit, other); return 0;,Enter 10 characters: Reold 123?blank=1, digit=3, other=6,29,3.3 分支结构程序设计,分支结构一般分为二分支和多分支两种结构用条件语句(if 和 switch)实现选择3.3.1 二分支结构和基本的 if 语句3.3.2 多分支结构与嵌套的 if 语句和switch语句,30

12、,3.3.1 二分支结构和基本的 if 语句,if (表达式) 语句1else 语句2,if (表达式) 语句1,一条语句,31,判断数字的奇偶性,例3-7 输入1个整数,判断该数是奇数还是偶数。,number % 2 = 0,32,源程序-判断数字的奇偶性,#include int main(void) int number; printf(Enter a number: ); scanf(%d, ,33,求绝对值,例3-8 输入1个整数,输出它的绝对值 。,当number = 0时,number = ?,34,源程序-求绝对值,#include int main(void) int num

13、ber; printf(Enter a number: ); scanf(%d, ,Enter a number: 10 The absolute value is 10.,Enter a number: -300 The absolute value is 300.,35,3.3.2 多分支结构与嵌套的 if 语句和switch语句,多分支结构有多种形式实现方法:嵌套的 if 语句 else if 语句嵌套的 if - else语句switch语句,36,嵌套的 if 语句,if (表达式) 语句1else 语句2,if 语句,if 语句,else if 语句 嵌套的 if - else语句

14、,37,if (表达式1) 语句1else if(表达式2) 语句2else if(表达式n-1) 语句n-1else 语句n,else if 语句,n个分支需要n-1次比较,38,嵌套的 if else 语句,if(表达式1)if(表达式2) 语句1else 语句2 elseif(表达式3) 语句3 else 语句4,39,if (x 1) y = x + 1; else if (x 2) y = x + 2;else y = x + 3;,if (x 2) if (x 1) y = x + 1; else y = x + 2;else y = x + 3;,2种嵌套if语句的比较,40,e

15、lse 和 if 的匹配,if(表达式1)if(表达式2) 语句1else 语句2 elseif(表达式3) 语句3 else 语句4,if(表达式1)if(表达式2) 语句1 elseif(表达式3) 语句3 else 语句4,else 与最靠近它的、没有与别的 else 匹配过的 if 匹配,if(表达式1)if(表达式2) 语句1 elseif(表达式3) 语句3 else 语句4,41,改变else 和 if 的配对,例3-10 改写下列 if 语句,使 else 和第1个 if 配对。 if (x 2) if (x 1) y = x + 1; else y = x + 2;,if (x 2) if (x 1) y = x + 1; else y = x + 2;,if (x 2) if (x 1) y = x + 1; else;else y = x + 2;,每条语句的执行条件?,42,本章要点,什么是分支结构?它的作用是什么? switch 语句中的 break 起什么作用? 逻辑运算和关系运算的相同之处是什么?它们之间又有什么不同? 字符型数据在内存中是如何存储的?,43,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。