《C语言的基本结构与循环语句.pptx》由会员分享,可在线阅读,更多相关《C语言的基本结构与循环语句.pptx(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第四章第四章C51流程控制语句流程控制语句第一节、第一节、C语言的基本结构语言的基本结构 C语言是一种结构化编程语言,结构化语言的基本元素语言是一种结构化编程语言,结构化语言的基本元素是模块,是程序的一部分。是模块,是程序的一部分。每一个模块中,都只有一个出口和一个入口。每一个模块中,都只有一个出口和一个入口。结构化程序由若干模块组成,每个模块中包含若干个基结构化程序由若干模块组成,每个模块中包含若干个基本结构,而每个基本结构中可以有若干条语句。本结构,而每个基本结构中可以有若干条语句。C语言有三种基本结构:语言有三种基本结构:顺序结构顺序结构选择结构选择结构循环结构循环结构一、顺序结构顺序结
2、构是一种最基本的、最简单的编程结构。顺序结构是一种最基本的、最简单的编程结构。AB二、选择结构二、选择结构选择结构有两种形式:选择结构有两种形式:二选一结构二选一结构多选一结构多选一结构二选一结构二选一结构(if 语句语句):表达式为表达式为1?A1B0表达式为表达式为1?A10二、选择结构二、选择结构多选一结构多选一结构(switch语句语句):表达式的值表达式的值=?A1A2An.常量表达式常量表达式1常量表达式常量表达式2常量表达式常量表达式n三、循环结构三、循环结构循环语句有两种:循环语句有两种:先判断,后执行先判断,后执行先执行,后判断先执行,后判断先判断,后执行先判断,后执行(wh
3、ile,for):先执行,后判断先执行,后判断(dowhile):表达式为表达式为1?A10表达式为表达式为1?A10第二节第二节 选择语句选择语句选择结构有两种形式:选择结构有两种形式:多选一结构(多选一结构(switch/case语句)语句)复合语句:由一对大括号括起来的语句。复合语句:由一对大括号括起来的语句。例:例:c=a;a=b;b=c;二选一结构(二选一结构(if 语句)语句)一、一、if 语句的基本形式语句的基本形式if 语句的基本形式有四种:语句的基本形式有四种:1.if(表达式表达式)语句;语句;3.if(表达式表达式1)语句语句1;else if(表达式表达式2)语句语句2
4、;else if(表达式表达式3)语句语句3;.else if(表达式表达式n)语句语句n;else 语句语句n+1;2.if(表达式表达式)语句语句1;else 语句语句2;4.if 的嵌套形式:的嵌套形式:if(表达式表达式1)if(表达式表达式2)语句语句1;else语句语句2;else if(表达式表达式3)语句语句3;else语句语句4;二、二、if 语句的各种例子语句的各种例子b=3;if(a=0)b=5;b=3;if(a=0)b=5;else b=7;b=3;if(a=0)b=5;else if(a=1)b=7;else if(a=2)b=9;else if(a=3)b=11;e
5、lse b=13;b=3;if(a=0)b=5;if(a=5)b=7;else b=9;else if(ab)if(ad)c=15;else c=0;if(ab)if(ad)c=15;else c=0;当当if 的个数与的个数与else的个的个数不相同时,数不相同时,else采用就近采用就近配对的原则。配对的原则。if 的个数大于等于的个数大于等于else的个数。的个数。if(ab)if(ad)c=13;else if(ae)c=15;else c=0;四、条件运算符四、条件运算符条件运算符的格式:条件运算符的格式:表达式表达式1?表达式?表达式2:表达式:表达式3含义:含义:if(表达式表达
6、式1)表达式表达式2;else 表达式表达式3;例:例:(ad)?(c=15):(c=0);也可写为:也可写为:c=(ad)?15:0;含义:含义:if(ad)c=15;else c=0;例:例:max=(ab)?a:b;if(ab)max=a;else max=b;题:题:d=(ab)?a:(bc)?a:c五、五、if 语句的例子语句的例子y=1 当当x00 当当x=0-1 当当x01.if(x0)y=1;2.if(x0)y=1;if(x0)y=-1;else y=0;3.if(x0)y=1;4.if(x0)y=1;7.if(x=0)y=-1;else y=1;if(x=0)y=0;8.if
7、(x=0)y=1 else y=-1;9.if(x=0)y=0;六、六、switch/case语句语句switch语句的基本形式如下:语句的基本形式如下:switch(表达式)表达式)case 常量表达式常量表达式1:语句:语句1;break;case 常量表达式常量表达式2:语句:语句2;break;.case 常量表达式常量表达式n:语句语句n;break;default:语句语句n+1;说明:说明:1 表达式一般要求是表达式一般要求是有序可数的类型,例:有序可数的类型,例:整形、字符型、枚举类整形、字符型、枚举类型等;型等;2.每个每个case后的常量后的常量表达式必须互不相同;表达式必
8、须互不相同;3.case后的常量表达后的常量表达式的顺序无所谓;式的顺序无所谓;4.执行方式是根据表执行方式是根据表达式的值来取达式的值来取case后面后面的常量表达式;的常量表达式;5.break可有可无,可有可无,但执行方式不一样。但执行方式不一样。七、七、switch语句的例子语句的例子 用用A、B、C、D、E来表示分数的等级:来表示分数的等级:100=score=90 A 90score=80 B 80score=70 C 70score=60 D score=90 Eswitch(score)switch(scores/10)case 10:case 9:grade=A;break;
9、case 8:grade=B;break;case 7:grade=C;break;case 6:grade=D;break;default:grade=E;第二节第二节 循环语句循环语句 循环语句一般有循环体和循环终止条件组成。循环语句一般有循环体和循环终止条件组成。一组被重复执行的语句称为循环体,能否重复执行下去一组被重复执行的语句称为循环体,能否重复执行下去则取决于循环终止条件。则取决于循环终止条件。实现循环的语句有以下三种:实现循环的语句有以下三种:while语句语句 先判断,后执行;先判断,后执行;dowhile语句语句 先执行,后判断;先执行,后判断;for语句语句 先判断,后执行
10、。先判断,后执行。一、while语句的格式和例子while语句的一般形式为:while(表达式)循环体;表达式为1?循环体10void main(void)int a=0,sum=0;while()sum+=a;a+;printf(“sum=%d”,sum);a0&y+=5)a=1;b=45;x=P1;二、二、dowhile语句语句do.while语句的一般形式为:语句的一般形式为:do 循环体;循环体;while(表达式);表达式);void main(void)int a=0,sum=0;do sum+=a;a+;while();printf(“sum=%d”,sum);a101表达式为表
11、达式为1?循环循环体体10三、三、for 语句语句for循环语句的一般形式为:循环语句的一般形式为:for(表达式表达式1;表达式;表达式2;表达式;表达式3)循环体;循环体;for循环的语句执行过程如下:循环的语句执行过程如下:1、先对表达式、先对表达式1赋初值,进行初始化。赋初值,进行初始化。2、判断表达式、判断表达式2是否满足给定的循环条件,若满足,则执行循环体内是否满足给定的循环条件,若满足,则执行循环体内语句,然后执行下面第三步。若不满足循环条件,则结束循环,转到第语句,然后执行下面第三步。若不满足循环条件,则结束循环,转到第五步。五步。3、若表达式、若表达式2为真,在执行指定的循环
12、语句后,求解表达式为真,在执行指定的循环语句后,求解表达式3。4、回到第二步继续执行。、回到第二步继续执行。5、退出、退出for循环,执行下面一第语句。循环,执行下面一第语句。四、四、for 语句的例子语句的例子void main(void)int k,sum=0;for(k=0;k101;k+)sum+=k;printf(“sum=%dn”,sum);例:例:1+2+100 对对for(k=0;k101;k+)sum+=k;语句语句的修改及含义:的修改及含义:k=0;for(;k101;)sum+=k+;k=0;for(;k101;k+)sum+=k;for(k=0;k101;)sum+=k+;for(k=0;k101;k+)sum+=k;k=0;for(;)sum+=k+;五、五、for 语句的应用语句的应用延时程序:延时程序:void msec(unsigned int x)unsigned char j;while(x-)for(j=0;j125;j+);六、循环语句的嵌套六、循环语句的嵌套三个循环语句可以互相嵌套,嵌套即循环语句中套循环语句三个循环语句可以互相嵌套,嵌套即循环语句中套循环语句例:例:while(表达式表达式)do while(表达式)表达式)for(表达式表达式1;表达式表达式2;表达式表达式3)while(表达式表达式)