《c语言程序设计基础》3程序设计结构.ppt
《《c语言程序设计基础》3程序设计结构.ppt》由会员分享,可在线阅读,更多相关《《c语言程序设计基础》3程序设计结构.ppt(65页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第第3章章 程序程序设计结构构2第第3 3章章 程序设计结构程序设计结构本章内容本章内容 3.2 顺序结构顺序结构 3.3 选择结构选择结构 3.4 循环结构循环结构 3.1 程序设计结构的基本概念程序设计结构的基本概念 3.5 辅助控制语句辅助控制语句3 3.1 3.1 程序设计结构的基本概念程序设计结构的基本概念本节内容本节内容 3.1.2 程序设计的三种基本结构程序设计的三种基本结构 3.1.3 使用流程图描述程序算法使用流程图描述程序算法 3.1.4 C语句语句 3.1.1 机构化程序设计的基本原则机构化程序设计的基本原则4 3.1.1 3.1.1 机构化程序设计的基本原则机构化程序设
2、计的基本原则v结构化程序设计是从宏观角度描述程序设计。一结构化程序设计是从宏观角度描述程序设计。一个比较大的程序是由不同功能模块构成,每个模个比较大的程序是由不同功能模块构成,每个模块完成一定的功能,因此,可以说一个程序是由块完成一定的功能,因此,可以说一个程序是由若干个模块构成,而每个模块又是由三种程序设若干个模块构成,而每个模块又是由三种程序设计结构描述的。计结构描述的。v结构化程序设计强调程序设计风格和程序结构的结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。规范化,提倡清晰的结构。v结构化程序设计应遵循下述原则:结构化程序设计应遵循下述原则:(1 1)自顶向下)自顶向
3、下(2 2)逐步细化)逐步细化(3 3)模块化设计)模块化设计(4 4)结构化编码)结构化编码53.1.2 3.1.2 程序设计的三种基本结构程序设计的三种基本结构v3.1.2.1 3.1.2.1 顺序结构顺序结构v按设定的顺序一步一步的执行操作步骤,直到完按设定的顺序一步一步的执行操作步骤,直到完成全部工作。成全部工作。v3.1.2.2 3.1.2.2 选择结构选择结构v此结构一定包含一个判断,根据比较判断结果的此结构一定包含一个判断,根据比较判断结果的不同,执行不同操作步骤,获得不同的结果。不同,执行不同操作步骤,获得不同的结果。v3.1.2.3 3.1.2.3 循环结构循环结构v此结构一
4、定包含一个判断,如果判断结果满足一此结构一定包含一个判断,如果判断结果满足一定的条件,则反复执行一段操作步骤,直到判断定的条件,则反复执行一段操作步骤,直到判断结果不满足条件为止结果不满足条件为止 。63.1.2 3.1.2 程序设计的三种基本结构程序设计的三种基本结构v三种基本结构有以下共同特点:三种基本结构有以下共同特点:v(1 1)只有一个入口。)只有一个入口。v(2 2)只有一个出口。)只有一个出口。v(3 3)结构内的每一部分都有机会被执行到。)结构内的每一部分都有机会被执行到。v(4 4)结构内不存在)结构内不存在“死循环死循环”。73.1.3 3.1.3 使用流程图描述程序算法使
5、用流程图描述程序算法v编写一个大一点的程序,在编写代码前,首先要编写一个大一点的程序,在编写代码前,首先要写出程序的算法。程序算法可以用自然语言、伪写出程序的算法。程序算法可以用自然语言、伪代码或程序框图来表示。代码或程序框图来表示。v用程序流程图来描述程设计的算法是比较通用的用程序流程图来描述程设计的算法是比较通用的做法,程序流程图就是用框图来表示程序设计的做法,程序流程图就是用框图来表示程序设计的算法。算法。8 3.1.4 C3.1.4 C语句语句v在在C C语言程序设计中,是以语句为单位向计算机发语言程序设计中,是以语句为单位向计算机发出操作命令的,可以说语句是最小的程序设计单出操作命令
6、的,可以说语句是最小的程序设计单位,一个语句经编译后产生若干条机器指令。位,一个语句经编译后产生若干条机器指令。v一个实际的程序是由若干个语句构成的。一个实际的程序是由若干个语句构成的。vC C语言把语句分成语言把语句分成5 5类,只有控制语句是系统提供类,只有控制语句是系统提供的,其他语句都是程序设计人员根据具体操作给的,其他语句都是程序设计人员根据具体操作给出的。出的。93.1.4 C3.1.4 C语句语句v(1)(1)表达式语句。表达式语句由一个表达式加一个表达式语句。表达式语句由一个表达式加一个分号构成,最典型的是,由赋值表达式构成一个分号构成,最典型的是,由赋值表达式构成一个赋值语句
7、。赋值语句。v例如:例如:vtoothpaste=3.2 toothpaste=3.2 是一个赋值表达式,而是一个赋值表达式,而vtoothpaste=3.2toothpaste=3.2;是一个赋值语句。是一个赋值语句。103.1.4 C3.1.4 C语句语句v(2)(2)控制语句。控制语句用于完成一定的控制功能。控制语句。控制语句用于完成一定的控制功能。if()else if()else (条件语句)(条件语句)for()for()(循环语句)(循环语句)while()while()(循环语句)(循环语句)dowhile()dowhile()(循环语句)(循环语句)continue cont
8、inue (结束本次循环语句)(结束本次循环语句)break break (中止执行(中止执行switchswitch或循环语句)或循环语句)switch switch (多分支选择语句)(多分支选择语句)goto goto (转向语句)(转向语句)return return (从函数返回语句)(从函数返回语句)113.1.4 C3.1.4 C语句语句v(3)(3)函数调用语句。函数调用语句由一个被调用函函数调用语句。函数调用语句由一个被调用函数加一个分号构成,例如:数加一个分号构成,例如:printf(“This is a C statement of using printf(“This
9、is a C statement of using function.”)function.”);v(4)(4)复合语句。可以用把一组语句扩起来构成复合语句。可以用把一组语句扩起来构成复合语句(又称为分程序)。复合语句(又称为分程序)。v(5)(5)空语句。下面是一个空语句:空语句。下面是一个空语句:;123.1.4 C3.1.4 C语句语句vC C程序中的数据类型定义、预处理命令及注释行都程序中的数据类型定义、预处理命令及注释行都不是语句。不是语句。vC C语言允许一行写几个语句,也允许一个语句拆开语言允许一行写几个语句,也允许一个语句拆开写在几行上,对书写格式没有固定要求,为了读写在几行上
10、,对书写格式没有固定要求,为了读写程序的方便,在书写程序时,还应错落有致。写程序的方便,在书写程序时,还应错落有致。133.2 3.2 顺序结构顺序结构v在顺序结构中,程序按照由上往下的顺序逐个执在顺序结构中,程序按照由上往下的顺序逐个执行各语句。行各语句。#includevoid main()int a=3,b=4;int temp;temp=a;a=b;b=temp;printf(a=%d,b=%dn,a,b);14 3.3 3.3 选择结构选择结构本节内容本节内容 3.3.2 多分支语句多分支语句 3.3.1 条件语句条件语句15 3.3.1 3.3.1 条件语句条件语句v条件语句总的来
11、说是判断条件,根据条件满足情条件语句总的来说是判断条件,根据条件满足情况,确定执行哪些程序语句。况,确定执行哪些程序语句。v在条件语句中,要给出测试的条件,它可是任何在条件语句中,要给出测试的条件,它可是任何常量、变量或表达式。大多数情况下,条件语句常量、变量或表达式。大多数情况下,条件语句中被测试的条件为关系表达式或逻辑表达式。在中被测试的条件为关系表达式或逻辑表达式。在条件语句中,条件的计算结果为非条件语句中,条件的计算结果为非0 0时满足条件,时满足条件,否则不满足条件。否则不满足条件。vif(x5)if(x5)vif(a&b)if(a&b)163.3.1 3.3.1 条件语句条件语句v
12、3.3.1.1 3.3.1.1 单分支选择结构单分支选择结构v1 1格式格式vifif(E E)v v 语句组语句组;v v2 2功能功能v若若E E为非为非0 0,即为真值时,执行,即为真值时,执行ifif语句中的语句组,语句中的语句组,否则执行后面的语句。否则执行后面的语句。173.3.1 3.3.1 条件语句条件语句表达式表达式表达式表达式语句组语句组语句组语句组FT183.3.1 3.3.1 条件语句条件语句#includevoid main()int x;printf(please input x:n);scanf(%d,&x);if(x0)x=-x;/if语句中只有这一句,可以省略
13、花括号 printf(%dn,x);193.3.1 3.3.1 条件语句条件语句#includevoid main()float a,b,s;scanf(%f,%f,&a,&b);s=a;if(ab)s=b;s=s*s;/变量s中保存a、b中比较大的一个数的平方 printf(s=%fn,s);203.3.1 3.3.1 条件语句条件语句#includevoid main()float a,b,s;float t;scanf(%f,%f,&a,&b);if(ab)/要执行一系列语句,要用花括号括起来 t=a;a=b;b=t;s=a*a;printf(s=%fn,s);213.3.1 3.3.1
14、 条件语句条件语句v3.3.1.2 3.3.1.2 双分支选择结构双分支选择结构v1 1格式格式vifif(E E)v v 语句组语句组1;1;v velseelsev v 语句组语句组2;2;v v2 2功能功能v如果如果E E为非为非0 0,则执行语句组,则执行语句组1 1的语句;否则执行语句组的语句;否则执行语句组2 2。223.3.1 3.3.1 条件语句条件语句表达式表达式表达式表达式语句语句语句语句1 1 1 1语句语句语句语句2 2 2 2TF233.3.1 3.3.1 条件语句条件语句#includevoid main()int x,y;scanf(%d,&x);if(x0)y
15、=x*x;else y=2*x;printf(y=%dn,y);243.3.1 3.3.1 条件语句条件语句v3.3.1.3 3.3.1.3 用用if-elseif-else实现多分支选择结构实现多分支选择结构v实现多分支选择结构的实现多分支选择结构的ifif语句结构如下:语句结构如下:vif(E1)if(E1)语句组语句组1;1;velse if(E2)else if(E2)语句组语句组2;2;velse if(E3)else if(E3)语句组语句组3;3;vvelse if(En)else if(En)语句组语句组n;n;velse else 语句组语句组n+1;n+1;253.3.1
16、3.3.1 条件语句条件语句#includevoid main()float x,y;scanf(%f,&x);if(x=-10)y=2*x;else if(x=0)y=2+x;else if(x=10)y=x-2;else y=x/10;printf(y=%fn,y);263.3.1 3.3.1 条件语句条件语句v3.3.1.4 if3.3.1.4 if语句的嵌套语句的嵌套vifif语句是可以嵌套的,即语句是可以嵌套的,即ifif语句内部还可以包含语句内部还可以包含ifif语句。语句。vif(E1)if(E1)v if(E2)if(E2)语句组语句组1;1;v else else 语句组语句
17、组2;2;velse else v if(E3)if(E3)语句组语句组3;3;v else else 语句组语句组4;4;273.3.1 3.3.1 条件语句条件语句#includevoid main()int a,b,c;int small;scanf(%d,%d,%d,&a,&b,&c);if(a=b)if(a=c)small=a;else small=c;else if(b=c)small=b;else small=c;printf(smallest=%dn,small);283.3.1 3.3.1 条件语句条件语句v关于选择结构要注意的问题:关于选择结构要注意的问题:v(1 1)if
18、if语句中的判断条件不一定必须是关系表达语句中的判断条件不一定必须是关系表达式、逻辑表达式或结果为整数值的表达式。式、逻辑表达式或结果为整数值的表达式。v(2 2)当)当ifif语句中的判断条件为相等关系式时,要语句中的判断条件为相等关系式时,要注意用注意用“=”“=”运算符,而不要用赋值运算符运算符,而不要用赋值运算符“=”“=”。v(3 3)在)在ifif语句的嵌套使用中,注意语句的嵌套使用中,注意elseelse与与ifif的配的配对问题。对问题。vC C语言规定语言规定elseelse与其上面最靠近它的还未配对的与其上面最靠近它的还未配对的ifif相配对。相配对。293.3.2 3.3
19、.2 多分支语句多分支语句v多分支语句也叫开关语句,是多分支选择结构,多分支语句也叫开关语句,是多分支选择结构,它是根据多个条件进行多条运行线路的选择。它是根据多个条件进行多条运行线路的选择。v1 1格式格式vswitch(E)switch(E)v v case c_E1:case c_E1:语句组语句组1;break;1;break;v case c_E2:case c_E2:语句组语句组2;break;2;break;v v case c_En;case c_En;语句组语句组n;break;n;break;v default:default:语句组语句组n+1;break;n+1;bre
20、ak;v 303.3.2 3.3.2 多分支语句多分支语句v2 2说明说明v(1 1)switchswitch语句的作用是建立多路分支程序结构。语句的作用是建立多路分支程序结构。v(2 2)switchswitch后面括号中的后面括号中的E E的值通常为整型或字的值通常为整型或字符型。符型。v(3 3)其中,)其中,c_E1 c_Enc_E1 c_En称为情况常量,通常为整称为情况常量,通常为整型或字符型常量。型或字符型常量。v(4 4)关键字)关键字casecase和后面的情况常量之间至少要用和后面的情况常量之间至少要用一个空格隔开。一个空格隔开。v(5 5)E E的值的类型要与情况常量的值
21、类型相同。的值的类型要与情况常量的值类型相同。v(6 6)每个情况常量的值必须互不相同。)每个情况常量的值必须互不相同。313.3.2 3.3.2 多分支语句多分支语句v(7 7)各个)各个casecase和和defaultdefault出现的次序不影响执行出现的次序不影响执行结果。结果。v(8 8)每个情况常量后都跟一个语句组,也就是符)每个情况常量后都跟一个语句组,也就是符合该情况时,要执行的若干语句。合该情况时,要执行的若干语句。v(9 9)格式用中括号)格式用中括号“”和和“”括起来的括起来的break;break;为任选项,根据程序需要。为任选项,根据程序需要。v(1010)执行完)
22、执行完casecase后面的语句组后,如果没有遇后面的语句组后,如果没有遇到到breakbreak语句,接着执行下面语句,接着执行下面casecase后的语句,直到后的语句,直到switchswitch语句结束。语句结束。v(1111)正确使用)正确使用breakbreak语句可以控制语句可以控制switchswitch语句的语句的流程。流程。323.3.2 3.3.2 多分支语句多分支语句v3 3执行过程执行过程vswitchswitch语句先计算表达式语句先计算表达式E E的值,然后的值,然后E E依次与依次与c_E1 c_E1 到到c_Enc_En进行比较。若进行比较。若E E的值与某个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c语言程序设计基础 语言程序设计 基础 程序设计 结构
限制150内