《【教学课件】第3章算法和基本程序设计.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第3章算法和基本程序设计.ppt(29页珍藏版)》请在三一办公上搜索。
1、第3章 算法和基本程序设计,结构化程序设计和基本程序结构,数据结构+算法=程序,数据结构:指对数据(操作对象)的描述。,算法:指对操作步骤的描述。,正确的算法应具有的特性:,1、有穷性,2、确定性,3、有0n个输入数据,4、有1n个输出数据,5、有效性,算法的表示形式:,1、自然语言,2、流程图,3、N-S图,4、伪代码,5、PAD图,流程图,例:求三个整数的和,main()float x,y,z,sum;scanf(“%f,%f,%fn”,例2:求三个数中最小数,main()float a,b,c,min;scanf(“%f,%f,%fn”,N-S图,完全去掉流程线,由一些基本框组成一个大的
2、框基本元素框,例1:求三个整数的和,流程图,N-S图,例2:求三个数中最小数,流程图,N-S图,结构化程序设计,基本思想:,把一个复杂问题的求解过程分步进行,后一步在前一步的基础上细化,这样每步所考虑的子问题都相对易于理解和处理,每步都只用三种基本结构进行复合和嵌套。也可以概括为:自顶向下,逐步求精的方法。,基本程序结构,三种:顺序结构、选择结构、循环结构,1.顺序结构,先执行A,再执行B.,2.选择结构,若P为真,则执行A,否则执行B。,若P为真,则执行A,否则跳过A。,另外:由选择结构可以派生出多分支结构。,3.循环结构,(1)当型循环当P为真,反复执行A,P为假时出循环。,(2)直到型循
3、环先执行A,再判断,若P为真,反复执行A,直到P为假出循环。,顺序结构程序设计,C程序概述,语句分类:,由语句组成,每个语句以分号结束。,控制语句,表达式语句,函数调用语句,空语句,复合语句,C中数据的输入输出,输入:将数据送入计算机。,输出:将计算机处理的结果数据送出到输出设备。,说明:,1、语言中,数据输入输出是由库函数完成。,2、使用库函数时,用预编译命令将有关“头文件”包括到源文件中。,3、标准输入输出库函数:“stdio.h”文件,4、源文件开头应有以下预编译命令:#include 或#include stdio.h,1.putchar 函数(字符输出函数),字符数据的输入/输出,格
4、式:putchar(c)参数:c为字符常量、变量或表达式功能:把字符c输出到显示器上,例:,#include main()int c;char a;c=65;a=B;putchar(c);putchar(n);putchar(a);,运行结果:A B,2、getchar函数(字符输入函数),格式:getchar()功能:从键盘读入一字符,遇回车结束并回显,例:,#include main()char c;c=getchar();putchar(c);,运行时:a 结果 aa,getch函数,格式:getch()功能:从键盘读入一字符,不用回车结束,不回显,例:,#include main()c
5、har c;c=getch();putchar(c);,运行时:a 结果 a,getche函数,格式:getche()功能:从键盘读入一字符,不用回车结束,回显,例:,#include main()char c;c=getche();putchar(c);,运行时:a 结果 aa,格式输入与输出,输出若干个任意类型的数据,1、printf函数(格式输出),格式:printf(“格式控制串”,输出表)功能:按指定格式向显示器输出数据说明:标准库函数,函数原型在头文件“stdio.h”中,格式控制串:,格式说明:,普通字符或转义序列:,%格式字符,用于指定输出格式,原样输出,输出表:,要输出的数据
6、(可以没有,多个时以“,”分隔),格式字符,1、%d,十进制格式,2、%o,八进制格式,3、%x,十六进制格式,4、%u,无符号的十进制格式,5、%c,一个字符格式,6、%s,字符串格式,7、%f,实数格式,8、%e,指数格式,9、%g,2、scanf函数(格式输入),格式:scanf(“格式控制串”,地址表)功能:按指定格式从键盘读入数据,存入地址表指 定的存储单元中,按回车键结束说明:标准库函数,在头文件“stdio.h”中定义,格式控制串:和格式输出函数的含义相同,地址表:变量的地址,用取地址运算符&,例 int a;scanf(“%d”,输入:10,则 a=10,关于格式输入函数的几点
7、说明:,1、输入数据时不能规定精度;,2、参数中“格式控制”之后应该是变量地址;,3、如果在“格式控制”字符串中除了格式说明以外,还有其他字符,则在输入数据时应输入与这些 字符相同的字符;,例:scanf(”%7.2f”,&a);,例:scanf(”%f”,a);,例:scanf(”a=%d,b=%d”,&a,&b);,输入时应该是:a=3,b=4,4、在用“%c”格式输入字符时,空格字符和转义 字符都作为有效的字符输入。,例:scanf(”%d%d”,&a,&b);,输入时可为:3 4,3 4,3Tab键4,例:scanf(”%c%c%c”,&c1,&c2,&c3);,若输入时为:a b c
8、,则结果为:c1=a,c2=,c3=b,5、double型数据输入时,必须用%lf或%le格式,程序举例,例1、输入三角形边长,求面积。,公式:s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);,#include#include main()float a,b,c,s,area;printf(input a,b,c:);scanf(%f,%f,%f,input a,b,c:3,4,6 area=5.33,例2、编写显示如下界面的程序:,#include stdio.hmain()clrscr();printf(%sn,学生管理程序”);printf(%sn,Add追加数据 Modify修改数据”);printf(%sn,Delete删除数据 Print打印数据”);printf(%sn,Sort成绩排序 Quit退出程序”);,C程序上机的步骤,C程序从开发到执行的过程,作 业,1、编一程序,求两点之间的距离,已知直角坐标系中求两点(x1,y1)和(x2,y2)之间距离公式为:d=(x2-x1)2+(y2-y1)2,2、编一程序,将输入的摄氏温度转换为华氏温度和 绝对温度。转换公式为:F=C+32 K=273.16+C,