第4章顺序结构程序设计.ppt
《第4章顺序结构程序设计.ppt》由会员分享,可在线阅读,更多相关《第4章顺序结构程序设计.ppt(38页珍藏版)》请在三一文库上搜索。
1、第4章 顺序结构程序设计,本章学习要点: 程序结构的基本概念 格式化输出函数printf() 格式化输入函数scanf() 单个字符输入输出函数getchar()和putchar() 顺序结构程序设计 学习方法建议: 本章是程序设计的基础,建议重点关注C语言输入输出函数的应用格式及使用方法,掌握顺序结构程序设计要点。,4.1程序设计的基本概念,所谓程序设计是指编写一系列语句,输入计算机后经编译产生若干条机器指令,这些机器指令实际是一组指挥计算机完成某些特定操作的命令,通过运行指令,检查这些操作的是否可以完成一个预期的任务。 4.1.1程序结构概述 在第一章中介绍了一个最简单的C程序,该程序即为
2、一个顺序结构程序。 完成一项具体的任务到底需要哪些指令(语句),如何安排这些指令(语句)的执行的先后顺序,这些都会直接影响到程序的结果。而结构化程序设计的理念是由E.W.Dijkstra提出的,使用三种基本控制结构,通过组合和嵌套从而实现任何单一入口和出口的程序设计思想。,1顺序结构,以下就简单介绍这基本的三种程序结构。假设有顺序语句块A和B以及条件语句块P。 1顺序结构 顺序结构程序是所有程序结构中最简单的一种,该程序结构中,语句按其在程序中的先后位置顺序被执行。其程序结构如图4-1所示。,2.选择结构,2选择结构,也称为分支结构 程序需要根据某些条件,进行逻辑判断,而其结果是决定程序的走向
3、的程序结构称为选择程序结构。如图4-2所示。,3循环结构,3循环结构 程序按照一定的条件,重复执行指定的语句块即称为循环程序结构。如图4-3所示。,4.1.2 C程序语句简介,C程序是由函数构成,而函数是由函数说明和函数体组成,其中函数体是函数的核心。与其他高级语言一样,利用函数体中的C语句,向计算机系统发出操作命令,因而C语句是C程序的重要组件,而构成语句的基本元素除了前面介绍关键字、变量、表达式等还有库函数,以下介绍在C程序中常用的输入输出函数。,4.2C程序数据的输入输出,为了让计算机处理各种数据,首先就应该把源数据输入到计算机中;计算机处理结束后,再将目标数据信息以人能够识别的方式输出
4、。C语言没有提供专门的输入输出语句,其输入输出操作是由C编译系统提供的库函数来实现的。C语言不提供输入输出语句的目的是使C语言编译系统具有简单、通用性强、可移植性好的优点。 引例4.1程序要求从键盘输入圆柱体的半径和高,计算圆柱体的侧面积和体积后输出计算结果。 main() float radius,high,carea,volume, pi=3.14159; printf (“请输入圆柱体的半径:/n”);,scanf (“%f” , /*输出圆柱侧面积和体积*/ ,程序运行结果如下: 请输入圆的半径:1 请输入圆柱体的高:2 radius=1.00000 high=2.00000 care
5、a = 12.57, volume =6.28,4.2.1 printf函数格式化输出函数,向计算机系统默认的输出设备(一般指终端或显示器)输出一个或多个任意类型的数据。 1printf函数的格式 printf()函数的一般格式如下: printf (格式控制字符串,输出项列表); 用引例中的printf (“radius=%fn”, radius)为例对printf函数的格式说明如下:,(1)格式控制字符串。也称“转换控制字符串”,需要用双引号括起来,通常包含以下三种信息: 格式指示符,其通用格式为: %附加格式说明符类型转换字符,表4-1printf函数常用附加格式说明符,表4-2prin
6、tf函数常用类型转换字符,转义字符:控制输出。见表2-2转义字符及其功能表。引例中printf函数中的“n”就是转义字符,输出时产生一个“换行”操作。 普通字符:需要原样输出的字符。如:引例中printf(“radius=%fn“, radius);语句中的“radius=”就是普通字符。 (2)输出项列表 是需要输出的数据项。如果要输出的数据项多于1个,则相邻2个数据项之间用逗号分开。如引例中printf(“carea =%7.2f, volume =%7.2fn”, carea, volume); 的“carea, volume”。 提示: “格式字符串”中的格式指示符,必须与“输出项列表
7、”中、输出项的数据类型一致,否则会引起输出错误。,2printf函数应用举例,例题4.2对不同类型的数据,输出时使用不同的类型转换字符的应用。 main() int a,b; float c; char ch a=123; b=-1; c=1.23; ch=a; /*用十进制整数的几种不同宽度的的形式,输出整型变量a的值*/ printf(“a=%d, a=%4d, a=%-4d,a=%2dn”, a, a, a, a); /*按带符号十进制、八进制、十六进制、无符号十进制输出b的值*/ printf(“%d, %o, %x, %un”, b, b, b, b);,/*以小数形式输出:按系统默
8、认的宽度(整数全部输出,小数为位6位)输出实型变量c的值;按指定总宽度6位小数位为1位形式输出实型变量c的值*/ printf(“%f, %6.1fn”,c,c); /*按字符和按整数形式输出字符变量ch*/ printf(“%c, %dn”, ch, ch); ,程序运行结果如下: a=123,a=123,a=123,a=123 -1, 177777, ffff, 65535 1.230000, 1.2 a,97,(2) 类型转换字符c输出一个字符(只占一列宽度)。 例题4.3用不同的类型转换字符输出同一变量。 /*例题原代码文件名:LT4_3.C。*/ main( ) char ch=b;
9、 int x=65; printf(“ch=%c,%4c,%dn”, ch, ch, ch); printf(“x=%d,%cn”, x, x); ,运行结果: ch=b,b,98 x=65,A,注意: 在C语言中,整数可以用字符形式输出,字符数据也可以用整数形式输出。,(3) 类型转换字符f输出单、双精度数十进制小数形式(默认6位小数) %f,不指定宽度,由系统自动指定,使整数全部输出,并输出6位小数。 %m.nf 指定输出总宽度是m列(小数点也占一列),其中有n位小数。当数值长度小于m,则左边补空格。 % -m.nf 与 %m.nf基本相同,只是当数值长度小于m时,负号表示在右边补空格。
10、如例题4.2中c=1.23; printf(“%f, %6.1fn”, c, c); 其中:%f是以小数形式按系统默认的宽度(小数点后保留6位)输出实数c,%6.1f按指定总宽度6位,小数点后面1位输出实数c。(注意:计算总宽度时小数点也算1位)所以运算结果是:1.230000, 1.2,(4) 对于实数,也可使用格式符%e,以标准指数形式输出: 不指定输出数据所占的宽度和小数位数,C编译系统自动指定:尾数中的整数部分大于等于1、小于10,小数点占一位,尾数中的小数部分占6位;指数部分占5位(如e-003),其中e占1位,指数符号占1位,指数占3位,共计13位。 %m.ne和% -m.ne,m
11、表示总宽度,n表示数据尾数的小数部分。“-”号表示左对齐。 例题4.4用%e以指数形式输出实数 main( ) float f; f=224.562; printf(“%e,%10.2e”, f, f); ,运行结果: 2.24562e+02,2.25e+02,使用格式符%g,让系统根据数值的大小,自动选择%f或%e格式(选择输出时占宽度较小的一种)、且不输出无意义的零。 (5)%s输出字符串 例题4.5用%s输出一个字符串。 /*例题原代码文件名:LT4_5.C。*/ main( ) printf(“%3s,%7.2s,%.4s,%-5.3sn”, “CHINA”, “CHINA”, “CH
12、INA”, “CHINA”); ,运行结果: CHINA,CH,CHIN,CHI,说明: %m输出的字符串占m列,若字符串长度大于m,则自动突破m的限制,将字符串全部输出。若串长小于m,则左边补空格。 %-ms与(1)基本相同,只是当串长小于m,则右边补空格。 %m.ns输出占m列,但只取字符串左端n个字符。这n个字符输出在m列的右恻,左补空格。 % -m.ns其中m,n含义同上,不同的是n个字符输出在m列的左恻,右补空格。如果nm则自动取n的值,即保证n个字符正常输出。,提示:,1printf()可以输出常量、变量和表达式的值。但格式控制中的格式说明符,必须按从左到右的顺序,与输出项表中的每
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 顺序 结构 程序设计
链接地址:https://www.31doc.com/p-2577734.html