程序的控制结构.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:64 大小:1.4MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

程序的控制结构.ppt

程序的控制结构.ppt

预览

免费试读已结束,剩余 54 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第三章程序的控制结构问题提出:3.3.1if语句例3-1:读程序,理解数值作为if表达式例3-2:读程序,理解”==”与”=”的作用及区别if(表达式){语句1;}else{语句2;}例3-3:输入一个整数,判断该整数的奇偶性例3-4:读程序,理解浮点数的运算与比较注意:有的if-else语句可以用条件运算符(?:)来实现例3-5:输入一个英文字符,若为大写则改为小写,输出得到的字符。if(表达式1)语句1;elseif(表达式2)语句2;……elseif(表达式n)语句n;else语句n+1;表达式1例3-6:将0~100分的百分制换算成A~E的五级学分制。例3.7:计算分段函数:语句形式:语句执行流程:例3-8:按照考试成绩等级打印出百分制分数段。switch的嵌套:switch语句允许嵌套,即switch本身可以作为另一个层switch语句的一部分switch几个注意点在C语言中有三种循环结构:while,do-while和for循环,利用有关的运算符构造表达式,以控制循环的执行。3.2.1while语句3、说明:例:分析下列程序段的循环次数例3-9:用while编程实现1~100的和。例3-10:用while语句计算n!。注意3.2.2do--while语句例3-10:用do-while编程实现1~100的和。例3-11:用while语句计算5!。3、说明:在if、while语句中,表达式后面都没有分号,而在do-while语句的表达式后面则必须加分号。3.2.3for语句表达式3例3-13:用for语句编程实现1~100的和。例3-14:用for语句编程计算1~9的平方。注意:(1)在进入累加前先给累加器赋初值(一般为0);(2)用循环语句实现累加;for(循环变量赋初值;循环条件;循环变量改变规律)(3)循环体语句的设计。累加器当前值=累加器原值+循环变量当前值;累加器赋初值(1)给累乘器赋初值,一般为1;(2)用循环语句实现累乘;for(循环变量赋初值;循环条件;循环变量改变规律)(3)循环体设计。累乘器当前值=累乘器原值*循环变量当前值;累乘器赋初值在循环体语句中又包含有另一个完整的循环结构的形式,称为循环的嵌套。如果内循环体中又有嵌套的循环语句,则构成多重循环。下面几种都是合法的形式:(1)while()(2)do(3)for(;;){…{…{while()dofor(;;){…}{…}{…}}while();}}while();(4)while()(5)for(;;)(6)do{…{…{…do{…}while()for(;;){}while(){}…{…}…}}}while()循环语句之间的关系真例3-15编程输出如下形式的九九乘法表#include<stdio.h>voidmain(){inti,j;for(i=1;i<=9;i++)printf(“%4d”,i);/*打印表头,第一行*/printf("\n");for(i=1;i<=36;i++)printf("%c",'-');printf("\n");for(i=1;i<=9;i++)/*被乘数i从1变到9*/{for(j=1;j<=9;j++)/*乘数j从1变到9*/printf(“%4d”,i*j);/*输出第i行j列的值i*j*/printf(“\n”);/*换行,打印下一行*/}}1.break语句例3-16:计算半径为1,2…8的圆面积,但当面积大于100时结束计算。例3-17:break语句用法示例(1)语句形式:continue;例3-18:continue语句用法示例例3-19:输出1~50之间不能被3整除的数。while(条件){语句A;break;语句B;}while(条件){语句A;continue;语句B;}#include"stdio.h"voidmain(){inta,b;for(a=1,b=1;a<=10;a++){if(b>=10)break;if(b%3==1){b+=3;continue;}}printf("%d\n",a);}3.3编译预处理3.3.1宏替换不带参数宏定义一般形式:#define宏名[宏体]功能:用指定标识符(宏名)代替字符序列(宏体)带参数宏定义一般形式:#define宏名(参数表)宏体#include<stdio.h>#definePI3.1415926#defineS(r)PI*r*rvoidmain(){floata,Area;scanf(“a=%f”,&a);Area=S(a);printf("Area=%f\n",a,Area)