C语言程序课件ppt-第3章算法、输入输出函数、顺序结构.ppt





《C语言程序课件ppt-第3章算法、输入输出函数、顺序结构.ppt》由会员分享,可在线阅读,更多相关《C语言程序课件ppt-第3章算法、输入输出函数、顺序结构.ppt(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3 3章章 算法、输入输出函数、顺序结构算法、输入输出函数、顺序结构 算法及其算法的表示方法算法及其算法的表示方法 C C语句概述语句概述 基本的数据输入基本的数据输入/输出函数输出函数 简单的简单的C C程序设计程序设计 著名计算机科学家沃思(著名计算机科学家沃思(Niklaus Wirth)Niklaus Wirth)提出提出 程序程序 =数据结构数据结构 +算法算法描述数据的类描述数据的类型、组织形式型、组织形式描述对数据描述对数据的操作步骤的操作步骤3.1算法的概念及常用的描述方法算法的概念及常用的描述方法3.1.1算法的概念算法的概念做事情都有做事情都有方法方法、步骤步骤(顺序)
2、(顺序)决定事情成败决定事情成败1、算法:计算机求解某一问题而采用的具体方法、步骤、算法:计算机求解某一问题而采用的具体方法、步骤2、两大类计算机算法:数值运算算法(求数值解、两大类计算机算法:数值运算算法(求数值解-成熟)成熟)非数值运算算法非数值运算算法(事务管理事务管理-广泛)广泛)3、算法的特性:有穷性、确定性、有效性等、算法的特性:有穷性、确定性、有效性等4、算法的描述:描述算法的方法有多,归纳为两大类:、算法的描述:描述算法的方法有多,归纳为两大类:(1)文字)文字(2)图形(符号)图形(符号)3.1.2 算法的常用描述方法算法的常用描述方法1、带序号的自然语言描述、带序号的自然语
3、言描述-易懂却不直观,不严格。易懂却不直观,不严格。2、流程图:灵活、自由、形象、直观,可表示任何算法。、流程图:灵活、自由、形象、直观,可表示任何算法。输入输入/输出输出 处理处理 判断判断 起止起止 连接点连接点 流程线流程线N-S流程图流程图4、伪代码:用介于自然语言与计算机语言之间的文字及符号来、伪代码:用介于自然语言与计算机语言之间的文字及符号来描述算法(方便、易懂、便于向计算机语言过渡)描述算法(方便、易懂、便于向计算机语言过渡)3、N-S图(盒图)特点:完全去掉了带箭头的流程线,算法的图(盒图)特点:完全去掉了带箭头的流程线,算法的所有步骤都写在大矩形框(表示简单、符合结构化思想
4、)。所有步骤都写在大矩形框(表示简单、符合结构化思想)。ABP真真假假ABA当当P成立成立A直到直到P成立成立(a)顺序结构)顺序结构(b)选择结构)选择结构(c)当型循环)当型循环(d)直到型循环)直到型循环自然语言描述:自然语言描述:1、0 s单元单元2、1 n单元单元3、s+n s4、n+1 n5、判断、判断n100?是,转是,转3;否,则转;否,则转66、输出、输出s的值的值流程图描述:流程图描述:开始开始0 0 S1 nS+n Sn+1 nn100输出输出输出输出s sN-S图描述:图描述:0 s1 n n100?s+n s n+1 n 输出输出s的值的值伪代码描述:伪代码描述:0
5、s1 nif n100 s+n s n+1 nprint s 3.1.33.1.3结构化程序设计方法结构化程序设计方法一、结构化程序的三种基本结构一、结构化程序的三种基本结构19661966年提出三种基本结构,用这三种基本结构作为表示年提出三种基本结构,用这三种基本结构作为表示一种良好算法的基本单元:顺序、选择、循环。一种良好算法的基本单元:顺序、选择、循环。ABP真真假假ABA当当P成立成立A直到直到P成立成立(a)顺序结构顺序结构(b)选择结构选择结构(c)当型循环当型循环(d)直到型循环)直到型循环二、三种基本结构的共同特点二、三种基本结构的共同特点(1)单入口单出口)单入口单出口(2)
6、结构内的每一部分都有机会被执行)结构内的每一部分都有机会被执行(3)不存在)不存在“死循环死循环”三、结构化程序设计的优点三、结构化程序设计的优点用三种基本结构组成的程序是结构化程序用三种基本结构组成的程序是结构化程序优点:易编、易读、易懂、易维护优点:易编、易读、易懂、易维护强调强调程序设计风格程序设计风格和和程序结构的规范化程序结构的规范化核心思想:自顶向下,逐步细化,模块化设计,结构化编核心思想:自顶向下,逐步细化,模块化设计,结构化编码码 四、结构化程序设计过程四、结构化程序设计过程1、确定算法:分析问题(建立数学模型)写出算法描述、确定算法:分析问题(建立数学模型)写出算法描述2、编
7、写程序:用计算机语言写出实现算法的程序、编写程序:用计算机语言写出实现算法的程序3、上机调试:、上机调试:举例:张丘建举例:张丘建算经算经中提出中提出“百鸡问题百鸡问题”:鸡翁一值钱:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、母、雏各几何?鸡翁、母、雏各几何?(1)分析:)分析:cocks+hens+chicks=100 5*cocks+3*hens+chicks/3=100其中:其中:0cocks 19,0 hens 33,0 chicks 100思路思路:依次取:依次取cocks的值域中的值,然后求其余两数,看的值域中的值,
8、然后求其余两数,看是否合乎题意。是否合乎题意。算法描述算法描述:cocks=0cocks=0当当cocks cocks 19 19时时 找满足题意的找满足题意的hens,chickshens,chicks数数;cocks cocks 加加1 1 细化细化cocks=0cocks=0当当cocks cocks 19 19时时 hens=0 hens=0 当当hens hens 33 33时时 找满足题意的找满足题意的chickschicks数;数;hens hens 加加1 1 cocks cocks加加1 1 细化细化cocks=0cocks=0当当cocks cocks 19 19时时 he
9、ns=0 hens=0 当当hens hens 33 33时时 chicks=100-cocks-hens chicks=100-cocks-hens 如果如果5*cocks+3*hens+chicks/3=100,5*cocks+3*hens+chicks/3=100,5*cocks+3*hens+chicks/3=100,5*cocks+3*hens+chicks/3=100,则输出则输出则输出则输出 hens hens 加加1 1 cocks cocks加加1 1(2)用计算机语言写出程序)用计算机语言写出程序#include stdio.hvoid main()int cocks=0,
10、hens,chicks;while(cocks=19)hens=0;while(hens=33)chicks=100-cocks-hens;if(5.0*cocks+3.0*hens+chicks/3.0)=100.0)printf(%d%d%dn,cocks,hens,chicks);hens+;cocks+;(3)调试程序)调试程序变量定义与初始化变量定义与初始化赋值语句赋值语句选选择择结结构构复合语句复合语句循环语句循环语句025754187881181124843.2 C语言的基本语句语言的基本语句一、语句一、语句用来对数据进行加工用来对数据进行加工(完成操作任务完成操作任务),是构成
11、程序的基,是构成程序的基本单位,通常一个本单位,通常一个C C程序由若干个函数程序由若干个函数(系统系统/用户用户)组成,组成,每一函数由若干条语句组成。每条语句总是以每一函数由若干条语句组成。每条语句总是以”;”结束。结束。二、二、C C语句的分类语句的分类可分为三大类:可分为三大类:简单语句、复合语句、空语句简单语句、复合语句、空语句(一)简单语句(一)简单语句(1 1)表达式语句:由一个表达式后跟)表达式语句:由一个表达式后跟“;”组成组成赋值语句:赋值表达式加一个赋值语句:赋值表达式加一个;号号 如:如:s=3.14159*r*r;i+;s=3.14159*r*r;i+;函数调用语句:
12、函数调用表达式加一个;号函数调用语句:函数调用表达式加一个;号 如:如:printf(printf(“Hello,worldnHello,worldn”););函数调用语句函数调用语句表达式语句表达式语句(2(2)结构控制语句:控制程序的流程)结构控制语句:控制程序的流程(二)复合语句:将一组语句括在一对(二)复合语句:将一组语句括在一对中,如中,如复合语句复合语句、复合语句的、复合语句的之后不能有之后不能有;复合语句中可以是简单语句、复合语句、空语句复合语句中可以是简单语句、复合语句、空语句(三)空语句:;(三)空语句:;/*/*仅有一个;仅有一个;*/空语句什么也不做。有时用做被转向点,或
13、为循环语句提供空体。空语句什么也不做。有时用做被转向点,或为循环语句提供空体。空语句空语句控制语句控制语句 3.3 数据输入与输出数据输入与输出l输入和输出是以计算机主机为主体而言。输入和输出是以计算机主机为主体而言。输出外部输出外部设备:显示屏,打印机,磁盘。输入设备:设备:显示屏,打印机,磁盘。输入设备:键盘,键盘,扫描仪等。扫描仪等。默认输入设备是默认输入设备是键盘键盘,输出设备是,输出设备是显示显示器器lC 语言不提供输入输出语句语言不提供输入输出语句,输入输出操作是由函数输入输出操作是由函数来完成的。如前面提到的来完成的。如前面提到的printf和和scanf。它们是函。它们是函数名
14、不是数名不是C 语言的关键字。语言的关键字。l要用要用预编译命令预编译命令将库函数文件包括到用户源文件中。将库函数文件包括到用户源文件中。如:如:#include “stdio.h”或或#include 3.3.1 格式输出函数格式输出函数 printf()作用作用:向终端向终端(或系统隐含指定的输出设备或系统隐含指定的输出设备)输出输出若干个任意类型的数据若干个任意类型的数据。1.一般格式:一般格式:printf(“格式控制格式控制符符”,输出列表),输出列表)例如:例如:printf(“%d%d”,a,b););格式控制格式控制 输出列表输出列表printf(“%d b=%dn”,a,b)
15、格式说明格式说明 普通字符普通字符 转义字符转义字符 输出列表输出列表 结果结果 3 b=4完整的格式完整的格式:%:%标志标志输出最小宽度输出最小宽度.精度精度长度长度类型类型%-0 0 m.n m.n l/hl/h 格式字符格式字符 指定输出的数据类型指定输出的数据类型 输出长度的修正输出长度的修正 指定输出域宽和精度指定输出域宽和精度 指定空位填指定空位填0 0 指定左对齐输出指定左对齐输出 格式说明的引导符格式说明的引导符2 2、长度修正符、长度修正符L L:对整型数指定长整型:对整型数指定长整型longlong 例例:%ld,%lx,%lo,%lu:%ld,%lx,%lo,%lu :
16、对实型指双精度对实型指双精度double.double.如:如:%lf%lfh:h:只用于整型的格式字符修正为只用于整型的格式字符修正为shortshort 例:例:%hd,%hx,%ho,%hu%hd,%hx,%ho,%hu3 3、域宽和精度的描述、域宽和精度的描述m:m:域宽,即对应的输出项在输出设备上所占的字符数。域宽,即对应的输出项在输出设备上所占的字符数。若实际数宽度若实际数宽度mm,按实际数据宽度输出,按实际数据宽度输出若实际数宽度若实际数宽度mm,左边补空,左边补空n n:精度,说明输出的实型数的小数位数精度,说明输出的实型数的小数位数例例3.33.3#include#inclu
17、de void main()void main()int i=5;int i=5;float f=32.345;float f=32.345;printf(i=%3df=%5.1fn,i,f);printf(i=%3df=%5.1fn,i,f);printf(End.n);printf(End.n);格式控制字符串格式控制字符串:i=%3df=%5.1fn%5 .1 f引导符引导符 宽度宽度 小数位数小数位数(精度精度)类型符类型符结果:结果:i=5f=32.3i=5f=32.3 End.End.4.格式字符格式字符(1 1)d)d或或i i格式符。用来输出十进制格式符。用来输出十进制带符号带
18、符号整数整数。(2)o(2)o格式符。用来输出格式符。用来输出无符号无符号8 8进制整数进制整数。(3)x(3)x格式符。用来输出格式符。用来输出无符号无符号1616进制整数。进制整数。(4)u(4)u格式符格式符。用来输出十进制无符号整数用来输出十进制无符号整数例例3.43.4:#include#include void main()void main()unsigned short int a=65535u;unsigned short int a=65535u;short int b=-2;short int b=-2;printf(a=%hdprintf(a=%hd,%#ho%#ho,
19、%hx%hx,%hun,a,a,a,a);%hun,a,a,a,a);printf(b=%hdprintf(b=%hd,%ho%ho,%#hx%#hx,%hun,b,b,b,b);%hun,b,b,b,b);运行结果为:运行结果为:a=-1a=-1,01777770177777,ffffffff,6553565535 b=-2 b=-2,177776177776,0 xfffe0 xfffe,6553465534(5)c格式符。用来输出一个字符。格式符。用来输出一个字符。(6)s格式符。用来输出一个字符串格式符。用来输出一个字符串。(7)f格式符用来输出实数,以小数形式输出格式符用来输出实数,
20、以小数形式输出。(8)e格式符。以指数形式输出实数格式符。以指数形式输出实数。(9)g格式符。用来输出实数格式符。用来输出实数,自动选用,自动选用%f或或%e格式中格式较格式中格式较短的一种格式,不输出无意义的零。短的一种格式,不输出无意义的零。(10).%输出输出%例例3.53.5#include#include void main()void main()float a,b;float a,b;char c=a;char c=a;int i=97;int i=97;a=31.1111;a=31.1111;b=28.333;b=28.333;printf(%f,%7.4fn,a+b,a-b)
21、;printf(%f,%7.4fn,a+b,a-b);printf(%c,%dn,c,c);printf(%c,%dn,c,c);printf(%c,%dn,i,i);printf(%c,%dn,i,i);printf(printf(“%s,%n%s,%n”,“chinachina”););结果:结果:59.444099,2.778159.444099,2.7781 a,97 a,97 a,97 a,97 china,%china,%5 5、printf()printf()函数使用注意事项函数使用注意事项n 编译程序只是检查编译程序只是检查printf函数的调用形式,不分析格式控函数的调用形式
22、,不分析格式控制字符串,如果格式字符与输出项的类型不匹配,不进行制字符串,如果格式字符与输出项的类型不匹配,不进行类型转换类型转换;n格式控制字符串中可以包括转义字符格式控制字符串中可以包括转义字符;n格式字符要用小写字母格式字符要用小写字母;n格式控制字符串中的普通字符原样输出格式控制字符串中的普通字符原样输出;n输出项的参数除了常量、变量外,还可以是表达式,函数输出项的参数除了常量、变量外,还可以是表达式,函数调用,如:调用,如:printf(printf(“max=%dti=%dnmax=%dti=%dn”,imax(a,b),i+);,imax(a,b),i+);例例3.63.6#in
23、clude#include void main()void main()int i=321;int i=321;float f=123.456;float f=123.456;printf(%5d:,i);printf(%5d:,i);printf(%5.2fn,i);printf(%5.2fn,i);printf(%5d:,f);printf(%5d:,f);printf(%5.2fn,f);printf(%5.2fn,f);结果结果:321:0.00:321:0.00 5368709102:123.46 5368709102:123.463.3.2 格式输入函数格式输入函数scanf()格
24、式格式:scanf(“格式控制格式控制符符”,变量变量地址列表地址列表)作用:按格式控制符的要求将数据从终端传送到变量地址所作用:按格式控制符的要求将数据从终端传送到变量地址所指定的内存空间。指定的内存空间。1、变量地址、变量地址变量的地址通过对变量名变量的地址通过对变量名“求地址求地址”运算得到运算得到形式:形式:&变量名变量名例:例:3.7#include void main()int a;float b;scanf(%d%f,&a,&b);printf(%d%fn,a,b);2 2、格式控制符、格式控制符(1 1)、格式说明项(与)、格式说明项(与printfprintf基本相同)基本相
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 程序 课件 ppt 算法 输入输出 函数 顺序 结构

限制150内