《C语言第四章顺序和选择结构程序设计.ppt》由会员分享,可在线阅读,更多相关《C语言第四章顺序和选择结构程序设计.ppt(17页珍藏版)》请在装配图网上搜索。
1、4.1 结构化程序设计,结构化程序设计至少有三个特点 1.程序结构清晰、易读 2.提高编程质量、效率、避免重复性劳动 3.提高编译速度,减少内存开销,三种控制结构流程图,第四章 顺序和选择结构程序设计,有三种基本结构: 顺序结构自上而下顺序执行。 选择结构在多种分支中,根据条件的成立与否选择执行某个分支。 循环结构根据需要重复执行某部分。有当型和直到型两种类型,1.表达式语句 一般格式: 表达式;,4.2 语句与分程序,语句:是源程序的基本组成部分 根据语句的组成机制有五种分类:,例: a=5; z=x+y; i+ ;,2. 函数调用语句 一般格式: 函数调用 ;,例: scanf(“%d”,。
2、3. 空语句 一般格式:;,例: int i=0; while (i+ 5) ; printf(“%d”,i );,复合语句与分程序 一般格式: 数据说明 (只用于分程序) 语句序列 ,说明: 1. 复合语句在语法上相当于一条简单语句。 2. 后不接“ ; .,5. 控制语句 用于控制程序流程的语句。,说明:C 有9种控制语句:if 、switch 、while、 dowhile、for、break、goto、continue、return,例: if( i10 ) int a=2; b=a+8; printf(“ %d”, b); ,4.3 顺序结构程序设计,顺序结构:自上而下顺序书写程序语。
3、句。,例:编写程序,交换 x 和 y 的值。 main( ) int x,y, temp; printf(“nPlease input two int numbers:”); scanf(“%d %d”, ,4.4 选择结构程序控制,选择结构又称分支结构,有两种控制语句: 条件语句 ( if ) 开关语句 ( switch ),一. if 条件语句 用来判定所给定的条件是否满足,根据判定的结 果(真或假)决定执行给出的两种操作之。if 语句 有三种形式。,1. if ( 条件 ) ,例: if (ab ) max = a ;,2. if (条件) else ,例: if (ab) max = 。
4、a; else max = b;,3. if (条件1) elseif (条件2) elseif (条件3) elseif (条件n-1) else ,例: if ( score = 90 ) grade = A ; else if ( score = 80 ) grade = B ; else if ( score = 70 ) grade = C ; else if ( score = 60 ) grade = D ; else grade = E ;,说明: 1). if 后的(条件)可以是任意的数据类型.一般 为关系表达式或逻辑表达式。,2). 每种形式的if 语句都是作为整体存在的一。
5、条语 句,else 子句不能单独使用,它必须是if语句的一部 分,与 if 配对使用。,例: if ( 3 ) printf( “ok”) ; if ( a,其实上述 if 语句的三种形式可以综合应用,相互嵌套,如:,注意: else 总是与它上面最近的未配对的 if 配对。,4. if 语句的嵌套 在if 语句中又包含一个或多个if 语句,称为 if 语句的嵌套。一般形式如下: if ( ) if ( ) 语句 1 else 语句 2 else if ( ) 语句 3 else 语句 4,3). if 和 else 后面的语句也可以是复合语句。,例: if ( a+bc ,4 ). 采用缩进。
6、格式书写,以增加程序的可读性。,例 1 : 输入一个 x 值,输出 y 的值。,if 语句应用示例,y=x0?1:0);,main() float f1, f2, f3, temp; printf(“Please input 3 number :”) ; scanf(“%f %f %f”, ,例2: 键入三个数,排序后,按由小到大的顺序输出。,二. switch 语句(开关语句),一般格式:,switch(表达式) case 常量表达式1: 语句序列1 ; break; case 常量表达式2: 语句序列2 ; break; . case 常量表达式n: 语句序列n ; break; defa。
7、ult : 语句序列n+1 ,用于多分支选择。,说明: switch、case、 break、default 是关键字; 通常用整型数值或字符常量 ; 可空; break 、 default 可省。,switch( grade ) case A: printf(“90100n”) ; break; case B: printf(“8089n”) ; break; case C: printf(“7079n”) ; break; case D: printf(“6069n”) ; break; default : printf(“errorn”); ,语法规则:,(1)计算 switch 后括号。
8、中的表达式的值。,(2)从上至下与 case 后的值相比较,寻找 switch语 句的入口。,(3)以与其匹配(相等)的 case 为入口,顺序执行 其后的每一条语句,直到遇到break 语句时,退 出该开关语句。,(4)如没有匹配的 case ,则执行 default后面的语 句序列。如没有 default ,则退出该开关语句。,switch(表达式) case 常量表达式1: 语句序列 1 ; break; case 常量表达式2: 语句序列 2 ; break; . case 常量表达式n: 语句序列 n ; break; default : 语句序列 n+1 ,注意:, default。
9、 可以省略,也可以放在 switch 语句中的 任何地方。,switch( grade ) case A: printf(“90100n”) ; break; case B: printf(“8089n”) ; break; default : printf(“errorn”); break; case C: printf(“7079n”) ; break; case D: printf(“6069n”) ; break; , 不能有重复的 case 常量表达式: 。, case 常量表达式: 只起语句标号的作用,不进 行条件判断。, 多个 case 可以共用一组执行语句。,switch( grade ) case A: case B: case C: case D: printf(“60n”) ; , 中的多条语句无需加花括号。, 第一个匹配的case之前的语句永远不被执行。, 允许嵌套使用switch语句。,switch 语句应用示例,1,2,3,Output: Enter a character: 5 It is a non- digtier .,分析下列程序的输出结果。,三种控制结构流程图。