顺序结构程序设计课件.ppt

上传人:rrsccc 文档编号:10357549 上传时间:2021-05-11 格式:PPT 页数:37 大小:130KB
返回 下载 相关 举报
顺序结构程序设计课件.ppt_第1页
第1页 / 共37页
顺序结构程序设计课件.ppt_第2页
第2页 / 共37页
顺序结构程序设计课件.ppt_第3页
第3页 / 共37页
顺序结构程序设计课件.ppt_第4页
第4页 / 共37页
顺序结构程序设计课件.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

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

1、顺序结构程序设计,1,问题:用程序解决问题的一般过程包括哪几步?,例1:将用户给出的华氏温度转换成摄氏温度。,分析问题: (1)数据定义 :设f表示华氏温度,c表示摄氏温度。 (2)算法描述:,顺序结构程序设计,2,编写程序:,#include int main() float f,c; printf(enter a Fahrenheit:); scanf(“%f”, ,顺序结构程序设计,3,简单程序流程分析:,数据定义 数据处理: 数据的输入 计算处理 结果的输出,提出问题:如何实现数据的输入和结果的输出呢?,顺序结构程序设计,4,主要内容 简单的输入输出 顺序结构程序设计 要求: 学会根据

2、要处理的数据的类型不同合理选用合适的输入/输出函数和格式。,Ch3-2 顺序结构程序设计,顺序结构程序设计,5,3.4 数据的输入/输出,例3.1中用scanf()实现了数据的输入,用printf()实现了数据的输出。 输入输出:是相对于计算机的主机而言的。 输入是指从计算机的外部设备将数据读入主机, 输出是指将数据从主机送到外设(显示器、打印机、磁盘等)。,输入设备(如键盘),主机,输出设备(如显示器),输入,输出,顺序结构程序设计,6,3.4 数据的输入/输出,输入输出的实现:C语言本身没有专门的输入输出语句,输入输出操作是通过函数调用来实现的。 输入输出函数的使用:编程时必须先将输入输出

3、函数所在的头文件:stdio.h 包含进本程序中。使用命令: #include 约定:C语言中的标准输入输出设备约定为用户终端,即键盘和显示器。,顺序结构程序设计,7,输入/输出函数使用提示:,调用输入函数时应该明确: 数据从哪儿输入(省略为键盘)、 以什么格式输入、 输入的数据存放在哪里; 调用输出函数时应该明确: 要输出什么内容、 按什么格式输出、 输出到哪个设备(省略为显示器)。,顺序结构程序设计,8,3.4.3 格式输出函数,1. printf()函数的一般调用格式: printf(格式控制字符串 , 输出表列); 如前面例题中: printf(“n enter a Fahrenhei

4、t :); printf(“f=%f, c=%f”, f, c);,提示:格式控制串包含两部分,即格式控制符、普通字符。 其中,普通字符原样输出,而每个格式控制符控制输出表列中的一个数据的输出格式。,顺序结构程序设计,9,格式字符的使用,例2 输入三角形的三边长(设为整数),求三角形的面积。 要求:输出三条边、面积,并且每个数据占7列宽度、小数点后保留2位。 分析: 首先定义变量保存要处理的数据和结果; 然后设计算法:输入、计算、输出结果; 最后编写程序。,顺序结构程序设计,10,/*输入三角形的三边,求面积*/ #include #include int main( ) int a,b,c;

5、 double s, area; printf(n enter 3 sides(integer): ); scanf(%d%d%d, ,enter 3 sides(integer): 3 4 5 3 sides:a= 3, b= 4, c= 5 area= 6.00,顺序结构程序设计,11,格式字符的作用:,其中,%7d表示按照十进制整型格式输出,域宽为7;%7.2f表示按浮点型格式输出,域宽为7,且小数点后保留2位,右对齐。 若将%7.2f 改为%-7.2f 则 实现左对齐。 具体的格式说明符参见P74 表3.6 其他格式符的使用:对照例题,上机调试,理解常用输出格式控制符的作用,如%c,

6、%s, %ld, %lf等。,顺序结构程序设计,12,3.4.4 格式输入函数,2. scanf()的一般调用格式: scanf(格式控制串, 地址表列); 其中,格式控制串规定了用户的输入格式,地址表列指出了数据存放的地址。 例如:上例中输入三角形的三边。 方法一:格式控制串中只包含格式控制符 scanf(%d%d%d, /*不常用,why?*/,顺序结构程序设计,13,用scanf()时数据的输入格式:,scanf(%d%d%d, 运行时输入:a=3,b=4,c=5 提示:必须按照以上格式输入,否则出错。,比较两种方式:若无特别要求,哪种更方便?,顺序结构程序设计,14,scanf()应用

7、提示:,(1)地址表列中的每个参数都是地址,即指出数据的存放位置;如: scanf(%d%d%d, (2)约定:输入数值数据时,当遇到空格、回车、Tab键等则认为该数据结束。若无特别要求,一般在格式控制串中不使用普通字符或其他复杂的格式符。 (3)格式符与数据类型要匹配。如 %d控制输入整数,%f控制输入浮点数据,%c控制字符输入,%s控制字符串输入。,顺序结构程序设计,15,scanf()格式输入函数应用:,例3:输入某商品的编号(整型)、类别(AZ字符型)、价格(实型),并输出该信息。 特点分析: 混合数据输入,顺序结构程序设计,16,#include int main() int num

8、 ; char class1 ; float price ; printf(n enter the No,class(AZ) and price for goods:); scanf(%d%c%f, ,enter the No,class(AZ) and price for goods:10B98.8 no=10, class = B, price= 98.80,顺序结构程序设计,17,用scanf()输入混合数据:,scanf(%d%c%f, 运行时输入:10B98.8 问题:用scanf()实现混合数据输入麻烦、易出错. 解决方法:合理使用scanf()和getchar(),即将数值与字符

9、分别输入,而不是用一个scanf()函数实现。,顺序结构程序设计,18,3.4.5 字符输入/输出函数:getchar() 和 putchar(),putchar( )函数: 调用格式: putchar(c); 其中,c是要输出的字符,它可以是字符型或整型的常量和变量。当c为整型时,其值应是要输出的字符的ASCII码,范围是0255. 函数功能: 输出一个字符到显示屏的当前光标处。,顺序结构程序设计,19,例4 输出三个字符:A*B。 #include int main() char c1; int c2; c1=A; c2=66; /*给变量c1,c2赋值*/ putchar( n ); /

10、*输出字符n*/ putchar(c1); /*输出变量c1中的字符:A*/ putchar( * ); /*输出字符* */ putchar(c2); /*输出变量c2中的字符:B*/ return 0; ,顺序结构程序设计,20,字符输入:,2. getchar()函数: 调用格式: getchar() 函数功能:从标准输入设备(一般指键盘)读取一个字符,返回该字符的ASCII码。 常用以下方式得到输入的字符: char ch; ch=getchar();,顺序结构程序设计,21,例5输入两个字符,输出每个字符及其ASCII码。 #include int main() char c, d;

11、 printf(n enter two characters:); /提示用户 c=getchar( ); /读取输入字符 d=getchar( ); printf(%c:%dn, c, c); /输出c中的字符及ASCII码 printf(%c:%d, d, d); return 0; ,运行结果: enter two characters:AB A:65 B:66,顺序结构程序设计,22,混合数据输入,用scanf()和getchar()实现例3:输入某商品的编号(整型)、类别(AZ字符型)、价格(实型),并输出该信息。 int main() int num ; char class1 ;

12、 float price ; printf(enter NO: ); scanf(%d , ,enter NO: 10 enter class(AZ): B enter price: 80.8 no=10, class = B, price= 80.80,顺序结构程序设计,23,数值型和字符型数据的混合输入,本程序中分别用scanf()和getchar()输入编号、价格和类别。 并且每次用输入数据后,用getchar() 读取多余的回车符,以免影响后面的正确输入。,混合数据输入,有两种处理方法: 一是在一个scanf()函数中实现所有数据的输入; 二是将数值与字符分别输入,而不是用一个scan

13、f()函数完成。 通常采用第二种方法,用第一种方法输入时容易出错。,顺序结构程序设计,24,getchar()的使用技巧:,放在程序的适当位置,用于暂停程序的执行,查看运行结果。 用法1:在程序结束前添加语句 getchar(); 可以实现在直接运行可执行文件时,显示结果、等待用户按回车键才结束。 用法2:在大量数据输出时,在输出一段数据后使用getchar()语句,可以让用户能够看到每段输出结果,否则只能看到最后的一屏。,顺序结构程序设计,25,Enter键的作用:,特别提示: 从键盘输入数据时,并不是键入一个字符后立即将其送入主机,而是等到按下回车键(Enter)后,才能把这一行字符送入计

14、算机的数据缓冲区,然后输入函数从缓冲区的第一个字符开始逐个读取数据。 只有当缓冲区中无数据可读时,才等待用户输入。,顺序结构程序设计,26,注:以下例题供大家阅读、总结知识点及其用法。,顺序结构程序设计,27,3.4.5 顺序结构程序设计举例,例6交换两个整型变量的值。 分析:首先定义程序中要用到的变量,设两个整型变量为a、b。 然后设计算法:输入两个整数a、b 交换a、b的值 输出交换后的a、b的值。 其中,实现 的方法有两种: 一是用第三个变量c暂存其中一个数,如程序1。 二是不使用第三个变量,利用其中一个变量保存两数之和,通过减法来实现,如程序2。,顺序结构程序设计,28,程序1:利用中

15、间变量交换两个变量的值。 int main() int a, b, c; /定义变量,a、b表示输入的两个整数,c为中间变量 printf(n enter 2 integers to a, b:); scanf(%d%d, 思考:若将三个交换语句的顺序调整,结果如何?,运行结果: enter 2 integers to a, b:4 6 a=6, b=4,顺序结构程序设计,29,程序 2:不使用中间变量交换两个变量的值。 int main() int a, b; printf(n enter 2 integers to a, b:); scanf(%d%d, ,顺序结构程序设计,30,顺序结构

16、程序设计,例7 输入一个数字符号,并转换成相应的整数输出。如读入字符8,转换成整数8输出。 分析: 首先数据说明:定义程序中要使用的变量,设字符变量ch 存放读入的字符,整型变量d存放转换后的整数。 然后设计算法: 输入一个字符给ch 将字符ch转换成对应的数值d 输出d。,顺序结构程序设计,31,其中第二步如何转换呢? 即:将字符转换成对应的数字。 利用ASCII码的编码规律:0 ,1,29的ASCII码值是连续的,即48、49、5057。 因此,只要将数字字符与字符0相减,结果就是该字符对应的数值。如8- 0值为8。,顺序结构程序设计,32,程序: #include int main()

17、char ch; int d; printf(n enter a character(09):); ch=getchar( ); /*读入一个字符并赋给ch */ d=ch -0; printf(d=%d, d); return 0; ,思考:如何将数字转换成对应的字符呢?,顺序结构程序设计,33,总结: C语句,了解C的基本语句: 简单语句:又称表达式语句。 在一个表达式的后面加上分号即构成表达式语句,例如 x=0; k+; printf(n welcome); 复合语句: 用一对花括号 括起来的多个语句序列,(见下页) 注意:复合语句以“”结束,后面不需再加分号。 3. 流程控制语句:用来

18、控制程序中语句的执行顺序。C语言中提供了9种流程控制语句(下面的章节将要学习),顺序结构程序设计,34,int main() int i=1; long s=1; while(i=100) s+=i; i+; printf(“%ld”,s;); return 0; ,复合语句, 语法上算一条语句,顺序结构程序设计,35,小结:,程序处理数据的过程包括数据数据、计算、输出结果; 输入输出是相对于主机而言的; printf()函数实现了数据的格式化输出,scanf()实现了数据的格式化输入,学会根据数据的类型和要求的格式选择合适的格式控制符。 数值型和字符型数据混合输入时最好分别输入,每次输入数据后用getchar()读取多余的回车符。,顺序结构程序设计,36,作业:,改写习题 7:从键盘输入圆的半径、圆柱体的高度,然后计算并输出结果。,顺序结构程序设计,37,预习:选择结构,1、如何用流程图表示选择结构? 2、什么问题需要用选择结构描述? 3、C语言中用什么语句实现选择结构? 4、C语言中如何表示条件? 5、编程实现:输入一个学生某门课的成绩,判断是否及格(60分及其以上为及格)。,

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

当前位置:首页 > 社会民生


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