

已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-2- 第1章 c语言概述 本 章 内 容 l算法与程序设计 lc语言发展历史和特点 lc语言程序的结构 lc语言上机环境及操作步骤 l用流程图表示算法 l结构化程序设计简介 -3- 第1章 c语言概述 1.1 算法与程序设计 l 算法 算法的概念 计算机解决问题所依据的步骤称为计算机算法,简称算法。 【例1-1】计算1+2+3+100,可采取以下两种算法中的一种。 算法一。可以设两个变量(变量是指其值可以改变的量),一个 变量代表和(s),一个变量代表加数(i),用循环算法表示如下: 第一步:0s,1i。 第二步:s+is。 第三步:i+1i。 第四步:如果i100,转第二步;否则,转第五步。 第五步:输出结果s,结束。 算法二。 第一步:100101/2s。 第二步:输出s,结束。 -4- 第1章 c语言概述 1.1 算法与程序设计 【例1-2】判断一个大于等于3的正整数是不是素数。 所谓素数是指除了1和该数本身之外,不能被其他任何整数整除 的数。算法表示如下: 第一步:输入n的值。 第二步:i作除数,2i。 第三步:n除以i,得余数r。 第四步:如果r=0,表示n能被i整除,则打印n不是素数,转第七步 ;否则执行第五步。 第五步:i+1i。 第六步:如果in-1,返回第三步;否则打印n是素数,转第七步。 第七步:结束。 实际上,除数只需为2n/2或者2之间的整数即可。第六步的条件改变一 下,程序执行时间会大大缩短。 -5- 第1章 c语言概述 1.1 算法与程序设计 算法的属性 (1)有穷性 有穷性是指一个算法的操作步骤必须是有限的和合理的,即在合 理的范围之内结束算法。 (2)确定性 算法中每个操作步骤都应当是明确的,而不应是含糊的、模棱两 可的。 (3)有零个或多个输入 执行算法时需要从外界获得必要信息的操作称为输入。输入的数 据个数根据算法确定。 (4)有一个或多个输出 执行算法得到的结果就是算法的输出,没有输出的算法是没有意 义的。 (5)有效性 算法中的每一个步骤都应当有效地执行,并得到确定的结果。 -6- 第1章 c语言概述 1.1 算法与程序设计 l 程序 用计算机语言描述的算法称为计算机程序,或简称程序。只 有用计算机语言描述的算法才能在计算机上执行。 【例1-3】输入任意20个整数,求出其中最大者,可采用以下 算法: 第一步:输入一个整数赋给big。 第二步:1i。 第三步:如果i19,输入一个整数赋给x,转第四步;否则, 转第六步。 第四步:如果x大于big,xbig,然后转第五步;否则,直 接转第五步。 第五步:i+1i,转第三步。 第六步:输出结果big,结束。 -7- 第1章 c语言概述 1.1 算法与程序设计 针对上述算法,用c语言可描述为: main() int i,x,big; scanf(“%d“, for(i=1;ibig) big=x; printf(“%d“,big); -8- 第1章 c语言概述 1.1 算法与程序设计 l 程序设计语言 计算机语言是面向计算机的人造语言,是进行程序设计的 工具,因此也称程序设计语言。 程序设计语言可以分为机器语言、汇编语言、高级语言。 机器语言:计算机硬件能直接执行。 汇编语言:也称符号语言,用汇编语言编写的程序称汇编语言 程序。计算机硬件不能识别和直接运行汇编语言程序,必须由 “汇编程序”将其翻译成机器语言程序后才能识别和运行。 高级语言:不能被计算机硬件直接识别和执行,必须把高级语 言程序翻译成机器语言程序才能执行。 -9- 第1章 c语言概述 1.1 算法与程序设计 l 程序设计的一般过程 1建立数学模型 就客观世界中的一般问题,在程序设计之初,首先应将实际问题用 数学语言描述出来,形成一个抽象的、具有一般性的数学问题,从 而给出问题的抽象数学模型。 2算法描述 数学模型建立以后,需要采用一定的算法进行描述,也可能比较几 种算法的优劣,选择较理想的算法。 3编写程序 使用计算机系统提供的某种程序设计语言,将已设计好的算法表达 出来,使得用其他形式表达的算法转变为由程序设计语言表达的算 法,这个过程称为程序编制(或编码)。 4程序测试 程序编写完成后必须经过科学的、严格的测试,才能最大限度地保 证程序的正确性。 -10- 第1章 c语言概述 1.2 c语言发展历史和特点 l c语言的发展过程 1972-1973年间,美国贝尔实验室发明了c语言。c语言是在一种称为b语言 的基础上发展起来的,并首先在配备unix操作系统的dec pdp-11计算机上 实现。 1978年以后,随着微型机的普及,出现了一大批c语言系统。 1983年,美国国家标准化协会(ansi)公布了一个标准,称为ansi c。 1987年,ansi又公布了一个新的标准,称为87 ansi c。 1990年,国际标准化组织iso接受87 ansi c为iso c的标准。 目前语言编译系统有多种版本,在微机上常用的有microsoft c、 turbo c、quick c、borland c+ 5.0、c-free3.5和visual c+ 6.0。 1994年ansi又制定了ansi c+ 标准草案。c+在ansi c的基础上,扩充了 类的部分,因此ansi c是c+的子集。就是说,按照ansi c标准编写的程 序可以运行在c+的语言环境中。 -11- 第1章 c语言概述 1.2 c语言发展历史和特点 l c语言的主要特点 兼有低级语言的功能 结构化的程序设计语言 语言比较简洁紧凑 运算符丰富 数据结构丰富 语法限制不太严格,书写格式比较自由 目标代码质量高,程序执行效率高 -12- 第1章 c语言概述 1.3 c语言程序的结构 l c语言程序的一般形式 预处理命令和全局性的声明 main() 局部变量声明 语句序列 f1() 局部变量声明 语句序列 f2() 局部变量声明 语句序列 fn() 局部变量声明 语句序列 任何一个c程序都是由一个 或多个函数构成的; 一个c程序中至少必须存在 一个主函数main()。它是程 序运行开始时被调用的一个 函数; c语言程序的一般形式如右 图所示,其中f1至fn代表用 户定义的函数。 -13- 第1章 c语言概述 1.3 c语言程序的结构 l c程序中的主要成分 1.预处理命令 预处理命令是程序中那些以符号 # 开头的命令。c语言中常用的 预处理命令有三类:文件包含、宏定义和条件编译。 2.函数 函数通常用于描述相对独立的功能,每个函数都具有严格定义的 格式,可以有参数和返回值。一个程序中除了一个必须取名为main的 主函数,其余函数可以取任何有意义的名字。 3.输入与输出 用户通过输入为程序提供初始数据,程序通过输出产生运行结果 。 4.语句 (由单词按照一定的语法规则构成) 程序中每个语句都必须以分号“;”结束,分号是语句的一部分。 允许一行内写几条语句,也允许一条语句写在几行上。 5.注释 c语言的注释格式为:/*/。 -14- 第1章 c语言概述 1.4 c语言上机环境及操作步骤 l 用高级语言编写源程序要变成可执行代码,需要四个步骤: l 上机环境介绍turbo c 2.0集成环境 c源程序 目标程序 可执行程序 结果 编辑 (利用编辑程序) 编译 (利用c编译程序) 连接 (利用连接程序) 运行 -15- 第1章 c语言概述 1.5 用流程图表示算法 l流程图用一组框图符号表示各种操作,也称框图。 美国国家标准化协会ansi(american national standard institute)规定了一些常用流程图符号: 起止框 判断框 输入输出框 处理框 连接点 流程线 注释框 或 -16- 第1章 c语言概述 1.5 用流程图表示算法 【例1-5】计算1+2+3+4+100。 开始 s=0 i=1 i=i+1 s=s+i 输出s i100 结束 n y -17- 第1章 c语言概述 1.5 用流程图表示算法 【例1-6】判断一个大于等于3的数是不是素数。 开始 令r为n除以i的余数 i=2 r=0? 输入n y 打印n “不是素数” i=i+1 n in/2 打印n “是素数” 结束 y n -18- 第1章 c语言概述 1.6 结构化程序设计简介 l 结构化程序 算法中有三种基本结构,即顺序结构、选择结构和循环结构。 每种基本结构都只有一个入口和一个出口。如果一个算法由这三种 基本结构所组成,则称其为结构化算法。用高级语言表示的结构化 算法称为结构化程序。 一个结构化程序应符合以下标准: 程序仅由顺序结构、选择结构和循环结构等三种基本结构组成,基 本结构可以嵌套。 每种基本结构都只有一个入口和一个出口,即一端进,一端出。 程序中没有死循环(不能结束的循环叫死循环)和死语句(程序中 永远执行不到的语句叫死语句)。 -19- 第1章 c语言概述 1.6 结构化程序设计简介 l 结构化程序设计方法遵循的原则 1自顶向下,逐步求精 抓住整个问题的本质特性,采用自顶向下逐层分解的方法,对 问题进行抽象,划分出不同的模块,形成不同的层次概念。把一个 较大的复杂问题分解成若干相对独立而又简单的小
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 胃癌患者春节护理常规
- 自然教育大树小班课程体系构建
- 糖尿病足坏疽个案护理
- 医美咨询师接诊技巧培训
- 学习方式训练培训
- 施工测量培训课件
- 餐饮店加盟权转让及接手合同范本
- 邴蕾离婚协议书全面考量子女教育与财产分配方案
- 桉树种植基地土地流转与种植合同
- 股票市场动态分析及投资策略咨询协议
- 安徽省秸秆资源潜力和综合利用现状分析
- 保洁服务 投标方案(技术标)
- 2024年国企采购商品房合同模板
- 湖南省长沙2024年七年级下册生物期末试卷附答案
- 新材料产业研发与产业化应用实施方案案
- 3.6.3关门车课件讲解
- 2024年小学四年级下册数学期末测试卷附完整答案【典优】
- 养老院老人走失免责协议书
- JCT 2768-2024 木塑制品行业绿色工厂评价要求(正式版)
- 拟投入的主要物资计划
- 广东省中山市2022-2023学年高一年级下册期末统一考试物理试题含解析
评论
0/150
提交评论