第03章顺序程序设计.ppt

上传人:本田雅阁 文档编号:3417292 上传时间:2019-08-23 格式:PPT 页数:39 大小:1.46MB
返回 下载 相关 举报
第03章顺序程序设计.ppt_第1页
第1页 / 共39页
第03章顺序程序设计.ppt_第2页
第2页 / 共39页
第03章顺序程序设计.ppt_第3页
第3页 / 共39页
第03章顺序程序设计.ppt_第4页
第4页 / 共39页
第03章顺序程序设计.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《第03章顺序程序设计.ppt》由会员分享,可在线阅读,更多相关《第03章顺序程序设计.ppt(39页珍藏版)》请在三一文库上搜索。

1、第3章 顺序程序设计,程序设计语言,2,回顾,常量是在程序中不能被更改的值;而变量在程序中可以被更改的,通过变量可以引用存储在内存中的数据 C语言中的基本数据类型包括整型、单精度浮点型、双精度浮点型和字符型 整型分为短整型、整型、长整型,每种整型又可分为有符号型和无符号型 单精度浮点型和双精度浮点型变量可存储实数,但双精度型取值范围要比单精度型大的多 字符型变量可以存储单个字符,其值是该字符的ASCII 码 表达式是操作数和运算符以及括号的有意义的组合 赋值运算符的语法如下:variable = expression; 算术运算符提供运算功能,包括+、-、*、/、%、+和-,3,教学目标,了解

2、语句的基本概念 了解语句的分类 掌握字符输入输出函数getchar和putchar 掌握格式输入输出函数scanf和printf 算法及其表示 掌握顺序程序设计,4,C语言中的语句,语句:由常量、变量、运算符、表达式等按一定规则组合,并以;结束 变量声明语句 int a=1; 函数调用语句 printf(“hello world!“); 表达式语句 k+; k = k+1; 空语句 ; 复合语句 t = x; x = y; y = t; 控制语句 if(a=1) b=2; else c=3; return;,被当作一个整体来处理,什么也不做,只表示语句的存在,赋值语句,5,字符输入输出函数,g

3、etchar(),字符型数据,字符型数据,putchar(),6,getchar和putchar函数,#include void main() char ch; printf(“Press a key and then press Enter:“); ch = getchar(); printf(“You pressed “); putchar(ch); putchar(n); ,运行程序,Press a key and then press Enter:,A,You pressed,A,该语句的作用是什么?,7,getchar和putchar函数使用,#include void main()

4、 char a,b; printf(“ 请输入2个字符:n“); a=getchar(); fflush(stdin); b=getchar(); fflush(stdin); putchar(a); putchar(b); putchar(n); ,O,K,输出: 请输入两个字符: O K OK Press any key to continue_,8,格式输入输出函数,输入/输出函数 (scanf/printf) 用于接受和显示数据或信息,#include int main(void) int num; printf(“请输入一个数:“); scanf(“%d“, ,格式字符串,转义序列,

5、printf()函数的一般形式为: printf(“格式描述串”,变量列表); 说明: 第一个参数说明采用什么样的格式输出内容。 格式描述串中可以包含格式字符串(以“%”开始),也可以包含转义序列(以“”标识)。 第二个参数是要显示其值的参数列表。 如果格式描述串中没有特殊字符“%”,那么该输出语句里就不能有变量列表,也不需要表示分隔的逗号这是使用printf()函数的最简单的形式。,9,printf函数,int visitor_count = 150; printf (“ %d“ , visitor_count);,printf,将一些信息按照指定的格式送到标准输出(显示器),“ %d“,v

6、isitor_count,将按指定的格式显示该变量的值,10,printf函数,int visitor_count = 150; printf (“ %d“ , visitor_count);,输出结果:150,重要结论:printf函数格式串中除了格式控制符外,若包含其它常量字符,则其中所有字符都将在屏幕上原样输出。,11,printf函数,int salary = 5500; printf (“ %10d“ , salary);,输出结果: 5500,输出结果的左边显示了 6 个空格,“ %10d“,12,printf函数,float circumference = 78.53; prin

7、tf (“ %f“ , circumference);,输出结果:78.530000,默认情况下精确到六位小数,9.4786789;,9.478679,13,printf函数,double mercury_level = 168.2251074; printf (“%7.2f“ , mercury_level);,输出结果: 168.23,宽度:表示所有的数字和小数点所占的位数。不够7位右对齐,“ %7.2f“,精度:精确到小数点后多少位,14,scanf函数,scanf(“%d“,scanf 函数从标准输入(键盘)读取信息,按照格式描述把读入的信息转换为指定数据类型的数据,并把这些数据赋给指

8、定的程序变量。,格式字符串,&符号(附在读取的每个变量上)用于指明变量在内存中的位置,变量的名称,15,scanf函数,内存,float tax_rate; scanf (“ %f“ , ,tax_rate,在内存中分配一块 32 位存储空间 存储空间使用名称“tax_rate”标识,提示用户输入一个值 输入的值存储在变量中(因为 scanf 提供此变量的地址),12.234,16,scanf函数常见错误,常见错误 scanf(“%d,%fn”,注意:scanf函数格式字符中不能有精度n和n,17,scanf函数使用,#include void main() int a, b; printf(

9、“Please input integer a and b:“); scanf(“%d%d“, ,Please input a and b: 34 a=12, b=34, a+b = 46,12,以回车键作为分隔符,以空格或TAB键作为分隔符,18,scanf函数使用,#include void main() int a, b; printf(“Please input a and b:“); scanf(“%d,%d“, ,Please input a and b:,a=12, b=34, a+b = 46,12,34,重要结论:scanf函数格式串中除了格式控制符外,若包含其它常量字符,则

10、其中所有字符都必须在键盘上原样输入。,19,输入数据的格式控制,#include void main() int a, b; scanf(“%d %d“, ,问题:将语句scanf(“%d %d“, 时,用户应该如何输入数据?,a = 12, b = 34,20,输入数据的格式控制,#include void main() int a, b; scanf(“%d %d“, ,问题:如果限定用户输入数据为以下格式为 a = 12, b = 34 同时要求程序输出结果为a = “12“, b = “34“,scanf(“a = %d, b = %d“, ,21,输入输出示例,例:从键盘输入一个小写

11、英文字母,转化为大写字母并输出。 分析: 单字母的输入输出可用getchar()、putchar()函数 大小写字母的编码相差32,大写字母=小写字母-32 #include void main() char ch; printf(“输入一个小写字母:n”); ch=getchar(); ch=ch-32; printf(“对应的大写字母为:”); putchar(ch); ,ch=getchar()-(a-A);,ch=getchar()-32;,问:输入数据不是小写字母,程序会咋样?,22,算法,算法: 为解决某个具体问题而采取的确定且有限的操作步骤,仅指计算机能执行的算法 程序 = 数据

12、结构 + 算法 算法特性 有穷性:只包含有限个操作步骤 确定性:每一条指令有确切含义,无歧义 有效性:算法是可以实现的 0n个输入:通过输入得到要处理的数据 1n个输出:输出问题的解,23,算法的基本结构,结构化程序的3种基本结构 顺序结构 程序中的语句按照先后顺序依次逐条执行 选择结构 根据所满足的条件有选择的执行程序段 循环结构 根据设定的条件重复执行某程序段 已证明 任何复杂的问题都可以由3种基本结构组成的算法来解决,24,算法的表示方法,自然语言表示 传统的流程图表示 用几何图形代表各类操作,图形内表明文字表示操作内容,箭头表示操作的顺序 N-S图表示 将算法写在一个大的矩形框内,由一

13、系列方块组成 伪代码表示 用介于自然语言与计算机语言之间的文字及符号来描述算法(方便、易懂、便于向计算机语言过渡),25,程序流程图表示方法,也称为程序框图,常使用的标准符号如下: 圆角框:表示开始或结束 平行四边形:表示数据输入与输出 矩形框:表示一个处理,处理内容写于框内 菱形框:表示一个判断,判断条件写于框内 箭头:表示程序流程,26,流程图的五种基本控制结构,27,求给定10个数中最大数的程序流程图,28,N-S图的表示方法,N-S图也叫做盒图。五种基本控制结构图形表示,29,求给定10个数中最大数的N-S图,30,顺序程序设计,例1:编写一个重量单位换算程序,输入用公斤表示的重量,然

14、后程序能够转换并输出用镑和盎司表示的等效重量。 请输入重量(公斤):23 转换为用磅表示的重量(磅):50.7055 转换为用盎司表示的重量(盎司):811.287 其中:公斤、磅和盎司的转换公式: 1磅=16盎司=0.4536千克(公斤),问题 如何设计变量及选择相应的数据类型? 如何设计算法,实现公斤、磅和盎司的转换?,31,顺序程序设计,设计数据结构 确定变量的个数:3个 确定变量的数据类型 程序需要处理带小数点的数值,变量的数据类型需选用实型,这里选可以对实数进行操作的double型 因此设计变量为: double kilogram, pound, ounce; /公斤、镑、盎司 设计

15、算法如下: 1. 输入用公斤表示的重量:scanf函数 2. 将重量转化为磅:pound=kilogram/0.4536; 3. 将磅转化为盎司:ounce=pound*16; 4. 输出转换后的重量:printf函数,问题分析,32,顺序程序设计,/ 重量单位换算 #include void main() double kilogram, pound, ounce; /公斤、镑、盎司 printf(“请输入重量(公斤):“); scanf(“%lf“, ,33,顺序程序设计,例2:从键盘输入两个整数给变量x和y,然后输出x和y,交换x和y的值后再输出x和y。 分析: 确定变量 确定算法 #i

16、nclude void main() int x,y,temp; printf(“输入两个整数x和y:”); scanf(“%d%d”, ,int x,y,temp; temp=x; x=y; y=temp;,34,顺序程序设计,思考练习: 从键盘输入三个整数给变量a、b和c,然后输出a、b和c ,交换a、b和c的值,即a的值给b,b的值给c,c的值给a,然后再输出a、b和c 。 #include Void main() int a,b,c,temp; printf(“输入三个整数a、和c:”); scanf(“%d%d%d”, ,temp=c; c=b; b=a; a=temp;,35,顺序

17、程序设计,例3:输入一个华氏温度,计算并输出对应的摄氏温度值,输出时保留2位小数。,#include void main() float c, f; /c和f分别存放摄氏温度和华氏温度 printf(“请输入一个华氏温度:“); scanf(“%f“, ,c=5./9* (f-32);,36,顺序程序设计,找零钱问题:假定有5角、1角、5分、2分和1分共5种硬币,在给顾客找硬币时,一般都会尽可能地选用硬币个数最小的方法。例如,当要给某顾客找7角2分钱时,会给他一个5角,2个1角和1个2分的硬币。试编写一个程序,输入的是要找给顾客的零钱(以分为单位),输出的是应该找回的各种硬币数目,并保证找回的

18、硬币数最少。 解题思考:利用整数除法/和求余运算符%的特点,计算每种硬币的数目和每次剩余零钱的金额。,37,总结,了解语句的基本概念 了解语句的分类 掌握字符输入输出函数getchar和putchar 掌握格式输入输出函数scanf和printf 掌握顺序程序设计,学习C程序设计的重点: 掌握基本语法概念 掌握一些常用算法,38,上机与作业,练习 教材:P56:2、3、10、11、12、14 上机作业 教材: P58:5、6、7、8、9 实验指导书 P27:6、8,#include void main() float a=0.5,b=0.2,c=0.1,d=0.02,e=0.01; int b1,b2,b3,b4; int a1,a2,a3,a4,a5,sum; printf(“请?输?入?零?钱?的?金e额?n“); scanf(“%f“, ,39,

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1