C语言程序设计PPT课件第1章程序设计概述.pptx_第1页
C语言程序设计PPT课件第1章程序设计概述.pptx_第2页
C语言程序设计PPT课件第1章程序设计概述.pptx_第3页
C语言程序设计PPT课件第1章程序设计概述.pptx_第4页
C语言程序设计PPT课件第1章程序设计概述.pptx_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计-理论、方法与实践(第2版) 张磊编著,C语言程序设计 第1章 程序设计概述,C语言程序设计-理论、方法与实践(第2版) 张磊编著,第1章 程序设计概述,1.1 程序设计语言 1.2 算法 1.3 程序设计与实现 1.4 C语言程序的基本结构,C语言程序设计-理论、方法与实践(第2版) 张磊编著,1.1 程序设计语言,程序设计语言:程序设计语言是用来编写计算机程序的语言,它按照特定的规则组织计算机指令,使计算机能够自动进行各种操作处理。 计算机程序: 按照程序设计语言的规则组织起来的一组计算机指令。 程序设计语言分类: 机器语言、汇编语言和高级语言。 C 语言属于高级语言,1972年由美国的Dennis Ritchie设计发明。 1983年,美国国家标准化协会(ANSI)根据C语言问世以来各种版本对 C的发展和扩充,制定了C的标准,称为 ANSI C。1987年ANSI又公布了新的标准87 ANSI C。,C语言程序设计-理论、方法与实践(第2版) 张磊编著,1.1 程序设计语言,C语言程序示例: 计算1到100的所有自然数的和。,#include int main(void) int i=1,s=0; while(i=100) /* 循环控制 */ s=s+i; /* 数据累加 */ i=i+1; /* 生成下一个要累加的数 */ printf(“sum=%dn“,s); /* 输出结果 */ return 0; ,C语言程序设计-理论、方法与实践(第2版) 张磊编著,1.2 算法,1.2.1 算法概念与算法描述 1.2.2 算法的逻辑结构 1.2.4 算法的特性 1.2.4 算法评价,C语言程序设计-理论、方法与实践(第2版) 张磊编著,1.2.1 算法概念与算法描述,算法重要性:程序=数据结构+算法 1算法的概念 算法是为计算机处理问题所设计的解题步骤。算法的最终实现是计算机程序。 2算法的描述方法 自然语言 流程图 N-S图 PAD图 伪码等。,C语言程序设计-理论、方法与实践(第2版) 张磊编著,1.2.1 算法概念与算法描述, 用自然语言描述算法 “计算1到100的所有自然数的和” 步骤 i和s赋初值,使i=1,s=0; 步骤 判断i的值,若i100 则执行步骤;否则,转步骤; 步骤 s加i; 步骤 i加1,转步骤; 步骤 显示s的值,结束。,C语言程序设计-理论、方法与实践(第2版) 张磊编著,1.2.1 算法概念与算法描述, 用流程图描述算法,C语言程序设计-理论、方法与实践(第2版) 张磊编著,1.2.1 算法概念与算法描述,“计算1100自然数和”的算法,步骤 i=1,s=0; 步骤 若i100 则执行步骤;否则,转步骤; 步骤 s+i; 步骤 i+1,转步骤; 步骤 显示s的值,结束,C语言程序设计-理论、方法与实践(第2版) 张磊编著,1.2.2 算法的逻辑结构,算法的三种结构 顺序结构 分支结构 循环结构 三种结构互相结合,可以实现任何逻辑控制,C语言程序设计-理论、方法与实践(第2版) 张磊编著,1.2.2 算法的逻辑结构,1、顺序结构 特点:各个步骤由前到后依次执行,每个步骤都执行一次。,C语言程序设计-理论、方法与实践(第2版) 张磊编著,1.2.2 算法的逻辑结构,1、顺序结构 举例:输入一个学生的两门课程的成绩,计算并输出平均成绩。,C语言程序设计-理论、方法与实践(第2版) 张磊编著,1.2.2 算法的逻辑结构,2、选择结构 特点:某些步骤是否能够执行,要视当前的条件而定,在同一次处理中,有的步骤可能执行不到。,C语言程序设计-理论、方法与实践(第2版) 张磊编著,1.2.2 算法的逻辑结构,2、选择结构,举例:输入一个学生两门课程的成绩,若平均成绩不低于90,则输出“优等生”;否则,输出“加油!”。,C语言程序设计-理论、方法与实践(第2版) 张磊编著,1.2.2 算法的逻辑结构,3、循环结构 特点:有些步骤会被有条件地重复执行(被重复执行的步骤每次处理的数据也可能发生变化)。,C语言程序设计-理论、方法与实践(第2版) 张磊编著,1.2.2 算法的逻辑结构,3、循环结构,举例: 计算1100自然数和。,C语言程序设计-理论、方法与实践(第2版) 张磊编著,1.2.3 算法的特性,算法特性 有穷性:一个算法必须经过有限步骤之后结束。“有限步骤”,既指步骤量有限,同时也要求步骤量合理。 确定性:每一个步骤所规定的操作必须是确定的,不能有二义性。 有效性:每一个步骤描述的操作必须能够通过已经实现的基本运算有效地执行,并且得到确定的结果。 输入和输出特性。每个有意义的算法有零个或多个输入,并且有一个或多个输出。,C语言程序设计-理论、方法与实践(第2版) 张磊编著,1.2.4 算法评价, 时间复杂性 算法执行时间与问题规模的关系,是算法执行效率指标。 空间复杂性 算法对计算机内存的需求程度,需求越少越好。 可读性 算法可供人们阅读的容易程度。 健壮性(容错性) 算法对不合理的输入数据的反应能力和处理能力。 通用性 算法适应一类问题,而不是某个特定问题。 正确性 算法最根本的评价指标,指算法的执行结果满足预先规定的功能和性能要求。,C语言程序设计-理论、方法与实践(第2版) 张磊编著,1.3 程序设计与实现,1.3.1 程序设计的基本过程 1.3.2 编辑运行C语言程序,C语言程序设计-理论、方法与实践(第2版) 张磊编著,1.3.1 程序设计的基本过程,分析要处理的问题涉及的各种概念、数据特点、已知条件、所求结果,以及已知条件与所求结果之间的关系等各方面的信息。 明确:要做什么?,确定具体的算法,并选择合适的算法表达工具对算法进行描述。,用程序设计语言的语句和命令实现算法的每一个步骤。,C语言程序设计-理论、方法与实践(第2版) 张磊编著,1.3.2 编辑运行C语言程序,使用VC+ 6.0实现C程序的基本步骤有4个: 1建立源程序文件,3构建可执行文件,2编译源程序,4运行可执行文件,启动VC+ 6.0系统 使用“File”“New”命令,打开VC+ 6.0的程序编辑窗口 录入编辑源程序,保存文件,使用“Build”“Compile”命令对源程序进行编译,生成二进制目标代码文件。,程序通过编译之后,使用“Build”“Build”命令将编译阶段生成的目标文件和系统的库函数文件等连接起来,生成扩展名是“.exe”的可执行文件。,使用“Build”“!Execute”命令运行程序,获得执行结果。,C语言程序设计-理论、方法与实践(第2版) 张磊编著,1.3.2 编辑运行C语言程序,例1-1 使用VC+编辑运行自然数累加程序。, 建立源程序文件。 启动VC+ 6.0,使用“File”“New”命令,打开 “new”窗口,选用“Files”选项卡,在主窗口中选择“C+ Source File”项,在“File”对话框中输入文件名,在“Location”对话框中指定文件的存储位置。,C语言程序设计-理论、方法与实践(第2版) 张磊编著,1.3.2 编辑运行C语言程序, 建立源程序文件 单击“OK”按钮,打开程序编辑窗口录入编辑源程序,并及时存盘。,C语言程序设计-理论、方法与实践(第2版) 张磊编著,1.3.2 编辑运行C语言程序, 建立源程序文件。 编译源程序 程序编辑完成后,使用“Build”“Compile ”命令编译,执行“Build”“Compile”命令后的提示信息,编译结果显示在编译报告窗口,C语言程序设计-理论、方法与实践(第2版) 张磊编著,1.3.2 编辑运行C语言程序, 建立源程序文件。 编译源程序。 构建可执行文件。 程序编译完成后,使用“Build”“Build ”构建可执行文件。 运行可执行文件。 成功构建可执行文件之后,使用“Build”“!Execute”命令即可运行程序。,C语言程序设计-理论、方法与实践(第2版) 张磊编著,1.4 C语言程序的基本结构,1.4.1 程序的函数化结构 1.4.2 标识符与保留字 1.4.3 程序风格,C语言程序设计-理论、方法与实践(第2版) 张磊编著,1.4 1 程序的函数化结构,1简单C语言程序的结构 C语言程序是由函数构成的,任何一个C语言程序都有一个称为主函数的main()函数。 main()函数的一般结构: int main() 函数体 ,例1-2 更简单的C程序。 #include int main() printf(“Hello!n“); return 0; ,特别强调: 任何一个C语言程序,main()函数都是不可缺少的,当一个C语言程序只有一个函数模块时,这个函数必然是main()函数。,C语言程序设计-理论、方法与实践(第2版) 张磊编著,1.4.1 程序的函数化结构,2C语言程序的一般结构 一个C语言程序,在结构上不仅要有main()函数,还可以包括其他独立的函数,一个函数可以在另一个函数中被使用。,例1-3 输出图案程序。 #include int main(void) /* 主函数 */ void p_s(void); p_s(); p_s(); p_s(); return 0; void p_s() /* 其他函数 */ printf(“$#$n“); ,C语言程序设计-理论、方法与实践(第2版) 张磊编著,1.4.1 程序的函数化结构,3C语言程序的基本特点 C语言程序由函数构成,而且每个程序可以有多个函数。 一个源程序不论由多少个函数组成,有且只能有一个main()函数,而且main()函数可以放在程序的任何位置。 一个源程序无论由多少个函数构成,总是从main()函数开始执行程序,与main()函数在程序中的位置无关。,C语言程序设计-理论、方法与实践(第2版) 张磊编著,1.4.2 标识符与保留字,1. 标识符 在程序中使用的变量名、函数名等。 标识符构成 任何一个标识符只能是由字母(AZ,az)、数字(09)和下划线“_”构成的字符串,其他符号不能出现在标识符中,并且标识符的第一个字符必须是字母或下划线。 合法标识符 a BOOK1 max _add num_1 非法标识符 3sum 不允许以数字开头 ab#cd 使用了非法字符“#” book-1 出现非法字符“-”(减号),注意: 两个标识符中的字母相同而大小写形式不同时,C语言认为是两个不同的标识符。 标识符命名应尽量有相应的意义,以便阅读理解。 建议初学者尽量使用较短而有意义的标识符,既便于上机训练,也会使程序更清晰。,2保留字 由语言规定的用于定义变量类型、命令字等具有特定意义的标识符。,C语言程序设计-理论、方法与实践(第2版) 张磊编著,1.4.3 程序风格, 如果一行能够容下一个语句,那么就让这个语句独占一行。 用 括起来的部分,通常表示了程序的某一层次结构。“”和“”一般与该结构语句的第一个字母对齐,并单独占一行。 低一层次的语句应比高一层次的语句缩进若干列后书写,以便看起来更加清晰。 要在程序的开始或者在程序的关键位置使用注释,以提高程序的可读性。,C语言程序设计-理论、方法与实践(第2版) 张磊编著,小结(1),( 1) 算法是逐步求解问题的方法,是计算机处理问题所需要的具体步骤。流程图、伪代码是常用的描述算法方法。 (2) 顺序结构、分支结构和循环结构是算法的三种基本结构。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论