(本科)第3章 顺序结构程序设计1ppt课件.pptx

上传人:春哥&#****71; 文档编号:15303579 上传时间:2022-05-12 格式:PPTX 页数:60 大小:2.56MB
返回 下载 相关 举报
(本科)第3章 顺序结构程序设计1ppt课件.pptx_第1页
第1页 / 共60页
(本科)第3章 顺序结构程序设计1ppt课件.pptx_第2页
第2页 / 共60页
点击查看更多>>
资源描述

《(本科)第3章 顺序结构程序设计1ppt课件.pptx》由会员分享,可在线阅读,更多相关《(本科)第3章 顺序结构程序设计1ppt课件.pptx(60页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、课程主讲人:第3章 顺序结构程序设计1C语言程序设计3C语言程序设计(第二版)4第 3章 顺序结构程序设计1通过简单案例引入,介绍顺序结构程序设计。它按照程序代码书写先后顺序来执行,程序自始至终只沿着一个方向执行。2由于程序流程过于单一,不能实现复杂算法,只用于编写不需要对流程进行控制的简单程序。5第 3章 顺序结构程序设计知识点结构化程序设计基本概念数据的输入和输出。赋值语句、复合语句和空语句技能点能编写顺序程序能熟练掌握Dev-C+环境的操作步骤6第 3章 顺序结构程序设计【例3-1】输入已知的圆的半径R,求该圆的周长L和面积S。3.1 案 例 引 入任务分析:要求圆的周长L和面积S,只要

2、知道周长和面积的公式,根据公式计算即可。周长公式为:L = 2R,面积公式为:S = R2。R7第 3章 顺序结构程序设计12345678910111213/*例3-1输入已知的圆的半径R,求该圆的周长L和面积S*/#includestdio.h main() float R=0; float L=0,S=0; printf(请输入圆的半径R:); scanf(%f,&R); /读取圆的半径R L=2*3.14*R; /计算圆的周长L S=3.14*R*R; /计算圆的面积S printf(圆的周长L=%.2f,面积S=%.2fn,L,S); /输出计算结果L和S,以两位小数显示输出8第 3章

3、 顺序结构程序设计 程序中首先定义了3个float类型的变量R、L、S分别用来表示半径、周长和面积;然后通过scanf()函数以浮点形式读取半径R,接下来计算周长L和面积S,最后输出显示L、S的值。9第 3章 顺序结构程序设计大型软件系统的出现,例如操作系统、数据库管理系统等,出现了一系列新的问题。如何保证程序有很高正确性、可靠性、可读性、可理解性和可维护性呢?思考程序设计的基本问题,即程序的基本组成、基本设计方法;思考为程序设计建立必要规范,即所谓的规范化设计,以保证程序设计正确性。3.2 结构化程序设计的基本概念10第 3章 顺序结构程序设计 结构化程序设计是按照一定的原则与原理组织和编写

4、正确且易读的程序的软件技术,结构化程序设计的目标就在于使程序具有一个合理的结构,以保证和验证程序的正确性,从而开发出正确、合理的程序。 1969年,荷兰学者迪克斯特拉()首先提出了结构化程序设计的概念。11第 3章 顺序结构程序设计按照结构程序设计的要求设计出的程序设计语言称为结构程序设计语言,利用结构图程序设计语言(或者说按结构程序设计的思想和原则)编写出的程序称为结构化程序。一分钟了解结构化程序设计方法12第 3章 顺序结构程序设计结构化程序设计主要包括以下两点:21(1)顺序、选择和循环结构。使用3种基本控制结构自顶向下、逐步求精和模块化设计。采用结构化程序设计方法13第 3章 顺序结构

5、程序设计结构化程序设计强调程序设计风格和程序结构规范化,自顶向下和逐步求精方法是求解复杂问题的有效方法,是由抽象到具体、由粗到细的方法。把一个较大的复杂问题自上而下分解成若干个相对独立而且简单的小问题,只要解决了这些小问题,整个问题也就解决了。14第 3章 顺序结构程序设计 其中,每一个小问题又可以进一步分解为若干个更小的子问题,这样一直重复下去,直到每一个小问题足够简单,可以直接用复合语句或基本结构描述为止。这样细化的结果可得到一个树状结构图,如图3-2所示。自顶向下风格15第 3章 顺序结构程序设计16第 3章 顺序结构程序设计模块化设计早在低级语言时期就已经出现了,但是,它是在结构化程序

6、设计的发展中得到充实、提高与完善的。一般而言,模块化设计是把复杂的算法或程序分解成若干个相对独立、功能单一,甚至可供其他程序调用的模块。在引入了结构化程序设计之后,这些模块都是一种可供调用、相对独立的程序段。17第 3章 顺序结构程序设计整个系统由各个模块组合而成,且各模块之间可以相互调用;各模块之间相互独立,每模块都可独立进行分析、设计、编程、调试、修改和扩充,不影响其它模块或整个程序结构。C语言的函数相当于模块,整个C程序是由不同函数组合而成的。18第 3章 顺序结构程序设计 在程序设计中,为了描述数据对象或者支持数据操作,一般均需要引入变量一个值。用来表示赋给某一个变量一个确定值的语句叫

7、作赋值语句。 C语言中,赋值语句是最基本的语句。一般形式:变量名 = 表达式;3.3 赋 值 语 句19第 3章 顺序结构程序设计(1)等号左边不能是表达式或常数。(2)右边的表达式类型必须与左边的变量类型相匹配。该语句将表达式的值赋给指定的变量,有两点应该注意:20第 3章 顺序结构程序设计ia、ib及cc定义为整数或字符变量,正确赋值。ia = 2;ib = ia * 10 + 3;cc = w;错误赋值方式:x + y = z;x + 1 = 2;例如:21第 3章 顺序结构程序设计int ia, ib;ia = 3.14159; /*给出警告提示,数据丢失*/ib = 小荷才露尖尖角,

8、早有蜻蜓立上头。;对于变量ib的赋值语句,将给出出错提示。 如下语句由于变量定义类型和赋值表达式不匹配,编译时可能会给出出错提示或者警告提示。 22第 3章 顺序结构程序设计需要深刻理解赋值表达式与赋值语句的区别。C语言赋值号“=”是一个运算符;赋值表达式可包括在其他表达式中,增加表达式种类,使表达式应用几乎无处不见,十分灵活,通常能实现其他语言难以实现的功能。使用中注意区别,如:23第 3章 顺序结构程序设计if(a = b) 0) t = a;其执行过程是:先进行赋值运算(将b的值赋给a),然后判断a是否大于0,若大于0,执行t = a。例如,下面语句可以编译通过,而且顺利执行,但含义并非

9、判定a是否等于b,执行结果可能与程序设计的目标有偏差。if(a = b) /*单等于号是赋值语句,而非条件语句*/24第 3章 顺序结构程序设计 输入/输出是相对于计算机内存而言的,从计算机内存向外部输出设备输出数据称为输出,从外部向输入设备输入数据称为输入。 C语言没有提供专门的输入/输出语句,都是由库函数来完成,数据输入和输出要调用输入/输出库函数。 3.4 数据的输入/输出3.4.1 基本输入/输出的概念25第 3章 顺序结构程序设计 在ANSI C标准中定义了一组完整的I/O操作函数,例如printf()函数和scanf()函数,它们不是输入/输出语句,printf和scanf不是C语

10、言的关键字,而只是函数的名字。其实,完全可以不用printf()和scanf()这两个名字,而是自己重新编写两个输入/输出函数,用其他的函数名。26第 3章 顺序结构程序设计 这些函数以库的形式存放在系统,并不是C语言文本的组成部分。 库中提供一批标准输入/输出函数,以标准输入/输出设备(一般为终端设备)为输入/输出对象。标准输入/输出函数putchar(输出字符)getchar(输入字符)printf(格式输出)scanf(格式输入)puts(输出字符串)gets(输入字符串)27第 3章 顺序结构程序设计 这些函数调用所需的一些预定义类型和常数都在头文件stdio.h,在调用时,用预编译命

11、令#include将头文件包括到源程序中,即在程序前面加上:#include或者#includestdio.h和“”有何区别#include指令到底干了什么?28第 3章 顺序结构程序设计 stdio是standard input & output的缩写,它包含了与标准I/O库有关的变量定义和宏定义以及对函数的声明。 考虑到printf()和scanf()函数的使用很频繁,系统允许在使用这两个函数时不加头文件。了解stdio.h29第 3章 顺序结构程序设计1字符输出函数putchar()、字符串输出函数puts() putchar()的功能是在屏幕上输出一个字符,输出字符必须用单引号括起来。

12、函数调用形式为:putchar(ch); 或者 putchar(输出字符);3.4.2 字符、字符串数据的输入/输出30第 3章 顺序结构程序设计 puts()的功能是在屏幕上输出一个字符串,输出字符串必须用双引号括起来。函数调用形式为:puts(S); 或者 puts(字符串常量); 当在程序中要调用putchar()、puts()函数时,应包括头文件stdio.h。31第 3章 顺序结构程序设计【例3-2】putchar()的应用。12345678910111213/*例3-2 putchar()的应用*/#include stdio.hmain() char ch; ch=c; putc

13、har(A); putchar(n); putchar(97); putchar(n); putchar(ch); putchar(n);32第 3章 顺序结构程序设计 当函数的参数为整数的时候,编译系统会把它看作相应字符的ASCII码,然后输出该字符。同时ch也可以是整型变量。 也可以输出其他转义字符,如:putchar(101); /(输出字符a)putchar(); /(输出单引号字符)33第 3章 顺序结构程序设计 getchar()的作用是从终端输入一个字符,它没有参数,调用形式为:getchar(); 调用函数时会等待外部输入。只接受一个字符,函数得到的字符可赋给一个字符型变量或整

14、型变量,也可不赋给任何变量,只是作为表达式一部分。2字符输入函数getchar()、字符串输入函数gets()34第 3章 顺序结构程序设计 gets()的作用是从终端读入一个字符串。函数调用形式为:gets(s); 要调用getchar()、gets()函数,应包括头文件stdio.h。35第 3章 顺序结构程序设计【例3-3】getchar()的应用。123456789/*例3-3 getchar()的应用*/#includestdio.hmain() char ch; ch=getchar(); putchar(ch); putchar(n);当从键盘上输入一个字符时,就会在屏幕上看到该

15、字符的输出。例如:输入W输出W输入HELLO输出H36第 3章 顺序结构程序设计也就是说,不论是输入一个字符还是一个字符串,getchar()函数都只能接受一个字符。两次结果如图所示37第 3章 顺序结构程序设计【例3-4】输入多个字符。输入a输出cl=a,c2=输入ab输出cl=a,c2=b123456789/*例3-4 输入多个字符*/#includestdio.hvoid main() char c1,c2; c1=getchar(); c2=getchar(); printf(c1=%c,c2=%c,c1,c2);38第 3章 顺序结构程序设计程序第一次运行时,输入a后回车,想继续输入

16、b,但实际上按回车后结果就输出了,结果是“cl=a,c2=”,不符合题目原意。输入字符时,空格字符和转义字符都是作为有效字符输入的。这里的回车作为第二个输入字符被c2接受了。第二次运行时输入ab,a被cl接受,b被c2接受。39第 3章 顺序结构程序设计 为了从键盘接收参数和从屏幕输出参数,通常便用printf和scanf函数,主要目的是接收标准化的参数,以及按照一定格式输出程序运行结果。3.4.3 格式化输入/输出函数40第 3章 顺序结构程序设计1printf()函数(格式输出函数) 主要功能为:向计算机终端(如显示器等)进行格式化输出。printf()函数的一般格式为:printf(格式

17、控制,输出表列);41第 3章 顺序结构程序设计其中,格式控制是用双引号括起来的字符串,该字符串包括:由%后跟一个格式字符组成,例如%d、%c、%s。格式说明转换成相应的功能或字符。转义字符原样输出的字符。普通字符42第 1章 C语言概述字符含转义字符n,控制光标指向下一行。例:printf(落红不是无情物,化作春泥更护花。n);普通字符格式说明对指定数据格式转换的作用,例:printf(%d%f%c,2,3,97);将数据2、3、97转换为2、3.000000和字符a输出。普通字符和格式说明例:i=2;j=3;printf(%d+%d,i+j=%d,i,j,i+j);43第 3章 顺序结构程

18、序设计【例3-5】显示printf()函数格式输出。123456789101112/*例3-5 显示printf函数格式输出*/#includestdio.hvoid main() int num1=123; long num2=123456; printf (num1=%d, num1=%5d, num1=%-5d, num1=%2dn,num1,num1,num1,num1); /*用4种不同格式,输出int型数据num1的值*/printf(num2=%ld,num2=%8ld,num2=%5ldn,num2,num2,num2); /*用3种不同格式,输出long型数据num2的值*/

19、 printf(num1=%ldn,num1);44第 3章 顺序结构程序设计有关printf()或scanf()函数字符控制符说明如表3-1所示。45第 3章 顺序结构程序设计关于表3-1的具体运用,讨论如下:(1)d格式符:用来输出十进制整数。%d按照数据实际长度输出。%mdm指定输出字段宽度。数据位数小于m,则左端补空格(右对齐);大于m,则按实际位数输出。%-mdm指定输出字段宽度。数据位数小于m,则右端补空格(左对齐);大于m,则按实际位数输出。%ld输出长整型数据,也可指定宽度%mld。46第 3章 顺序结构程序设计a = 123,b = 12345;printf(a=%d,b=%

20、d,a,b);printf(a=%4d,b=%4d,a,b);printf(%d,%ld,135790,135790);例如:47第 3章 顺序结构程序设计132输出八进制数。%o格式符输出十六进制数。例如:a = -1;printf(%x,%o,a,a);%x格式符输出unsigned无符号型数据,即无符号数,以十进制形式输出。%u格式符48第 3章 顺序结构程序设计【例3-6】使用printf()函数格式作为整数和无符号整数输出同一个数字。1234567891011/*例3-6使用printf()函数格式作为整数和无符号整数输出同一个数字*/#includestdio.hvoid main

21、() unsigned int ua=0 x8fffffff; printf(整数输出=%dn,ua); printf(无符号整数输出n,ua); ua=0 xffffffff; printf(整数输出=%dn,ua); printf(无符号整数输出=%un,ua);49第 3章 顺序结构程序设计 在DEV-C+中,一个整数占4个字节,0 xffffffff是最大的无符号整数,使用整数输出,其值为-1。而以无符号整数输出,其值为4294967295。因此,使用无符号整型变量,可以把整数值扩大2倍。50第 3章 顺序结构程序设计(5)%c格式符:用来输出一个字符。 整数只要值在0255范围内,也

22、可用字符形式输出。反之,字符数据也可用整数形式。 将整数用字符形式输出时,系统首先求该数与256的余数,然后将余数作为ASCII码,转换成相应的字符输出。当按ASCII码输出时可利用ASCII码转义符,实现特殊功能。51第 3章 顺序结构程序设计【例3-7】对于数字7,分别使用printf()函数格式作为字符和数字输出。123456789101112131415/*例3-7 对于数字7,分别使用printf函数格式作为字符和数字输出*/#includestdio.hvoid main() printf(%d,7); printf(%d,7); printf(%d,7); printf(%d,7

23、); printf(%d,7); printf(%c,7); printf(%c,7); printf(%c,7); printf(%c,7); printf(%c,7);数字7作为整数输出时,printf()函数输出了5个7。当使用c格式符时,7为转义符,所以鸣笛5次。这是无音箱计算机报警的常用方式。52第 3章 顺序结构程序设计(6)s格式符:用来输出一个字符串。%s按实际宽度输出字符串。printf(%s,CHINA);%ms输出字符占m位,长度大于m则按实际宽度输出,不到m位,左边补空格。printf(%8s、CHINA);%-ms宽度不到m位时右边补空格。%m.ns,%-m.ns输出

24、占m列,但只取字符串左边n个字符。53第 3章 顺序结构程序设计输出实数,其中小数占6位,若不够6位则补0,总有效位数为7位,若输出是双精度型,则有效位数为16位。%f格式符指数形式输出,其中指数占3位。%e格式符根据数据大小选择%f或%e中的2种格式进行格式说明。字母l:用于输出长整型数据,如%ld、%lx、%lo。%g格式符54第 3章 顺序结构程序设计 scanf()函数是用来从外部输入设备向计算机主机输入数据的。scanf()函数的一般格式为:scanf(格式字符串,输入项首地址表);2scanf()函数55第 1章 C语言概述输入项首地址表格式字符串包含3种类型的字符:格式指示符、空

25、白字符和非空白字符(又称普通字符)。格式指示符与printf()函数的相似,空白字符作为相邻2个输入数据的默认分隔符,非空白字符在输入有效数据时,必须原样一起输入。格式字符串由若干个输入项首地址组成,相邻2个输入项首地址间用逗号分开。可是变量的首地址,也可是字符数组名或指针变量,但地址个数必须和格式字符的个数相同。变量首地址的表示方法:&变量名其中,“&”是地址运算符。输入项首地址表56第 3章 顺序结构程序设计 scanf的常用形式为: scanf(%格式字符1%格式字符2,&变量名1,&变量名2) 程序运算时必须从键盘输入相应个数的数字,它们之间用空格分开。 建议:为改善人机交互性,同时简

26、化输入操作,在设计输入操作时,一般先用printf()函数输出一个提示信息,再用scanf()函数进行数据输入。57第 3章 顺序结构程序设计例如:scanf(%d,%d,%d,&ia,&ib,&ic);为了用户使用方便,通常改为:printf(请输入三个整数:n);scanf(%d,%d,%d,&ia,&ib,&ic);58第 3章 顺序结构程序设计输入数据时,遇到以下情况,系统认为该数据结束:0 1例如在输入数值时,按了空格,就认为输入结束。遇到空格,或者【Enter】键,或者【Tab】键0 2例如,“%3d”,只取3列。遇到输入域宽度结束0 3例如在输入数值数据时,遇到字母等非数值符号(

27、数值符号仅由字符09、小数点和正负号构成)。遇到非法输入59第 3章 顺序结构程序设计 如在“格式控制”字符串中除了格式说明以外还有其他字符,则输入数据时,在对应位置应输入与这些字符相同的字符。建议不使用其他字符作为格式控制。 在用“%c”格式输入字符时,空格字符和转义字符都作为有效字符输入。%c只要求读入一个字符,后面不需要用空格作为两个字符的间隔。60第 3章 顺序结构程序设计【例3-8】圆柱体的底半径为r,高为h,求其体积。 1234567891011/*例3-8 圆柱体的底半径为r,高为h,求其体积*/#includestdio.hvoid main() float r,h,vol; float pi=3.14159; printf(请输入圆柱半径和高:n); scanf(%f,%f,&r,&h); vol=pi*r*r*h; /求体积 printf(圆半径为:%f,高为:%f,圆体积为:%7.2fn,r,h,vol);/输出求出的体积

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com