C语言程序设计教程(第二版)-第03章顺序结构程序设计.ppt

上传人:小飞机 文档编号:6504086 上传时间:2023-11-07 格式:PPT 页数:40 大小:325.99KB
返回 下载 相关 举报
C语言程序设计教程(第二版)-第03章顺序结构程序设计.ppt_第1页
第1页 / 共40页
C语言程序设计教程(第二版)-第03章顺序结构程序设计.ppt_第2页
第2页 / 共40页
C语言程序设计教程(第二版)-第03章顺序结构程序设计.ppt_第3页
第3页 / 共40页
C语言程序设计教程(第二版)-第03章顺序结构程序设计.ppt_第4页
第4页 / 共40页
C语言程序设计教程(第二版)-第03章顺序结构程序设计.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《C语言程序设计教程(第二版)-第03章顺序结构程序设计.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计教程(第二版)-第03章顺序结构程序设计.ppt(40页珍藏版)》请在三一办公上搜索。

1、2023/11/7,1,第3章 顺序结构程序设计,数据处理的一般过程是:输入 处理 输出。在C语言中,输入输出操作是由编译系统提供的库函数来实现。教学目的:掌握printf()、scanf()函数,以及顺序结构程序设计。,2023/11/7,2,教学内容:3.1*格式化输出printf()函数3.2*格式化输入scanf()函数3.3 顺序结构程序设计本章要点本章作业与上机实践,2023/11/7,3,3.1*格式化输出printf()函数,3.1.1 printf()函数的一般格式 案例3.1 已知圆半径radius=1.5,求圆周长(2r)和圆面积(r2)。,2023/11/7,4,#in

2、clude“stdio.h”#include“conio.h”void main()float radius=1.5,length,area,pi=3.14;length=2*pi*radius;area=pi*radius*radius;printf(“radius=%fn”,radius);printf(“length=%7.2f,area=%7.2fn”,length,area);getch();,radius=1.500000,length=9.42,area=7.07,2023/11/7,5,printf()函数的一般格式:printf(格式字符串,输出项表);1格式字符串(1)格式

3、指示符:%标志宽度.精度F|N|h|L类型例如,%7.2f。各类常用指示符,参见表3-1至表3-5。,2023/11/7,6,在表3-1中,最常用的标志字符是“-”:左对齐,右端补空格。缺省时为右对齐,左端补空格。在表3-2中,最常用宽度字符“n”:指定输出域的宽度。若超长,则按实际宽度输出;若不足,则补空格。在表3-3中,最常用精度字符“.n”:指定保留的小数位数(实数,超长则4舍5入),或截取左起的前n个字符(字符串)。在表3-4中,最常用的长度字符“l”:长整型。,2023/11/7,7,在表3-5 中,最常用的数据类型转换字符如下表所示:,2023/11/7,8,(2)转义字符。特点:

4、通常是产生一个控制操作。例如,转义字符n,输出时产生一个“换行”操作。(3)普通字符除格式指示符和转义字符之外的其它字符。特点:原样输出。例如,“radius=”、“length=”、“area=”、“,”。,2023/11/7,9,2输出项表如果不止1个,则相邻2个之间用逗号分开。下面的用法都是合法的:(1)printf(I am a student.n);(2)printf(%d,3+2);(3)printf(a=%f b=%5dn,a,a+3);,2023/11/7,10,3.1.2 常用的类型转换字符输出不同类型数据,要使用不同类型转换字符。,2023/11/7,11,1类型转换字符d

5、以带符号的十进制整数形式输出。案例3.2 类型转换字符d的使用。#include“stdio.h”#include“conio.h”void main()int num1=123;long num2=123456;printf(num1=%d,num1=%5d,num1=%-5d,num1=%2dn,num1,num1,num1,num1);printf(num2=%ld,num2=%8ld,num2=%5ldn,num2,num2,num2);printf(num1=%ldn,num1);getch();,2023/11/7,12,程序运行结果如下:num1=123,num1=123,num

6、1=123,num1=123num2=123456,num2=123456,num2=123456num1=16908411(1)格式指示符,必须与输出项的数据类型一致,否则会引起输出错误。(2)对于整数,还可用%o(八进制无符号形式)、%x(十六进制无符号形式)、%u(十进制无符号形式)输出。,类型匹配错误,输出结果是随机的。,2023/11/7,13,2类型转换字符f以小数形式输出实数。案例3.3 类型转换字符f的使用。#include“stdio.h”#include“conio.h”void main()float f=123.456;double d1,d2;d2=222222222

7、2222.222222222;printf(%f,%12f,%12.2f,%-12.2f,%.2fn,f,f,f,f,f);printf(d1+d2=%fn,d1+d2);getch();,2023/11/7,14,程序运行结果如下:123.456001,123.456001,123.46,123.46,123.46d1+d2=3333333333333.333010提示:对于实数也可使用%e,以标准指数形式输出;或使用%g,让系统根据数值的大小,自动选择%f或%e格式、且不输出无意义的零。,2023/11/7,15,3类型转换字符c输出1个字符(占1列宽度)案例3.4 类型转换字符c的使用。

8、#include“stdio.h”#include“conio.h”void main()char c=A;int i=65;printf(c=%c,%5c,%dn,c,c,c);printf(i=%d,%c,i,i);getch();程序运行结果如下:c=A,A,65 I=65,A,2023/11/7,16,4类型转换字符s输出一个字符串。案例3.5 类型转换字符s的使用。#include“stdio.h”#include“conio.h”void main()printf(%s,%5s,%-10s,Internet,Internet,Internet);printf(%10.5s,%-10

9、.5s,%4.5sn,Internet,Internet,Internet);getch();程序运行结果如下:Internet,Internet,Internet,Inter,Inter,Inter 注意:系统输出字符(串),不输出单引号和双引号。,2023/11/7,17,3.1.3 使用说明1格式指示符,必须按从左到右的顺序,与输出项表中的每个数据一一对应,否则出错。例如,printf(str=%s,f=%d,i=%fn,Internet,1.0/2,3+5,CHINA);是错误的。2类型转换字符的紧前字符不是“%”时,将作普通字符处理(原样输出)。例如,“printf(”c=%c,f=

10、%fn“,c,f);”中的第一个c和f,都是普通字符。,2023/11/7,18,3类型转换字符x、e、g,大小写均可。大写时,输出数据中包含的字母也大写。其它类型转换字符,必须小写。例如,%f不能写成%F。返回,2023/11/7,19,3.2*格式化输入scanf()函数,一般格式 案例3.6 已知圆柱体的底半径radius=1.5,高high=2.0,求其体积(r2 h)。,2023/11/7,20,#include“stdio.h”#include“conio.h”void main()float radius,high,pi=3.14159,vol;radius=1.5;high=2

11、.0;vol=pi*radius*radius*high;printf(“vol=%7.2fn”,vol);getch();思考:使用赋值语句给出初值的方式的局限性?,2023/11/7,21,案例3.7 已知圆柱体的底半径为radius、高为high,求其体积。#include“stdio.h”#include“conio.h”void main()float radius,high,vol,pi=3.1415926;printf(Please input radius,Please input radius&high:1.52.0,radius=1.50,high=2.00,vol=14.

12、14,2023/11/7,22,给计算机提供数据,可以使用:(1)赋值语句。只能解决1个特定的问题。例如,案例3.6。(2)输入函数scanf()。能解决1类特定的问题。例如,案例3.7。显然,采用scanf()函数,使得程序具有更好的适应性。,2023/11/7,23,scanf()函数的一般格式:scanf(格式字符串,输入项首地址表);(1)格式字符串 格式指示符:与printf()函数的相似;普通字符:必须原样输入。,2023/11/7,24,(2)输入项首地址表可以是变量首地址、数组名,或者指针变量。变量首地址的表示:&变量名相邻2个输入项首地址,用逗号分开。,地址运算符,2023/

13、11/7,25,3.2.2 数据输入操作(假设num1=12、num2=36)1默认分隔符空格、Tab键、回车如果不指定分隔符(例如逗号、冒号),则使用默认分隔符。例如,scanf(%d%d,正确的输入操作为:1236 或者:12 36,2023/11/7,26,2普通字符务必原样输入。(1)scanf(%d,%d,正确的输入操作为:num1=12,num2=36n提示:scanf()格式字符串中,没有转义字符概念。比较(1)、(2)两种设计方式的优缺点?,2023/11/7,27,比较(1)、(2)两种设计方式的优缺点?(1)仅输入数据,输入量小,但人机交互性差(用户不知道该输入什么,以及输

14、入给谁)。(2)同时输入说明和数据,人机交互友好性好,但输入量大。思考:如何改进设计,既保持良好的人机交互性,又不增加输入量?,2023/11/7,28,提高人机交互性的设计思路:先用printf()函数输出提示信息,再用scanf()函数进行数据输入。scanf(num1=%d,num2=%dn,2023/11/7,29,3使用“%c”输入时,空格和转义字符均作为有效字符被输入。例如:scanf(%c%c%c,思考:假设输入“ABC”,printf()输出的内容是什么?输出结果:ch1=A,ch2=,ch3=B返回,2023/11/7,30,3.3 顺序结构程序设计,顺序结构程序一般包括两部

15、分:1程序开头的编译预处理命令。如果要在程序中使用标准库函数,则必须使用编译预处理命令#include,将相应的头文件包含进来。,2023/11/7,31,2函数体主要包括:(1)变量定义语句;(2)输入语句;(3)运算语句;(4)输出语句。3 执行流程:各语句是按照物理位置次序,被顺序执行,且每个语句都会被执行到。,2023/11/7,32,案例 输入3个整数,求它们的和及平均值。#include“stdio.h”#include“conio.h”void main()int num1,num2,num3,sum;float aver;printf(Please input three nu

16、mbers:);scanf(%d,%d,%d,2023/11/7,33,案例3.11 设计一个进行加、减、乘、除和求余数运算练习的程序。对程序功能的基本要求如下:(1)使用菜单驱动;(2)随机产生运算所需的2个操作数(0-99);(3)程序自动判断用户的计算结果是否正确。由于所学内容的限制,本案例的设计要求将在本章,以及随后的第4 第7章中分阶段逐步实现并完善。本案例首先实现设计要求(1)。,2023/11/7,34,/*功能:菜单程序段*/#include stdio.h#include conio.hvoid main()char options;clrscr();/*清屏。函数原型在co

17、nio.h中*/,2023/11/7,35,printf(加、减、乘、除和求余数运算练习程序 n);printf(n);printf(+(Addition)+/a n);printf(-(Subtraction)-/s n);printf(*(Multiplication)*/m n);printf(/(Division)/d n);printf(%(Remainder)%/r n);printf(E x i t e n);printf(n);printf(Please choose one option:);scanf(%1c,2023/11/7,36,程序运行情况如下:加、减、乘、除和求余

18、数运算练习程序+(Addition)+/a-(Subtraction)-/s*(Multiplication)*/m/(Division)/d%(Remainder)%/r E x i t e Please choose one option:_返回,2023/11/7,37,1.printf()函数 printf(格式字符串,输出项表);,本 章 要 点,(1)格式指示符%标志宽度.精度F|N|h|L类型(2)转义字符(3)普通字符原样输出。,2023/11/7,38,2.scanf()函数 scanf(格式字符串,输入项首地址表);,(1)格式指示符(2)普通字符:原样输入。,&变量名,2023/11/7,39,3.源程序书写风格顺序程序段左对齐顺序程序段中的所有语句(包括说明语句),一律与本顺序程序段的首行左对齐。4.良好的人机交互性提示输入/输出数据的含义(1)输入:printf(姓名:);scanf(%s,name);(2)输出:printf(姓名:%sn,name);返回,2023/11/7,40,本章作业与上机实践,作业:2,3,6上机实践:验证本章作业。返回,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号