c语言第3章顺序结构程序设计.ppt





《c语言第3章顺序结构程序设计.ppt》由会员分享,可在线阅读,更多相关《c语言第3章顺序结构程序设计.ppt(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1第三章第三章 顺序结构程序设计顺序结构程序设计第3章 顺序结构程序设计本章要求:本章要求:了解结构化程序的算法描述了解结构化程序的算法描述掌握掌握C语言中数据的输入语言中数据的输入/输出方法输出方法顺序结构程序设计顺序结构程序设计本章重点:本章重点:C程序中数据的输入程序中数据的输入/输出方法输出方法顺序、选择、循环顺序、选择、循环(分支分支)2第三章第三章 顺序结构程序设计顺序结构程序设计第3章 顺序结构程序设计一、什么是算法一、什么是算法 算法是解决一个问题采取的方法和步骤的描述算法是解决一个问题采取的方法和步骤的描述。1有穷性:有穷性:算法须在执行有穷多个计算步骤后终止算法须在执行有穷
2、多个计算步骤后终止2确确定定性性:算算法法的的每每个个步步骤骤必必须须都都是是精精确确定定义义的的、无无二义性的;二义性的;3有有效效性性:算算法法中中的的每每一一个个步步骤骤必必须须有有效效地地执执行行,并并能得到确定结果;能得到确定结果;4输输入入:一一个个算算法法中中可可以以没没有有输输入入,也也可可以以有有一一个个或或多个输入信息多个输入信息5输出:输出:一个算法应有一个或多个输出一个算法应有一个或多个输出算法的特性:算法的特性:3第三章第三章 顺序结构程序设计顺序结构程序设计第3章 顺序结构程序设计(一)自然语言与伪代码表示算法(一)自然语言与伪代码表示算法自然语言就是指人们日常使用
3、的语言,可以是汉语、英语自然语言就是指人们日常使用的语言,可以是汉语、英语或其它语言。或其它语言。伪代码是用介于自然语言和计算机语言之间的文字和符号伪代码是用介于自然语言和计算机语言之间的文字和符号(包括数学符号)来描述算法。(包括数学符号)来描述算法。二、算法的表示二、算法的表示4第三章第三章 顺序结构程序设计顺序结构程序设计第3章 顺序结构程序设计例的伪代码表示如下:例的伪代码表示如下:Begin(算法开始)(算法开始)输入输入 A,B,C IF AB 则则 AMax 否则否则 BMax IF CMax 则则 CMaxPrint MaxEnd(算法结束算法结束)例:例:输入三个数,然后输输
4、入三个数,然后输出其中最大的数。出其中最大的数。算法可以写成:算法可以写成:(1)(1)输入输入A A,B B,C C。(2)(2)若若ABAB,则,则MAX AMAX A;否则否则MAXBMAXB。(3)(3)若若CMAXCMAX,则,则MAX CMAX C。(4)(4)输出输出MAXMAX,MAXMAX即为最大即为最大数。数。结构化程序的算法描述:构化程序的算法描述:5第三章第三章 顺序结构程序设计顺序结构程序设计第3章 顺序结构程序设计1常用的流程符号常用的流程符号l l起止框:表示算法的开始和结束。起止框:表示算法的开始和结束。l l处理框:表示初始化或运算赋值等操作。处理框:表示初始
5、化或运算赋值等操作。l l输入输出框:表示数据的输入输出操作。输入输出框:表示数据的输入输出操作。l l判判断断框框:表表示示根根据据一一个个条条件件成成立立与与否否,决决定执行两种不同操作中的其中一个。定执行两种不同操作中的其中一个。l l流程线:表示流程的方向。流程线:表示流程的方向。(二)用流程图表示算法(二)用流程图表示算法6第三章第三章 顺序结构程序设计顺序结构程序设计第3章 顺序结构程序设计用流程图表示如下图所示:用流程图表示如下图所示:例:例:输入三个数,然后输出其中最大的数。输入三个数,然后输出其中最大的数。7第三章第三章 顺序结构程序设计顺序结构程序设计第3章 顺序结构程序设
6、计(三)用(三)用NSNS流程图表示算法流程图表示算法8第三章第三章 顺序结构程序设计顺序结构程序设计第3章 顺序结构程序设计C语言语言中实现顺序结构的语句:赋值语句、变量声中实现顺序结构的语句:赋值语句、变量声明语句、符号常量声明语句等。明语句、符号常量声明语句等。三、赋值语句三、赋值语句 赋值语句是由赋值表达式再加分号构成的表达式语句。赋值语句是由赋值表达式再加分号构成的表达式语句。其一般形式为:其一般形式为:变量变量=表达式表达式;1 1赋值符赋值符“=”“=”右边的表达式可以又是一个赋值表达式右边的表达式可以又是一个赋值表达式因此,下述形式是正确的:变量因此,下述形式是正确的:变量=(
7、=(变量变量=表达式表达式););其展开之后的一般形式为:变量其展开之后的一般形式为:变量=变量变量=表达式表达式;例例如如:a=b=c=d=e=5;a=b=c=d=e=5;按按照照赋赋值值运运算算符符的的右右结结合合性性,因此实际上等效于:因此实际上等效于:e=5;d=e;c=d;b=c;a=b;e=5;d=e;c=d;b=c;a=b;9第三章第三章 顺序结构程序设计顺序结构程序设计第3章 顺序结构程序设计2.2.注意变量说明中给变量赋初值和赋值语句的区别注意变量说明中给变量赋初值和赋值语句的区别。给给变变量量赋赋初初值值是是变变量量说说明明的的一一部部分分,赋赋初初值值后后的的变变量量与与
8、其其后后的的其其它同类变量之间仍必须用它同类变量之间仍必须用逗号逗号间隔,而赋值语句则必须用间隔,而赋值语句则必须用分号分号结尾。结尾。3.3.在在变量说明变量说明中,不允许连续给多个变量赋初值。中,不允许连续给多个变量赋初值。如下述说明是错误的:如下述说明是错误的:inta=b=c=5;必须写为必须写为inta=5,b=5,c=5;而赋值语句允许连续赋值。而赋值语句允许连续赋值。4.4.注注意意赋赋值值表表达达式式和和赋赋值值语语句句的的区区别别。赋赋值值表表达达式式是是一一种种表表达达式式,它它可可以以出出现现在在任任何何允允许许表表达达式式出出现现的的地地方方,而而赋赋值值语语句句则则不
9、能。不能。下述语句是合法的:下述语句是合法的:if(x=y+5)0)z=x;下述语句是非法的:下述语句是非法的:if(x=y+5;)0)z=x;说明:右边的表达式可以是变量、常量、函数调用等表达式。说明:右边的表达式可以是变量、常量、函数调用等表达式。10第三章第三章 顺序结构程序设计顺序结构程序设计第3章 顺序结构程序设计5语句中的语句中的“=”称为称为赋值号赋值号,它不同于数学中的等号,它不同于数学中的等号,如,如A=A+1在数学中是不成立的,但在程序设计中表示取变量在数学中是不成立的,但在程序设计中表示取变量A单单元中的值,将其加元中的值,将其加1后,仍然放回到后,仍然放回到A变量的存储
10、单元变量的存储单元。6、赋值符号赋值符号“=”左边一定只能是变量名左边一定只能是变量名,不能是常量、符号,不能是常量、符号常量、表达式。常量、表达式。例如:例如:z=x+y;是合法的。是合法的。下面的赋值语句都是错的:下面的赋值语句都是错的:5=x;/*左边是常量左边是常量*/sin(x)=20;/*左边是函数调用,即是表达式左边是函数调用,即是表达式*/11第三章第三章 顺序结构程序设计顺序结构程序设计第3章 顺序结构程序设计7赋值符号赋值符号“=”两边的数据类型一般要求应一致两边的数据类型一般要求应一致。如如果果两两边边的的类类型型不不同同,则则以以左左边边变变量量或或对对象象属属性性的的
11、数数据据类类型型为为基基准准,如如果果右右边边表表达达式式结结果果的的数数据据类类型型能能够够转转换换成成左左边边变变量量或或对对象象属属性性的的数数据据类类型型,则则先先强强制制转转换换后后,赋赋值值给给左左边边的的变变量量。若若都都是是数数值值型型,但但精精度度不不同同,强强制制转转换换成成左左边边变变量量的的数数据据精度。精度。例如,有定义例如,有定义intx;floaty;x=3.5415926;/*取其整数取其整数赋值给赋值给x,x的值为的值为3*/y=123;/*将整数将整数123转换实数转换实数123.0,赋值给,赋值给y,执行,执行后,后,y的值是的值是123.0(小数点补六个
12、(小数点补六个0)*/12第三章第三章 顺序结构程序设计顺序结构程序设计第3章 顺序结构程序设计数据输入数据输入/输出的概念输出的概念内内存存RAM从键盘将数据输入从键盘将数据输入从数据文件读入从数据文件读入将数据输出到屏幕将数据输出到屏幕将数据输出到文件将数据输出到文件数据输入数据输入/输出是相对计算机内存输出是相对计算机内存13第三章第三章 顺序结构程序设计顺序结构程序设计第3章 顺序结构程序设计在在语语言言中中所所有有的的数数据据输输入入输输出出都都是是由由库库函函数数完完成成的的。因因此此都都是是函函数数语语句句。在在C语语言言中中使使用用库库函函数数时时,要要使使用用预预编编译译命令
13、命令#include将相关的头文件(将相关的头文件(*.h)包含到用户源文件中。)包含到用户源文件中。使使用用形形式式:#include“头头文文件件”或或#include说明:说明:1.标准输入标准输入/输出头文件是:输出头文件是:stdio.h2.printf()和和scanf()函数不需要头包含文件函数不需要头包含文件3.常用的输入输出函数有:常用的输入输出函数有:printf()scanf()putchar()getchar()14第三章第三章 顺序结构程序设计顺序结构程序设计第3章 顺序结构程序设计四、数四、数据格式输入据格式输入scanf()scanf()函数函数 scanf()的
14、的功功能能:从从键键盘盘上上输输入入数数据据,该该输输入入数数据据按按指指定定的的输输入入格式被赋给相应的输入项。格式被赋给相应的输入项。函数一般函数一般格式格式为:为:scanf(控制字符串控制字符串,输入项地址列表,输入项地址列表);控控制制字字符符串串规规定定数数据据的的输输入入格格式式,其其内内容容由由格格式式说说明明和和普普通通字符字符两部分组成。两部分组成。输输入入项项地地址址列列表表由由一一个个或或多多个个变变量量地地址址组组成成,各各变变量量地地址址之之间用逗号间用逗号“,”分隔。分隔。scanf()中各变量要加地址操作符,表示如下:中各变量要加地址操作符,表示如下:&变量名变
15、量名scanf(%d,%d,%c,&a,&b,&ch);15第三章第三章 顺序结构程序设计顺序结构程序设计第3章 顺序结构程序设计控制字符串的两个组成部分:控制字符串的两个组成部分:格式说明和普通字符格式说明和普通字符。1.1.格式说明格式说明格式说明规定输入项中的变量以何种类型的数据格式被输入,格式说明规定输入项中的变量以何种类型的数据格式被输入,形式是:形式是:%各个格式字符及其意义见表各个格式字符及其意义见表3-3。表3-3输入格式字符格式字符格式字符意义意义举例举例输入形式输入形式d,i输入一个十进制整数输入一个十进制整数scanf(%d,&a)15o输入一个八进制整数输入一个八进制整
16、数scanf(%o,&a)015X(x)输入一个十六进制整数输入一个十六进制整数scanf(%x,&a)0 x15f输入一个小数形式的浮点数输入一个小数形式的浮点数scanf(%f,&x)35680E(e)输入一个指数形式的浮点数输入一个指数形式的浮点数scanf(%e,&x)3.568e+3c输入一个字符输入一个字符scanf(%c,&ch)As输入一个字符串输入一个字符串scanf(%s,ps)ABCD16第三章第三章 顺序结构程序设计顺序结构程序设计第3章 顺序结构程序设计各修饰符是可选的,这些修饰符是:各修饰符是可选的,这些修饰符是:(1 1)字段宽度)字段宽度(2 2)l l和和h
17、h:可与可与d d、o o、x x一起使用,一起使用,l l表示输入数据为长整数,表示输入数据为长整数,h h表示输入数据为短整数。表示输入数据为短整数。(3 3)字符)字符*:表示按规定格式输入但不赋予相应变量,作用是表示按规定格式输入但不赋予相应变量,作用是跳过相应的数据。跳过相应的数据。例:例:scanf(“%3d”scanf(“%3d”,&a)&a);输入;输入123456123456,按宽度输入,按宽度输入一个整数一个整数123123赋给变量赋给变量a a。例:例:scanf(%ld%hd,&x,&i)scanf(%ld%hd,&x,&i);x x按长整型读入,按长整型读入,i i按
18、短按短整数读入。整数读入。例如:例如:scanf(“%d%*d%d”,&x,&y,&z)scanf(“%d%*d%d”,&x,&y,&z);执行该语句,若输入;执行该语句,若输入为为“”结果为结果为x=1x=1,y=3y=3,z z未赋值,被跳过。未赋值,被跳过。17第三章第三章 顺序结构程序设计顺序结构程序设计第3章 顺序结构程序设计/*EX3-11.C*/#includemain()intx,y;scanf(%2d%*3d%4d,&x,&y);/*注意注意%*3d的作用的作用*/printf(nx=%d,y=%dn,x,y);18第三章第三章 顺序结构程序设计顺序结构程序设计第3章 顺序结
19、构程序设计2.2.普通字符普通字符普通字符包括空格、转义字符和可打印字符。普通字符包括空格、转义字符和可打印字符。(1)(1)空格空格在有多个输入项时,一般用在有多个输入项时,一般用空格空格或或回车回车作为分隔符,若以空格作分隔符,作为分隔符,若以空格作分隔符,则当输入项中包含字符类型时,可能产生非预期的结果,则当输入项中包含字符类型时,可能产生非预期的结果,(2)(2)可打印字符可打印字符例如:例如:scanf(%d%c,&a,&ch)scanf(%d%c,&a,&ch);输入输入32 q32 q期望期望a=32a=32,ch=qch=q,但实际上,分隔符空格被读入并赋给,但实际上,分隔符空
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 顺序 结构 程序设计

限制150内