




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、詹华才学出版社GHUA UNIVERS第3章最简单的C程序设计顺序程序设计A要编写C程序,需要两个方面的知识:一是根据所解问题的要求,设计出解题的具体步骤,这步骤称为设计算法二是用C语言写出程序,以便计算机能正 确地执行34算法是程序的灵魂3.2程序的三种基本结构3 C语句综述 4赋值表达式和赋值语句 5数据输入输出的概念 6字符数据的输入输出7简单的格式输入与输出顺序结构程序设计举例3.9提高部分INGHUA 3监8空江RE竺本章要点单注的IH念以表示方沫 菇构化程护投计方法 C珥旬 Uff站构的程序投计语旬及方沬INGHUA 3监8空江RE竺3.1算法概述主要内容3.2程序的三种基本结构3
2、.3 C语句综述3.4 K值表这式和JR值语句3.5数据输入输出的概念3.6字符数据的输入输出3.7简单的格茨输入与输出3.8 K序结构程序披廿举例3.1算法概述一个程序应包括两个方面的内容:对数据的描述:数据结构(data structure) 对操作的描述:算法(algorithm)著名计算机科学家沃思提出一个公式:数据结构+算法=程序完整的程序设计应该是:3.1.1算法的概念ESS广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”。对同一个问题,可有不同的解题方法和步骤例:求nn = 方法丄:1+2, +3, +4, 一直加到丄00加99次 方法2: 100+ (1+99) +
3、(2+98) + . + (49 +51) +50=100 + 49X100 +50 加 51次'GHUA UN!SITY PR ESS.3.1.1 »法的概念为了有效地进行解题,不仅需要保证算法正确,还要 考虑算法的质量,选择合适的算法。希望方法简单,运 算步骤少。计算机算法可分为两大类别:>数值运算算法:求数值解,例如求方程的根、求函数的定 积分等。»非数值运算:包括的面十分广泛,最常见的是用于事务管理领域,例如图书检索、人事管理、行车调度管理等。寤华才学出版社GHUA UN1 J . r.SITYPRESS3.1.2怎样表示算法算法的四种表示方法:>
4、; 用自然语言表示算法> 用流程图表示算法> 用N-S流程图表示算法>用伪代码表示算法TSJNGHUA UNIVERSITY PRESS(1)用自然语言表示算法自然语言就是人们日常使用的语言,可以是汉语或英 语或其它语言。用自然语言表示通俗易懂,但文字冗长 ,容易出现“歧义性”。自然语言表示的含义往往不大 严格,要根据上下文才能判斷其正确含义,描述包含分 支和循环的算法时也不很方便。因此,除了那些很简单 的问题外,一般不用自然语言描述算法。TSJNGHUA UNYEBEmRE曲(2)用流程图表示算法美国国家标准化协会ANSI (American National Standa
5、rdInstitute)规定了一些常用的流程图符号:二起止框判断框处理框口输入瀚出框注释框流向线连接点厠线孕也BE例将求5!的算法用流程图表示如果需要将最后结 果打印出来,可在 菱形框的下面加一 个输出框。2=>ii + 13iE;开始 )Ni>5Y输出t结束1例:判断一个数是否偶数,其算法用流程图表示:/输出加是偶数C开始j入一个数被2整除/输出加不是偶数/心否/输出”的值/ W 10是加=灯=1(结束)例:输出I到100的算法,用流程图表示TSINGHUA UNIVE;s着华尢字出版社说明:流程图是表示算法的较好的工具。一个流程 图包括以下几部分:表示相应操作的框;(2)带箭头
6、的流程线;框内外必要的文字说明。TSINGHUA UNIVEBsjry PRE潯华尢字出版社(3)用NS流程图表示算法1973年美国学者1血$:和8Shneiderman提出了一种新的 流程图形式。在这种流程图中,完全去掉了带箭头的流程 线。全部算法写在一个矩形框内,在该框内还可以包含其 它的从属于它的框,或者说,由一些基本的框组成一个大 的框。这种流程图又称NS结构化流程图。ISJNGHUA UN! VERSS例:输出1到100的算法,改用N-S流程图表示:n=ln的值三10输出n的值n=n+l/输岀”的值/?<=«=! r(开始)(结束TSINGHUA UNISSN-S图表
7、示算法的优点比文字描述直观.形象.易于理解;比传统流程图 紧凑易画。尤其是它废除了流程线,整个算法结构 是由各个基本结构按顺序组成的,NS流程图中的 上下顺序就是执行时的顺序。用NS图表示的算法 都是结构化的算法,因为它不可能出现流程无规律 的跳转,而只能自上而下地顺序执行。GHUA UNIVERSEESS3.2程序的三种基本结构传统流程图的弊端传统流程图用流程线指出各框的执行顺序,对流程线 的使用没有严格限制。因此,使用者可以毫不受限制地 使流程随意地转向,使流程图变得毫无规律,阅读者要 花很大精力去追踪流程,使人难以理解算法的逻辑。如 图:着华扌学出版社传统流程图的流毛缺点:难以阅读、修改
8、,使算法的 可靠性和可维护性难以保证。解决办法:必须限制箭头的滥用,即不允许无规律地使流程随意转向, 只能顺序地进行下去。这种如同乱麻一样的算法称为BS型算法,意为一碗面条(A Bowl of Spaghetti),乱无头绪。循坏结构的图示:当型(While型)循环结构直到型(Until型)循环TSINGHUA UNI三种基本结构的共同特点:(1)只有一个入口;(2)只有一个出口;(请注意:一个菱形判断框有两个出口,而一个选择 结构只有一个出口.不要将菱形框的出口和选择结构的出口混淆.)结构内的每一部分都有机会被执行到;结构内不存在“死循环”(无终止的循环).詹华扌字出版社ISJNGHUA U
9、N逢强图中没有一条从入口到出 口的路径通过人框AB流程内的死循环 TSII7GHUA UN!t«, 、SITY PRES;S _ i小结:由三种基本结构顺序组成的算法结构,可以解决任何复杂的问题。由基本结构所构成的算法属于“结构化”的算法,它不存在无规律的转向,只在本基本结构内才允许存在分支和向前或向后的跳转。S只要具有上述四 个特点的都可以 作为基本结构。可以自己定义基 本结构,并由这 些基本结构组成 结构化程序。此图符合基本结构的特点INGHJJAUNiyEBSS结构化程序设计方法 一个结构化程序 就是用高级语言表示的结构化算法.用三种基本结构 组成的程序必然是结构化的程序,这种
10、程序便于编写、便于阅读、便于 修改和维护.结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的 结构.结构化程序设计方法的基本思路是:把一个复杂问题的求解过程分阶 段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。臂华才学出版世GHUA UNGERSS控制语句(9种)。完成一定的控制功能(条件语句,用来实现选择结构)switch for () while ()(多分支选择语句)(循环语句,用来实现循环结构) (循环语句,用来实现循环结构)dowhile ()(循环语句,用来实现循环结构)continue(结束本次循环语句)break(中止执行switch或循环语句)retu
11、rn(从函数返回语句)goto(转向语句,基本不用)潯华才学出版社(2)函数调用语句有一个函数调用加一个分号构成一个语句PrintfC'This is a C statement/7);getchar();(3)表达式语句 expression;表达式最后加一个分号/例我只是个表达式呀!3 a=3j我己经成为表达式语句了! TSLUN!SITY PRESS帝华才字岀版社(3)表达式语句A形式expression;表达式最后加一个仝号/*赋值语句*/N+ ;/* 一条语句*/*语句,但无实际意义*/*语句*/UA UNIVERSITY PRES(四)空语句只有一个分号的语句(什么也不做)
12、A用来做流程的转向点用来作为循环语句中的循环体(五)复合语句用一对括起来的语句 statements用 把若干条语句组合成为一个复合语句可以包括复合语句、空语句、控制语句等A用法一个复合语句当作一条语句来使用需要把多条语句放在只允许一条语句的场合(五)复合语句用一对括起来的语句int x, y, t; if (x > y)t = X;X = y;Y = t;/*复合语句开始*/*printf (n %d, %dn ,复合语句结束*/X, y);ISJNGHUA UN必ESHUB空 J(五)复合语句 用一对括起来的语句< z=x+y;t=z/100;print"%匕t);T
13、SINGHUA UNI,-. .ESS.P56|3.4赋值表达式和赋值语句3.4.1,赋值表达式342赋值过程中的类型转换34.3赋値语句34.4变量赋初值 rs/IGHUA UNIaESS3.4.1赋值表达式1、简单赋值运算符:口符号:=格式(赋值表达式): 变量标识符二表达式a=(a+b) a=(b=(c=(d=10) a=5, b=8, x=a+bc=a+b a=b=c=d=10 x=(a=5)+(b=8)作用:将一个数据(常量或表达式)赋给一个变 量结合优先以.左侧必须是变量,不能是常量或表达式例 3=x-2*y; a+b=3;TSINGHUA UN1S(3)赋值表达式由赋值运算符将一
14、个变量和一个表达式连接起来的式子称为“赋值表达式” O变量赋值运算符表达式例如: a=5b=(a=5)c=10+(d=8)a=(b=10)/(c=2)(b等于10, c等于2, a等于5,表达式值为5)(a=3*5) =4*3 a=12(a=3*5 是表达式)=12SINGHUA UN!ESS#include <stdio.h> void main() int a,b; b=(a = 3*5)=4*3); printf C%d,%drT7巧b); TS1NGHUA UNIYEFISITYP>s i3-4.1赋值表达式逗号运算符形式:表达式1,表达式2,,表达式n结合性:从左向
15、右优先级:15逗号表达式的值:等于表达式n的值用途:常用于循环for语句中例 a=3*5,a*4Ia=15,表达式值60a=3*5,a*4,a+5k a=15,表达式值20例 x=(a=3,6*3)W 赋值表达式,表达式值18, x=18x=a=36*a逗号表达式,表达式值18,x=3PLN GHUA UNWEBSLTX PHESS3.4.1赋值表达式举例;#include <stdio<h>void main() int a=2 b=4, c=6; int x, y;这里的逗号只是y=(x=a+b),(b+c);分隔符。printf(ux=%dny=%dn* x<yj; x=6 y=ioOPERATORSASSOCIATIVITY()-> .1left to right!+ + - * & (type) s i zeof2right to left* / %3left to right+ -4left to right« »5left to right<&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三级人力资源管理师-三级人力资源管理师考试《理论知识》考前冲刺2
- 2025年年市政工程合作协议书
- 农机技术推广在乡村振兴战略中的作用和推广策略
- DB12-522-2014反恐怖防范管理规范第1部分-通则
- STEAM理念下的高中地理教学研究
- 小儿心肌损害的发病特点及与中医证型的相关性研究
- DB11T-建筑安装分项工程施工工艺规程 第5部分金属结构工程编制说明
- 小学语文作文原创童诗6首
- 浙江专版2025版高考生物一轮复习第34讲胚胎工程教案
- 任务期限合同范例
- 2024 IMT-2030(6G)推进组白皮书 -面向6G的智能超表面技术研究报告
- 中华人民共和国保守国家秘密法实施条例培训课件
- 八年级数学分式经典练习题分式的乘除
- 设备工程师招聘面试题与参考回答
- 读书分享读书交流会《你当像鸟飞往你的山》课件
- 口腔牙齿美白课件
- 2024年中国山地滑道市场调查研究报告
- GB/T 2423.65-2024环境试验第2部分:试验方法试验:盐雾/温度/湿度/太阳辐射综合
- 【三菱】M800M80系列使用说明书
- 2024年巴中市中考历史试卷(含答案解析)
- 高职高专教育英语课程教学基本要求-20211209120040
评论
0/150
提交评论