版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计第1章程序设计的基本概念11.1程序和程序设计1.1.1C程序
计算机现已广泛的应用于社会的各个领域,成为大众化的现代工具.其实,计算机不过是一种具有内部存储能力,由程序自动控制的电子设备.人们将需要计算机做的工作写成一定形式的指令,并把它们存储在计算机内部的存储器中,当人们给出了命令之后,它就按指令顺序自动进行操作.人们把这种可以连续执行的一条指令的的集合称为”程序”.可以说,程序就是人与机器”对话”的语言,也就是我们常说的”程序设计语言”.
目前,在社会上使用的程序设计语言有上百种,它们中的大多数被称为计算机的“高级语言”,如VisualBasic、C++、Java以及C语言等.这些语言都是用接近人们习惯的自然语言和数学语言作为表达式.
但是,对计算机来说,它并不能直接识别由高级语言编写的程序,它只能接受和处理由来0和1的代码构成的二进制指令或数据.由于这种形式的指令是面向机器的,因次也被称为”机器语言”.
我们把由高级语言编写的程序称为”源程序”,把由二进制代码表示的程序称为”目标程序”.为了把源程序转化成机器能够接受的目标程序,软件工作者编制了一系列软件.通过这些软件可以把用户按规定语法写出来的语句一一翻译成二进制的机器指令.这种具有翻译功能的软件称为”编译程序”,每种高级语言都有它对应的编译程序,C语言编译程序就是这样的一种软件,其功能如图1.1所示:C语言源程序C语言编译程序二进制机器指令我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令.由C语言构成的指令序列称为C源程序;按C语言的语法编写C的过程,称为C语言的代码编写.
C源程序经过编译程序编译之后生成一个后缀为.OBJ的二进制文件(称为目标文件),然后由称为”连接程序”(Link)的软件,把.OBJ文件与C语言提供的各种库函数连接起来生成一个后缀为.EXE的可执行文件.在操作系统下,只需点击或输入此文件的名字(而不必输入后缀.EXE),该文件就可运行.1.1.2程序设计简单的程序设计一般包含以下几个部分:1.确定数据结构.2.确定算法.3.编码.4.在计算机上调试程序.5.整理并写出文档资料.1.2算法
学习计算机程序设计语言的目的,是要用语言作为工具,设计出可供计算机运行的程序.
在编程除了合理的数据结构外,最关键的就是算法.
著名计算机科学家沃思提出一个公式数据结构+算法=程序算法的概念和特性:算法是为解决某个特定的问题而采取的确定且有限的步骤.
算法的特性:1.有穷性.2.确定性.3.可行性.4.有零个或多个输入.5.有一个或多个输出.算法可以用各种方法来描述,常用大的是伪代码和流程图.伪代码是一种近似于高级语言但又不受语法约束的一种语言描述方式,在英国国家中使用.流程图也是描述算法很好的工具,一般的流程图由图1.2中所示的几中基本图形组成.开始或终止框处理框输入输出框判断框流程线连接点图1.2一般的流程图所用的几种基本图形随着结构化程序设计方法的出现,1973年美国学者I.Nassi和B.Shniedermant提出了一种新的流程图,这种流程图完全去掉了流程线,算法的每一步都用一个矩形框来描述,把一个个矩形框按执行的次序连接起来就是一个完整的算法描述.这种流程图用两位学者名字的第一个英文字母命名,称为N-S流程图.在下一节将会介绍.1.3结构化程序设计和模快化结构1.3.1结构化程序结构化程序的三种基本结构组成.1.顺序结构.
在本书的第三章将要介绍的如赋值语句、输入、输出语句都都可以构成顺序结构.执行时将按语句在程序中的先后顺序逐条执行,没有分支,没有转移.顺序结构可用图1.3所示的流程图表示,其中(a)是一般的流程图,(b)是N-S流程图.语句1语句2(a)一般流程图语句1语句2(b)N-S流程图图1.3顺序结构流程图2.选择结构.
在本书的第四章中介绍if语句、switch
语句都可构成选择结构,当执行这些语句时,将根据不同的条件去执行不同分支中的语句.选择结构可用图1.4所示的流程图表示,其中(a)是一般的流程图,(b)是N-S流程图.判断表达式满足语句1语句2判断表达式满足不满足语句1语句2不满足a)一般流程图(b)N-S流程图图1.4选择结构的流程图3.循环结构
在第五章中介绍不同形式的循环结构.它们将根据各自的条件,使同一条语句重复执行多次或一次也不执行.循环结构的流程图如图1.5和1.6所示,每个图中(a)是一般的流程图,(b)是N-S流程图.图1.5是当型循环图.当型循环的特点是:当指定的条件满足时,就执行循环体,否则就不执行.图1.6是直到型循环流程图.直到循环的特点是:执行循环体直到指定的条件满足时就不再执行循环体.判断表达式满足循环体不满足a)一般流程图循环体当判断条件满足(b)N-S流程图图1.5当型循环流程图判断表达式满足循环体不满足循环体直到判断表达式满足(a)一般流程图(b)N-S流程图图1.6直到型循环流程图例1.1先后输入若干个整数,要求打印出其中最大的数,当输入的数小于0时结束.用N-S流程图表示算法.
解题的思路是:先输入一个数,在没有其他数参加比较之前,它显然是当前最大的数,把它放到变量max中.让max始终存放当前已比较过的数中最大值.然后输入第二个数,并与max比较,如果第二个数大于max,则用第二个数取代max中原来的值.如此先后输入和比较,每次比较后都将值大者放在max中,直到输入的数小于0时结束.最后max中值就是所有输入数中的最大值.
用N-S流程图(见图1.7).读入一个数给XMax=x当x>0时X>max是否Max=x读入一个数给出x输出max1.3.2模块化结构
当计算机在处理较复杂的任务时,所编写的程序经常由上万条语句组成,需要由许多人来共同完成.这时常常把这个复杂的任务分解为若干个子任务,每个子任务又分解很多个小任务,每个小任务只完成一项简单的功能.在程序设计时,用一个个小模块来实现这些功能,每个程序设计人员分别完成一个或多个小模块.我们称这样的程序设计方法为”模块化”的方法,由一个个功能模块构成的程序结构为模块化结构.
由于把一个大程序分解成若干相对独立的子程序,每个子程序的代码一般不超过一页纸,因此对程序设计人员来说,编写代码不在变得困难.这时只对程序之间的数据传递做出统一规范,同一软件可由一组人员同时进行编写,分别进行调试,这就大大提高了程序编制的效率.
软件编制人员在进行程序设计的时候,首先应考率主程序的算法,写出主程序后再动手逐步完成子程序的调用.对于这些子程序也可用调试主程序的同样的方法逐步完成其下一层子程序的调用.这就是自顶向下、逐步细化、模块化的程序设计方法.习题:1.在VC6.0环境中用run命令运行一个程序时,程序的后缀是___.2.C语言源程序文件名的后缀是__;经过编译之后的后缀是__;经过连接后,生成的后缀是__;3.结构化程序由___,__,__三种基本结构组成.4.上机掌握在VC6.0如何运行c程序.程序1#include<stdio.h>void
main(){
printf("ThisisaCprogram.\n");
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年版智能交通信号控制系统设计与实施合同
- 2024年生物医药研发设施建设施工劳务合同
- 2024店面设计制作及推广合同3篇
- 二零二五年借款授权委托书范本:借款合同要素及合同履行9篇
- 2025年度智能设备研发与采购一体化合同范本2篇
- 2024年造林树苗订购合同
- 2024暖气采购合同
- 2025年度金融租赁反担保合同范本3篇
- 2025年度钢结构安装与光伏发电系统集成合同3篇
- 二零二五年度上海自愿离婚协议涉及的商标质押合同2篇
- 2024至2030年四氯苯醌项目投资价值分析报告
- 北京市海淀区2024-2025学年七年级上学期期中考试英语试卷(含答案)
- 中资企业出海报告:潮涌浪阔四海扬帆
- 2024-2025学年人教版八年级上册地理期末测试卷(二)(含答案)
- 80、沈阳桃仙机场二平滑工程冬期施工方案
- 《STM32Cube嵌入式系统应用》HAL库版本习题及答案
- 一年级数学练习题-20以内加减法口算题(4000道)直接打印版
- 2024年度无人机飞行培训合同
- 2025年中国细胞与基因治疗行业深度分析、投资前景、趋势预测报告(智研咨询)
- 统编版语文二年级上册第一单元快乐读书吧(推进课)公开课一等奖创新教案
- 2024-2030年中国LNG(液化天然气)行业发展分析及投资可行性研究报告
评论
0/150
提交评论