三种基本结构的程序设计.ppt
《三种基本结构的程序设计.ppt》由会员分享,可在线阅读,更多相关《三种基本结构的程序设计.ppt(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、三种基本结构的程序设计 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望 C C语言与程序设计语言与程序设计 第三章第三章 三种基本结构的程序设计三种基本结构的程序设计C C语句语句 和其它高级语言一样,和其它高级语言一样,C语言的语句用来向计算语言的语句用来向计算机系统发出机系统发出操作指令操作指令,一个语句经编译后产生若干条,一个语句经编译后产生若干条机器指令。一个实际的程序应当包含若干个语句。机器指令。一个实际的程序应当包含若干个语句。C语句都是用来完成一定操
2、作任务的,声明部分的内容语句都是用来完成一定操作任务的,声明部分的内容不应称为语句。不应称为语句。考虑:考虑:int a;和;和 int a=1;前者不是一个前者不是一个C语句,它不产生机器操作,而只是对语句,它不产生机器操作,而只是对变量定义。变量定义。后者是一个后者是一个C语句,为表达式语句语句,为表达式语句(a=1为赋值表达式为赋值表达式)2 C C语言与程序设计语言与程序设计 第三章第三章 三种基本结构的程序设计三种基本结构的程序设计C C语句分类语句分类表达式语句:表达式语句:由一个表达式加上一个分号构成一个由一个表达式加上一个分号构成一个语句,最典型的是赋值语句。如:语句,最典型的
3、是赋值语句。如:i+;k=k+2;m=n=j=3;a=1;x+y;也是,但无实际意义。;也是,但无实际意义。函数调用语句:函数调用语句:由一次函数调用加一个分号构成一由一次函数调用加一个分号构成一个语句,例如:个语句,例如:printf(“s=%dn”,s);空语句:空语句:只有一个分号的语句,什么也不做,有时只有一个分号的语句,什么也不做,有时用来做被转向点,或循环语句中的循环体。用来做被转向点,或循环语句中的循环体。复合语句:复合语句:可以用可以用 把一些语句括起来成为复合语把一些语句括起来成为复合语句,又称分程序。在语法上相当于一条语句。句,又称分程序。在语法上相当于一条语句。注注:后面
4、没有分号(;)后面没有分号(;)3 C C语言与程序设计语言与程序设计 第三章第三章 三种基本结构的程序设计三种基本结构的程序设计C C语句分类语句分类控制语句,完成一定的控制功能(控制语句,完成一定的控制功能(9 9种)种)if()else (条件语句)(条件语句)for()(循环语句)(循环语句)while()(循环语句)(循环语句)dowhile()(循环语句)(循环语句)continue (结束本次循环语句)(结束本次循环语句)break (中止执行(中止执行switch语句或循环语句)语句或循环语句)switch (多分支选择语句)(多分支选择语句)goto (无条件转向语句)(无条
5、件转向语句)return (从函数返回语句)(从函数返回语句)4 C C语言与程序设计语言与程序设计 第三章第三章 三种基本结构的程序设计三种基本结构的程序设计C C语句语句5 C C语言与程序设计语言与程序设计 第三章第三章 三种基本结构的程序设计三种基本结构的程序设计程序的三种基本结构程序的三种基本结构结构化程序:由三种基本结构(顺序、条件、循环)结构化程序:由三种基本结构(顺序、条件、循环)反复嵌套构成的程序。反复嵌套构成的程序。结构化程序设计结构化程序设计基本思想基本思想:(函数):(函数)“自顶向下、逐步求精、模块化自顶向下、逐步求精、模块化”6 第三章第三章三种基本结构的程序设计三
6、种基本结构的程序设计l程序基本结构及程序基本结构及C C程序语句分类程序语句分类l顺序结构程序设计顺序结构程序设计l选择结构程序设计选择结构程序设计l循环结构程序设计循环结构程序设计l典型例题精讲典型例题精讲 C C语言与程序设计语言与程序设计 第三章第三章 三种基本结构的程序设计三种基本结构的程序设计顺序结构程序设计顺序结构程序设计赋值语句:赋值语句:变量表达式;变量表达式;if(a=b)0)不能写成不能写成 if(a=b;)0)x=a;x=a;int a=b=c=10;正确?正确?是是错误错误的,应该写成:的,应该写成:int a,b,b;a=b=c=10;或者:或者:int a=10,b
7、=10,c=10;顺序结构顺序结构就是一个操作执行完成后就接着执行紧随其就是一个操作执行完成后就接着执行紧随其后的下一操作。后的下一操作。8与赋值表达式有何区别 C C语言与程序设计语言与程序设计 第三章第三章 三种基本结构的程序设计三种基本结构的程序设计顺序结构例:顺序结构例:输入三角形的三条边长,求其面积输入三角形的三条边长,求其面积#include#includevoid main()float a,b,c,p,s;printf(Input a,b,c=);scanf(%f,%f,%f,&a,&b,&c);p=1.0/2*(a+b+c);s=sqrt(p*(p-a)*(p-b)*(p-c
8、);printf(s=%6.2fn,s);9 面积公式:面积公式:其中其中注意:注意:sqrt()是求平方根的函数。是求平方根的函数。必须把头文件必须把头文件“math.h”包含到包含到程序中来。凡是在程序中用到数程序中来。凡是在程序中用到数学函数库中的函数,都应当包含学函数库中的函数,都应当包含math.h头文件。头文件。运行运行结结果:果:Input a,b,c=3,4,5 s=6.00 C C语言与程序设计语言与程序设计 第三章第三章 三种基本结构的程序设计三种基本结构的程序设计顺序结构例:顺序结构例:输入两个整数,交换其值。输入两个整数,交换其值。#includevoid main()
9、int a,b,t;printf(Input a,b=);scanf(%d,%d,&a,&b);printf(old data:a=%d,b=%dn,a,b);t=a;a=b;b=tprintf(new data:a=%d,b=%dn,a,b);10 运行运行结结果:果:Input a,b=5,10 old data:a=5,b=10new data:a=10,b=5如果是你,如何交换 第三章第三章三种基本结构的程序设计三种基本结构的程序设计l程序基本结构及程序基本结构及C C程序语句分类程序语句分类l顺序结构程序设计顺序结构程序设计l选择结构程序设计选择结构程序设计l循环结构程序设计循环结构
10、程序设计l典型例题精讲典型例题精讲 C C语言与程序设计语言与程序设计 第三章第三章 三种基本结构的程序设计三种基本结构的程序设计选择结构程序设计选择结构程序设计if语句语句12if语句语句是用来判定所给定的条件是否满足,根据判是用来判定所给定的条件是否满足,根据判定的结果决定执行给出的两种操作之一。定的结果决定执行给出的两种操作之一。lif(if(表达式表达式1)1)语句语句1 1 else if(else if(表达式表达式2)2)语句语句2 2 else if(else if(表达式表达式3)3)语句语句3 3 else if(else if(表达式表达式m)m)语句语句m m else
11、 else 语句语句n n表达式表达式语句语句假假(0)(0)真真(非非0)0)lif(if(表达式表达式)语句语句lif(if(表达式表达式)语句语句1 1 else else 语句语句2 2表达式表达式真真语句语句1语句语句2假假 C C语言与程序设计语言与程序设计 第三章第三章 三种基本结构的程序设计三种基本结构的程序设计if语句语句-例例1:输入两个整数,由大到小输出输入两个整数,由大到小输出#includevoid main()int a,b;printf(Input a,b=);scanf(%d,%d,&a,&b);if(ab)printf(%d,%dn,b,a);else pri
12、ntf(%d,%dn,a,b);13if(ab)printf(%d,%dn,b,a);if(a=b)printf(%d,%dn,b,a);int t=0;if(ab)t=a;a=b;b=t;printf(%d,%dn,a,b);运行结果:运行结果:Input a,b=5,10 10,5这部分还可以怎么写 C C语言与程序设计语言与程序设计 第三章第三章 三种基本结构的程序设计三种基本结构的程序设计if语句语句-例例2:判断由键盘输入的字符类型判断由键盘输入的字符类型#includevoid main()char c;printf(Input a character:);c=getchar();
13、if(c=0&c=A&c=a&c=z)printf(This is a small letter.n);elseprintf(This is another character.n);14注意考虑的完备注意考虑的完备 C C语言与程序设计语言与程序设计 第三章第三章 三种基本结构的程序设计三种基本结构的程序设计if 语句的嵌套语句的嵌套15#includemain()int x,y;scanf(“%d”,&x);if(x0)y=1;else y=0;printf(“x=%d,y=%dn”,x,y);Y=1Y=0Y=-1X=0X0YNNY在在if语句中又包含一个或多个语句中又包含一个或多个if语
14、句称为语句称为if语句的嵌套。语句的嵌套。一般形式如下一般形式如下:if ()if ()语句语句1 else 语句语句2else if()语句语句3 else 语句语句4内嵌内嵌if内嵌内嵌if配对关系配对关系:else总是与它总是与它上面的最近的上面的最近的if配对配对例:表示一个函数:例:表示一个函数:if(x0)y=1;else y=0;如何改 C C语言与程序设计语言与程序设计 第三章第三章 三种基本结构的程序设计三种基本结构的程序设计条件运算符:条件运算符:exp1 exp1?exp2 exp2 :exp3exp3若若if语句中,在表达式为语句中,在表达式为“真真”和和“假假”时,且
15、都只时,且都只执行一个赋值语句给同一个变量赋值时,可以用简单执行一个赋值语句给同一个变量赋值时,可以用简单的条件运算符来处理。的条件运算符来处理。条件运算符要求有条件运算符要求有3个操作对象,称三目运算符,它个操作对象,称三目运算符,它是是C语言中语言中唯一的一个三目唯一的一个三目运算符。运算符。条件表达式的条件表达式的一般形式一般形式为为:表达式表达式1?表达式表达式2 :表达式表达式3它的执行过程如右图它的执行过程如右图:16表达式表达式1条件表达式条件表达式取表达式取表达式2的值的值条件表达式条件表达式取表达式取表达式3的值的值真真假假ch若若为为大写大写转为转为小写,否小写,否则则不不
16、变变:ch=(ch=A&ch=Z)?(ch+32):ch;C C语言与程序设计语言与程序设计 第三章第三章 三种基本结构的程序设计三种基本结构的程序设计switch 语句语句if语句本质上是两路分支的选择结构;要用于多路分支时,语句本质上是两路分支的选择结构;要用于多路分支时,if语句就得采用嵌套形式,这使程序的可读性降低。语句就得采用嵌套形式,这使程序的可读性降低。对于多路分支问题,对于多路分支问题,C语言提供了更加简练的语句:语言提供了更加简练的语句:多分多分支选择语句(支选择语句(switch语句)来实现多种情况的选择。语句)来实现多种情况的选择。一般形式:一般形式:switch(表达式
17、表达式)case 常量表达式常量表达式1:语句语句1 case 常量表达式常量表达式2:语句语句2 .case 常量表达式常量表达式n:语句语句n default:语句语句n+1 17switchswitch语句的执行过程是:语句的执行过程是:先计算表达式的值,并逐个与先计算表达式的值,并逐个与casecase后后面的常量表达式的值相比面的常量表达式的值相比l相等相等,执行相应常量表达式后的语,执行相应常量表达式后的语句,句,之后不再判断之后不再判断,顺序往下执行直,顺序往下执行直到遇到到遇到breakbreak语句(跳出语句(跳出switchswitch)或执)或执行到行到switchswi
18、tch语句结束;语句结束;l都不等都不等,执行,执行defaultdefault后面的语句后面的语句 (如果没有(如果没有defaultdefault部分,则此时部分,则此时switchswitch相当于一个空语句)。相当于一个空语句)。C C语言与程序设计语言与程序设计 第三章第三章 三种基本结构的程序设计三种基本结构的程序设计switch 语句的注意事项语句的注意事项switchswitch后面括号内的表达式,可以为任何类型。后面括号内的表达式,可以为任何类型。一般一般多为易于判断相等的类型:整型、字符型或枚举型,多为易于判断相等的类型:整型、字符型或枚举型,单、双精度型的值由于计算误差而
19、难以进行相等比较单、双精度型的值由于计算误差而难以进行相等比较casecase后面常量表达式的值必须互不相同,否则会出现后面常量表达式的值必须互不相同,否则会出现出现互相矛盾的现象出现互相矛盾的现象多个多个casecase可以共享一组执行语句可以共享一组执行语句各个各个case和和default的出现次序不影响执行结果的出现次序不影响执行结果switchswitch结构可以嵌套,即在一个结构可以嵌套,即在一个switchswitch语句中可以嵌语句中可以嵌套另一个套另一个switchswitch语句,但要注意语句,但要注意breakbreak语句只能跳出当语句只能跳出当前层的前层的switch
20、switch语句语句18实践是检验真知的唯一途径实践是检验真知的唯一途径不需要死记,要动手去实验,不需要死记,要动手去实验,为什么这样规定?为什么这样规定?C C语言与程序设计语言与程序设计 第三章第三章 三种基本结构的程序设计三种基本结构的程序设计switch 语句举例语句举例用数字用数字1717代表周一代表周一 周日,从键盘上输入一个数字,周日,从键盘上输入一个数字,输出对应的是工作日还是假日。输出对应的是工作日还是假日。19int a;printf(Input data:);scanf(%d,&a);/输输入整数入整数aswitch(a)case 1:case 2:case 3:case
21、 4:case 5:printf(Workday_n);break;case 6:case 7:printf(Holiday_n);break;default:printf(Input error!n);此程序要能执行还需要加什么可以交换吗default:.可以写到这里吗 第三章第三章三种基本结构的程序设计三种基本结构的程序设计l程序基本结构及程序基本结构及C C程序语句分类程序语句分类l顺序结构程序设计顺序结构程序设计l选择结构程序设计选择结构程序设计l循环结构程序设计循环结构程序设计l典型例题精讲典型例题精讲 C C语言与程序设计语言与程序设计 第三章第三章 三种基本结构的程序设计三种基本
22、结构的程序设计循环结构循环结构循环结构循环结构是程序中一种很重要的结构。其特点是,在是程序中一种很重要的结构。其特点是,在给定条件成立时给定条件成立时,反复执行某程序段反复执行某程序段,直到条件不成,直到条件不成立为止。给定的条件称为循环条件,反复执行的程序立为止。给定的条件称为循环条件,反复执行的程序段称为段称为循环体循环体。语言提供了多种循环语句,可以组。语言提供了多种循环语句,可以组成各种不同形式的循环结构。成各种不同形式的循环结构。C语言可实现循环的语句:语言可实现循环的语句:while 语句语句do while 语句语句for 语句语句用用goto 和和 if 构成循环构成循环21
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基本 结构 程序设计
限制150内