伊犁师范学院计算机系:《C语言程序设计》第五章 选择结构程序设计

第五章选择结构程序设计 §5.1程序的三种基本结构 ★结构化程序设计 ◆基本思想:任何程序都可以用三种基本结构表示,限制使 用天条件转移语旬(goto) 结构化程序:由三种基本结构反复嵌套构成的程序叫 ◆优点:结构清晰,易读,提高程序设计质量和效率 ★三种基本结构 ◇顺序结构 B B 流程图 N-S图
第五章 选择结构程序设计 §5.1 程序的三种基本结构 结构化程序设计 ❖基本思想:任何程序都可以用三种基本结构表示,限制使 用无条件转移语句(goto) ❖结构化程序:由三种基本结构反复嵌套构成的程序叫~ ❖优点:结构清晰,易读,提高程序设计质量和效率 三种基本结构 ❖顺序结构 A B A B 流程图 N-S图

令选择结构 真 假 真假 ●二分支选择结构 A B B ●多分支选择结构 K=? K=? k=kn F K=1 k=kI =k2 k=ki K=2 A2 An Ai A2 Al
P A B 真 假 P A B 真 假 ❖选择结构 K=? A1 A2 Ai An k=k2 k=k1 k=kn k=ki ... ... ⚫二分支选择结构 ⚫多分支选择结构 K=? K=1 K=2 。。 T T T F F F Ai A2 A1

◇循环结构 假 当P为真 ◎当型循环结构 真 ◎直到型循环结构 A A 假 直到P为真 P 真 注:A,B,A1.…An可以是一个单语句,也可以是一个基本结构
❖循环结构 ⚫当型循环结构 ⚫直到型循环结构 P A 假 真 当P为真 A A P 真 假 A 直到P为真 注:A,B,A1….An可以是一个简单语句,也可以是一个基本结构

5.2过语旬(永件选择语旬) ☆if语旬的三种形式 0 expr ●形式一: ↓非0 格式:if( expression) statement statement ◆执行过程: 例:if(x>y) 非0 =0 expr printf(%d”,x); statementIstatementl statement2 else ◆执行过程: S例:if(x>y)max=x; e se max-y
§5.2 if 语句(条件选择语句) ❖if 语句的三种形式 ⚫形式一: ◆格式:if (expression) statement ◆执行过程: expr statement 非0 =0 例:if (x>y) printf(“%d”,x); expr statement1 statement2 非0 =0 ⚫形式二: ◆格式:if (expression) statement1 else statement2 ◆执行过程: 例:if (x>y) max=x; else max=y;

●形式三 if( expr1) statement ◆格式: else if(expr2) statement2 else if (expr3) statements ◆执行过程 else statement I 0 例:if( salary100 index=0.4 else if(salary>800) index=0.3 else if(salary>600) index=0.2 else if (salary>400) index=0.1 else index=0
⚫形式三: ◆格式: if ( expr1 ) statement1 else if (expr2 ) statement2 else if (expr3 ) statement3 …... [ else statementn ] expr1 statemnt1 非0 =0 expr2 expr3 statemnt2 statemnt3 statemntn 非0 非0 =0 =0 ◆执行过程: 例:if (salary>1000) index=0.4; else if (salary>800) index=0.3; else if (salary>600) index=0.2; else if (salary>400) index=0.1; else index=0;

●说明: ◆if后面的表达式类型任意 ◆语旬可以是复合语旬 如:a=b&x printf( (a=b,X=y); (3 printf(OK 例考虑下面程序的输出结果: #include main i int x,y; scant(“%d,%d”,&x,&y); if(x>y) V-X Compile error else x+;y++;} printf(“%d,%dn”,xy);
如:if(a==b&&x==y) printf(“a=b,x=y”); if(3) printf(“OK”); if(‘a’) printf(“%d”,’a’); ⚫说明: ◆if后面的表达式类型任意 ◆语句可以是复合语句 ◆ if(x) if(x!=0) if(!x) if(x==0) 例 考虑下面程序的输出结果: #include main() { int x,y; scanf(“%d,%d”,&x,&y); if(x>y) x=y; y=x; else x++; y++; printf(“%d,%d\n”,x,y); } Compile Error!

例求一个数的绝对值 Include mainO int x, y, printf( Enter an integer: ) scanf("od", &x); y-x, if(yabsolute value: %dn",x, y) 运行: Enter an integer:-12 integer: -12--->absolute value: 12
#include main() { int x,y; printf("Enter an integer:"); scanf("%d",&x); y=x; if(yabsolute value:%d\n",x,y); } 例 求一个数的绝对值 运行:Enter an integer:-12 integer:-12--->absolute value :12

例输入两个数并判断两数相等否 ch42.c*/ Include mainO int a b 运行: Enter integer a:12 printf("Enter integer a Enter integer b: 12+ scantron &a) a==b printf(" Enter integer b: scanf("d", &b) if(a-b) 运行: Enter integer a:12,J printf("a==bn") else Enter integer b: 9. printf("al=bn") al=b
/*ch4_2.c*/ #include main() { int a,b; printf("Enter integer a:"); scanf("%d",&a); printf("Enter integer b:"); scanf("%d",&b); if(a==b) printf("a==b\n"); else printf("a!=b\n"); } 例 输入两个数并判断两数相等否 运行:Enter integer a:12 Enter integer b:12 a==b 运行:Enter integer a:12 Enter integer b:9 a!=b

例判断输入字符种类 #include main( i char c printf("Enter a character c-getcharo if(c=o'&&c='A'&&c='a'&&c=z) printf("The character is a lower letter n else printf("The character is other characterin") 运行: nter a character:F1 The character is other character
#include main() { char c; printf("Enter a character:"); c=getchar(); if(c='0'&&c='A'&&c='a'&&c<='z') printf("The character is a lower letter\n"); else printf("The character is other character\n"); } 例 判断输入字符种类 运行:Enter a character: The character is a control character :8 The character is a digit 运行: Enter a character: D The character is a capital letter 运行: Enter a character: h The character is a lower letter 运行: Enter a character:F1 The character is other character

☆i语旬嵌賽 般形式: if(expr1) if(expr1) if(expr2) if (expr2) 内嵌if statement statement1 内嵌if else ese statement statement2 if(expr1) statement1 if(expr1) if(expr2) statement, eise dIse f(expr3) statement2内嵌if else statement3内嵌if if(expr3) statements else statement statement4均嵌ir
❖if语句嵌套: ⚫一般形式: if (expr1) if (expr2) statement1 else statement2 else if(expr3) statement3 else statement4 内嵌if 内嵌if if (expr1) if (expr2) statement1 else statement2 内嵌if if (expr1) if (expr2) statement1 else statement3 内嵌if if (expr1) statement1 else if(expr3) statement3 else statement4 内嵌if
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 伊犁师范学院计算机系:《C语言程序设计》第四章 简单C程序.ppt
- 伊犁师范学院计算机系:《C语言程序设计》第三章 数据类型、运犷符和表达式.ppt
- 伊犁师范学院计算机系:《C语言程序设计》第二章 程序的灵魂一算法.ppt
- 伊犁师范学院计算机系:《C语言程序设计》第一章 C语言概述.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)上机作业.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第八章 排序.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第七章 查找.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第六章 图.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第五章 树.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第四章 数组.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第三章 栈和队列.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第二章 线性表.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第一章 绪言.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第九章 查找 散列(Hashing)哈希表.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第9章 查找(静态查找表 二叉排序树 平衡二叉树(AVL树)).ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)动态查找结构.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第七章 图.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第6章 树和二叉树.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第五章 数组和广义表.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第4章 串.ppt
- 西北工业大学网络教育学院:《计算机系统结构》课程PPT讲义课件_序论.ppt
- 西北工业大学网络教育学院:《计算机系统结构》课程PPT讲义课件_第1章 计算机系统结构的基本.ppt
- 西北工业大学网络教育学院:《计算机系统结构》课程PPT讲义课件_第2章 数据表示与指令系统.ppt
- 西北工业大学网络教育学院:《计算机系统结构》课程PPT讲义课件_第3章 总线、中断与I.ppt
- 西北工业大学网络教育学院:《计算机系统结构》课程PPT讲义课件_第4章 存贮体系.ppt
- 西北工业大学网络教育学院:《计算机系统结构》课程PPT讲义课件_第3章习题处理.ppt
- 西北工业大学网络教育学院:《计算机系统结构》课程PPT讲义课件_第4章续 直接映象及其变换.ppt
- 西北工业大学网络教育学院:《计算机系统结构》课程PPT讲义课件_总复习.ppt
- 西北工业大学网络教育学院:《计算机系统结构》课程PPT讲义课件_总复习及模拟试题.ppt
- 《网络综合布线系统与施工技术》课程教学资源(学习资料)第1章 综合布线系统.pdf
- 《网络综合布线系统与施工技术》课程教学资源(学习资料)第2章 网络传输介质.pdf
- 《网络综合布线系统与施工技术》课程教学资源(学习资料)第3章 网络互联设备.pdf
- 《网络综合布线系统与施工技术》课程教学资源(学习资料)第4章 线槽规格和品种以及线缆的敷设.pdf
- 《网络综合布线系统与施工技术》课程教学资源(学习资料)第5章 网络总体方案设计.pdf
- 《网络综合布线系统与施工技术》课程教学资源(学习资料)第6章 综合布线的工程设计技术.pdf
- 《网络综合布线系统与施工技术》课程教学资源(学习资料)第7章 网络工程施工实用技术.pdf
- 《网络综合布线系统与施工技术》课程教学资源(学习资料)第9章 测试与测试的有关技术.pdf
- 《网络综合布线系统与施工技术》课程教学资源(学习资料)第10章 网络工程的验收与鉴定.pdf
- 《网络综合布线系统与施工技术》课程教学资源(学习资料)第11章 综合布线系统的有关标准与规范.pdf
- 《网络综合布线系统与施工技术》课程教学资源(学习资料)第12章 网络综合布线工程师.pdf