程序控制结构教材

上传人:F****n 文档编号:95442755 上传时间:2019-08-18 格式:PPT 页数:55 大小:489KB
返回 下载 相关 举报
程序控制结构教材_第1页
第1页 / 共55页
程序控制结构教材_第2页
第2页 / 共55页
程序控制结构教材_第3页
第3页 / 共55页
程序控制结构教材_第4页
第4页 / 共55页
程序控制结构教材_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《程序控制结构教材》由会员分享,可在线阅读,更多相关《程序控制结构教材(55页珍藏版)》请在金锄头文库上搜索。

1、C语言程序设计,程序控制结构,C语言的语句,C语言中语句以分号“;”结束,语句分为: 1.声明语句:在程序编译时处理,在程序运行时不产生相应的操作。 2.执行语句:在程序运行时向计算机系统发出操作命令,使计算机执行特定的操作。,void main() int i; /*声明语句*/ printf(“%dn“,(i=1,+i); /*执行语句*/ ,C语言的执行语句,表达式语句:表达式加分号“;” 空语句:仅一个分号“;”构成的语句 复合语句:用一对花括号括起来的多条语句 控制语句:C语言提供9种控制语句,见P62,#include void main() int i; i = abs(-2);

2、 /*表达式语句(赋值语句) 空语句*/ printf(“%dn“,i); /*表达式语句(函数调用语句)*/ ,C语言的执行语句,#include void main() int a,b; printf(“Please input a,b:n“); scanf(“%d,%d“, ,程序控制结构,程序的三种基本结构 顺序结构:程序执行按照代码书写顺序执行 选择结构: 循环结构:,if 语句 switch语句,当型循环结构(for语句、while语句) 直到型循环结构(do-while语句),顺序结构,所谓顺序结构程序就是按代码书写顺序,自上而下执行的语句构成的程序段。 一般顺序结构的流程图为:

3、,动作1,动作2,动作3,例:计算两个键盘输入的整数的平均值并输出。,开始,输入两个整数,计算平均值,定义三个变量,输出平均值,结束,#include main() int a,b; float average; printf(“Please input a,b:n“); scanf(“%d,%d“, ,选择结构,C语言的选择控制语句有两条: 条件选择语句:if语句 开关分支语句:switch语句,一、if语句的三种形式 1、if(表达式) 语句,例:输入一个字母,以小写形式输出该字母。,#include main() char c; printf(“Input a letter:“); c=

4、getchar(); if(c=A ,开始,输入一个字母,定义一个字符变量,输出字母,结束,大写字母?,转换为小写字母,真(非0),假(0),选择结构,一、if语句的三种形式 2、 if(表达式) 语句1 else 语句2,例:输出实数x,y中的较大者。,#include main() float x,y; printf(“Input x,y:“); scanf(“%f,%f“, ,开始,输入两个实数,定义两个实型变量,输出x,结束,xy?,输出y,真(非0),假(0),选择结构,一、if语句的三种形式 3、 if(表达式1) 语句1 else if(表达式2) 语句2 . . . . . .

5、 else if(表达式n) 语句n else 语句n+1,例:输入百分制成绩,要求输出相应的五级制成绩。 百分制成绩与五级制成绩之间的转换标准为: 90分以上为“A”;8089分为“B”;7079分为“C”; 6069分为“D”;60分以下为“E”。,#include main() int score; printf(“Please input the score(0100):“); scanf(“%d“,else if(score=80) printf(“Bn“); else if(score=70) printf(“Cn“); else if(score=60) printf(“Dn“)

6、; else printf(“En“); getch(); ,例:在一对/*/之间补充程序,使对其输入的一个月工资数额,求应交税款。设应交税款的计算公式如下: 如: 输入:4500 输出:f(4500.00)=30.00 输入:6500 输出:f(6500.00)=195.00 输入:9500 输出:f(9500.00)=645.00,#include void main() float x;double y; printf(“Please input a number:n“); scanf(“%f“, ,if(x=3500) y=0; else if(x=5000) y=(x-3500)*0

7、.03; else if(x=8000) y=(x-3500)*0.1-105; else if(x=12500) y=(x-3500)*0.2-555;,if语句的嵌套,if语句的嵌套:一个if语句的if分支、else if分支或else分支中又完整地包含了另一个if语句。,书写代码时,写出层次关系,例:有如下一函数,请判断以下哪个程序是正确的?,程序1: main() int x,y; scanf(“%d“, ,例:有如下一函数,请判断以下哪个程序是正确的?,程序2: main() int x,y; scanf(“%d“, ,例:有如下一函数,请判断以下哪个程序是正确的?,程序3: mai

8、n() int x,y; scanf(“%d“, ,y=-1; if(x!=0) if(x0) y=1; else y=0;,例:有如下一函数,请判断以下哪个程序是正确的?,程序4: main() int x,y; scanf(“%d“, ,y=0; if(x=0) if(x0) y=1; else y=-1;,例:以下程序的输出结果是?,#include main() int a,b,c,x; a=b=c=0;x=35; if(!a)x-; else if(b);if(c)x=3; else x+=4; printf(“x=%dn“,x); ,x=38,int a=1; switch(a)

9、case 1:a+=1;break; case 2:a+=2;break; default:a+=0; printf(“%dn“,a);,选择结构,二、switch语句,switch 语句的一般形式: switch(表达式) case 常量表达式1:语句组1;break; case 常量表达式2:语句组2;break; case 常量表达式n:语句组n; break; default:语句组n+1; ,多分支选择结构:根据一个表达式的不同取值来实现对分支的选择。,#include main( ) char grade; grade=getchar(); grade=(grade=a ,每个分支

10、的常量的值必须互不相同,各个分支允许内嵌多个语句,而且可以不用括起来,最后一个分支可以不加break语句,#include main( ) char grade; grade=getchar(); switch(grade) default:printf(“Errorn“);break; case A:case a:printf(“90100n“);break; case B:case b:printf(“8089n“);break; case C:case c:printf(“7079n“);break; case D:case d:printf(“6069n“);break; case E

11、:case e:printf(“60n“);break; ,无论default分支是否最后出现,它都是作为最后一个分支来考虑,允许多个case共用一组执行语句,例:以下程序的输出结果是? main() int x=1,y=0,a=0,b=0; switch(x) case 1 : switch(y) case 0:a+;break; case 1:b+;break; case 2:a+;b+;break; case 3:a+;b+; printf(“a=%d,b=%dn“,a,b); ,a=2,b=1,break;,a=1,b=0,例:运行以下程序段,结果为:( ) int t=3; swit

12、ch(t) case 1:printf(“1“);break; case 2:printf(“2“);break; case 3:printf(“3“);break; default: printf(“Error!“); A) 1 B)2 C) 3 D) Error!,D,int t=49;,A,循环结构,循环结构的特点是在给定的条件成立时,反复执行某程序段,直到条件不成立。 循环条件:给定的条件 循环体:反复执行的程序段,C语言的循环控制语句有三种: while语句 do-while语句 for语句,循环结构(while),while(循环条件表达式) 循环体,main() int n=1,

13、sum=0; while(n=100) sum+=n; +n; printf(“n=%d,sum=%dn“,n,sum); ,去掉花括号?,while(n=100);?,循环结构(do-while),do循环体while(循环条件表达式);,main() int n=1,sum=0; do sum+=n+; while(n=100); printf(“n=%d,sum=%dn“,n,sum); ,勿忘分号“;”,While与do-while的比较,main() int sum=0,n; scanf(“%d“, ,main() int sum=0,n; scanf(“%d“, ,输入1时,结果相

14、同,都是输出55,输入11时,结果就不相同了,分别输出0和11,循环结构(for),for(表达式1;表达式2;表达式3) 循环体,main() int n,sum=0; for(n=1;n=100;n+) sum+=n; printf(“n=%d,sum=%dn“,n,sum); ,表达式1只执行一次,常用于对循环变量赋初值,表达式2:循环条件表达式,表达式3常用于循环变量的更新,每次执行完循环体后执行一次,循环结构(for结构的变形),main() int n,sum; for(n=1,sum=0;n=100;sum+=n,n+); printf(“n=%d,sum=%dn“,n,sum)

15、; ,for(,;表达式2;,) 循环体 /*表达式1、3用逗号表达式*/,for(;表达式2;表达式3) 循环体 /*表达式1缺省*/,main() int n=1,sum=0; for(;n=100;n+) sum+=n; printf(“n=%d,sum=%dn“,n,sum); ,for(;表达式2;) 循环体 /*表达式1、3缺省*/,main() int n=1,sum=0; for(;n=100;) sum+=n+; printf(“n=%d,sum=%dn“,n,sum); ,for(;) 循环体 /*表达式1、2、3都缺省*/,main() int n=1,sum=0; for(;) sum+=n+;if(n100)break; printf(“n=%d,sum=%dn“,n,sum); ,其它程序流程控制(break),break语句:在switch中退出switch结构;在循环中退出循环。,例:将数字512表示成两个数的和,这两个数分别为15和13的倍数。,main() int i; for(i=1;i+) if(!(512-i*15)%13)break; printf

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号