《c语言教学资料》3程序设计结构.ppt
《《c语言教学资料》3程序设计结构.ppt》由会员分享,可在线阅读,更多相关《《c语言教学资料》3程序设计结构.ppt(66页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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结构化程序设计强调程序设计风格和程序结构的结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。规范化,提倡清晰的结构。v结构化程序设计应遵循下述原则:结构化程序设计应遵循下述原则:(1 1)自顶向下)自顶向下(2 2)逐步细化)逐步细化(3 3)模块化设计)模块化设计(4 4
3、)结构化编码)结构化编码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 使用流程图描述程序算法使用流程图描述程序算法v编写一个大一点的程序,在编写代码前,首先要编写一个大一点
5、的程序,在编写代码前,首先要写出程序的算法。程序算法可以用自然语言、伪写出程序的算法。程序算法可以用自然语言、伪代码、程序框图或代码、程序框图或N/SN/S图来表示。图来表示。v用程序流程图来描述程设计的算法是比较通用的用程序流程图来描述程设计的算法是比较通用的做法,程序流程图就是用框图来表示程序设计的做法,程序流程图就是用框图来表示程序设计的算法。算法。8 3.1.4 C3.1.4 C语句语句v在在C C语言程序设计中,是以语句为单位向计算机发语言程序设计中,是以语句为单位向计算机发出操作命令的。出操作命令的。v一个实际的程序是由若干个语句构成的,语句是一个实际的程序是由若干个语句构成的,语
6、句是最小的程序设计单位,一个语句经编译后产生若最小的程序设计单位,一个语句经编译后产生若干条机器指令。干条机器指令。vC C语言把语句分成语言把语句分成5 5类(函数调用语句、控制语句、类(函数调用语句、控制语句、空语句、复合语句、表达式语句),只有控制语空语句、复合语句、表达式语句),只有控制语句是系统提供的,其他语句都是程序设计人员根句是系统提供的,其他语句都是程序设计人员根据具体操作给出的。据具体操作给出的。93.1.4 C3.1.4 C语句语句v(1)(1)表达式语句。表达式语句。表达式语句由一个表达式加一个表达式语句由一个表达式加一个分号构成分号构成,最典型的是,由赋值表达式构成一个
7、,最典型的是,由赋值表达式构成一个赋值语句。赋值语句。v例如:例如:ve=3.2 e=3.2 是一个赋值表达式,是一个赋值表达式,ve=3.2e=3.2;是一个赋值语句。;是一个赋值语句。103.1.4 C3.1.4 C语句语句v(2)(2)控制语句。控制语句用于完成一定的控制功能。控制语句。控制语句用于完成一定的控制功能。if()else if()else (条件语句)(条件语句)for()for()(循环语句)(循环语句)while()while()(循环语句)(循环语句)dowhile()dowhile()(循环语句)(循环语句)continue continue (结束本次循环语句)(
8、结束本次循环语句)break break (中止执行(中止执行switchswitch或循环语句)或循环语句)switch switch (多分支选择语句)(多分支选择语句)goto goto (转向语句)(转向语句)return return (从函数返回语句)(从函数返回语句)113.1.4 C3.1.4 C语句语句v(3)(3)函数调用语句。函数调用语句由一个被调用函函数调用语句。函数调用语句由一个被调用函数加一个分号构成,例如:数加一个分号构成,例如:printf(“This is a C programing.”)printf(“This is a C programing.”);v
9、(4)(4)复合语句。可以用把一组语句括起来构成复合语句。可以用把一组语句括起来构成复合语句(又称为分程序)。例如:复合语句(又称为分程序)。例如:m=a;a=b;b=m;m=a;a=b;b=m;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);【例例3-2】交换交换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时满足条件,时满足条件,否则不满足条件。否则不满足条件。if(x5)if(x5)if(a&b)if(a&b)163.3.1 3.3.1 条件语句条件语句v3.3.
12、1.1 3.3.1.1 单分支选择结构单分支选择结构v1 1格式格式 ifif(E E)语句组语句组;v2 2功能功能v若若E E为非为非0 0,即为真值时,执行,即为真值时,执行ifif语句中的语句组,语句中的语句组,否则执行后面的语句。否则执行后面的语句。173.3.1 3.3.1 条件语句条件语句表达式表达式表达式表达式语句组语句组语句组语句组FTIf的后续语句183.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);【例例3-4】从键盘上输入一个数,从键盘上输入一个数,求这个数的绝对值求这个数的绝对值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);【例例3-5】求任意两个数字求任意两个数字a、b中比较大的那个数的平方中比较大的那个数的平方203.3.1 3.3.1 条件语句条件语句#includevoid main()float a,b,s;float t;scanf
14、(%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 条件语句条件语句v3.3.1.2 3.3.1.2 双分支选择结构双分支选择结构v1 1格式格式 ifif(E E)语句组语句组1;1;elseelse 语句组语句组2;2;v2 2功能功能v如果如果E E为非为非0 0,则执行语句组,则执行语句组1 1的语句,然后执行整个的语句,然后执行整个if-if-elseelse的后续语句;否则执行语句组的后续语句;否则执行语句组2 2,然后执行后续语句。,然后执行后
15、续语句。223.3.1 3.3.1 条件语句条件语句表达式表达式表达式表达式语句语句语句语句1 1 1 1语句语句语句语句2 2 2 2TFIf-else的后续语句233.3.1 3.3.1 条件语句条件语句#includevoid main()int x,y;scanf(%d,&x);if(x0)y=x*x;else y=2*x;printf(y=%dn,y);【例例3-6】设设x为任意整数,求为任意整数,求y的值,当的值,当x0时,计算时,计算y=x*x;当当x=0时,计算时,计算y=2*x243.3.1 3.3.1 条件语句条件语句v3.3.1.3 3.3.1.3 用用if-elseif
16、-else实现多分支选择结构实现多分支选择结构v实现多分支选择结构的实现多分支选择结构的ifif语句结构如下:语句结构如下:if(E1)if(E1)语句组语句组1;1;else if(E2)else if(E2)语句组语句组2;2;else if(E3)else if(E3)语句组语句组3;3;else if(En)else if(En)语句组语句组n;n;else else 语句组语句组n+1;n+1;后续语句后续语句253.3.1 3.3.1 条件语句条件语句#includevoid main()float x,y;scanf(%f,&x);if(x=-10)y=2*x;else if(x
17、=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语句。语句。if(E1)if(E1)if(E2)if(E2)语句组语句组1;1;else else 语句组语句组2;2;else else if(E3)if(E3)语句组语句组3;3;else else 语句组语句组4;4;后续语句后续语句273.3.1 3.3.1 条件语句条件
18、语句#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=0)if(x=0)printf(x is zero);else printf(x is positive);int x=10;if(x=0)if(x=0)printf(x is zero);else printf(x is positive);303.3.2 3.3.2 多分支语句多分支语句v多分支语句也叫开关语句,是多分支选择结构,多分支语句也叫开关语
19、句,是多分支选择结构,它是根据多个条件进行多条运行线路的选择。它是根据多个条件进行多条运行线路的选择。v1 1格式格式 switch(E)switch(E)case c_E1:case c_E1:语句组语句组1;break;1;break;case c_E2:case c_E2:语句组语句组2;break;2;break;case c_En;case c_En;语句组语句组n;break;n;break;default:default:语句组语句组n+1;break;n+1;break;313.3.2 3.3.2 多分支语句多分支语句v1 1执行过程执行过程vswitchswitch语句先计算
20、表达式语句先计算表达式E E的值,然后的值,然后E E依次与依次与c_E1 c_E1 到到c_Enc_En进行比较。若进行比较。若E E的值与某个情况常量的值与某个情况常量c_Eic_Ei相等,则转到相等,则转到c_Ei:c_Ei:后面的后面的“语句组语句组i”i”去执去执行,执行完后再由行,执行完后再由breakbreak语句跳出语句跳出switchswitch语句,继语句,继续执行后面语句。当所有情况都不满足(续执行后面语句。当所有情况都不满足(E E的值与的值与所有情况常量的值都不相等)时,执行所有情况常量的值都不相等)时,执行default:default:后面的语句组。后面的语句组。
21、323.3.2 3.3.2 多分支语句多分支语句v注意注意1 1:如果:如果casecase后面的语句组不跟随后面的语句组不跟随breakbreak语句,语句,则在执行第一个符合条件的语句组后将不判断后则在执行第一个符合条件的语句组后将不判断后面的条件,将直接依次执行其它情况常量后面的面的条件,将直接依次执行其它情况常量后面的语句组。语句组。v注意注意2 2:switchswitch语句中可以省略语句中可以省略defaultdefault子句。在子句。在这种情况下,当所有情况都不满足时,将不执行这种情况下,当所有情况都不满足时,将不执行任何语句组,直接跳出任何语句组,直接跳出switchswi
22、tch语句。语句。333.3.2 3.3.2 多分支语句多分支语句#includevoid main()int score;int k;scanf(%d,&score);k=score/10;switch(k)case 10:case 9:printf(An);break;case 8:printf(Bn);break;case 7:printf(Cn);break;case 6:printf(Dn);break;default:printf(En);【例例3-10】编写程序,输入一编写程序,输入一个百分制成绩,对应输出等级个百分制成绩,对应输出等级A、B、C、D、E。90分以上分以上为为A,
23、80分分89分为分为B,70分分79分为分为C,60分分69分为分为D,60分以下为分以下为E。343.3.2 3.3.2 多分支语句多分支语句v2 2说明说明v(1 1)switchswitch语句的作用是建立多路分支程序结构。语句的作用是建立多路分支程序结构。v(2 2)switchswitch后面括号中的后面括号中的E E的值通常为整型或字的值通常为整型或字符型。符型。v(3 3)其中,)其中,c_E1c_E1c_Enc_En称为情况常量,通常为整称为情况常量,通常为整型或字符型常量。型或字符型常量。v(4 4)关键字)关键字casecase和后面的情况常量之间至少要用和后面的情况常量之
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c语言教学资料 语言 教学 资料 程序设计 结构
限制150内