《C语言程序设计与数据结构》课件第01章.ppt

上传人:max****ui 文档编号:8315357 上传时间:2020-03-28 格式:PPT 页数:47 大小:725KB
返回 下载 相关 举报
《C语言程序设计与数据结构》课件第01章.ppt_第1页
第1页 / 共47页
《C语言程序设计与数据结构》课件第01章.ppt_第2页
第2页 / 共47页
《C语言程序设计与数据结构》课件第01章.ppt_第3页
第3页 / 共47页
点击查看更多>>
资源描述
C语言程序设计与数据结构 刘信杰李艳主编中国水利水电出版社 第1章 语言概述 教学提示 C语言是一门很优秀的程序设计语言 它本身是一门高级语言 同时又具有低级语言的某些优点 所以 它既可以用来书写系统程序 也可以用来书写应用程序 C语言的基本单位是函数 一个C程序是由一个名为main的主函数和零到多个其他函数组成 函数可以是系统提供的库函数 也可以是自己编写的函数 C语言提供了大量的库函数 以减轻编程人员的工作量 教学要求 本章主要了解C语言的发展历史 C语言的特点 理解并掌握C程序的基本结构 初步掌握VisualC 6 0系统的集成开发环境 本章主要介绍C语言程序的结构和书写规则 以及VisualC 的基本操作 1 1C语言的发展简史和特点 程序设计的基本概念程序 是控制计算机工作的一条条有序指令的集合 程序设计语言 是编写程序的工具 是软件系统重要的组成部分 又称为计算机语言 一般可分为机器语言 汇编语言和高级语言3类 1 语言的诞生与发展 1 在C语言诞生以前 系统软件主要是用汇编语言编写的 由于汇编语言程序依赖于计算机硬件 其可读性和可移植性都很差 但一般的高级语言又难以实现对计算机硬件的直接操作 这正是汇编语言的优势 于是人们盼望有一种兼有汇编语言和高级语言特性的新语言 中级语言 高级语言 C 汇编语言 2 语言是贝尔实验室于70年代初研制出来的 后来又被多次改进 并出现了多种版本 80年代初 美国国家标准化协会 ANSI 根据 语言问世以来各种版本对 语言的发展和扩充 制定了ANSIC标准 1989年再次做了修订 本书以ANSIC新标准来介绍 3 目前 在微机上广泛使用的 语言编译系统有MicrosoftC TurboC BorlandC VisualC 等 虽然它们的基本部分都是相同的 但还是有一些差异 所以请大家注意自己所使用的 编译系统的特点和规定 参阅相应的手册 本书选定的上机环境是VisualC 6 0 2 C语言的特点C语言同时具有汇编语言和高级语言的优势 1 语言简洁 紧凑 使用方便 灵活 ANSIC共有32个关键字 9种控制语句 主要用小写字母表示 注意 在C语言中是严格区分大小写的 程序书写形式自由 既可以一行一句 也可一行多句 甚至一句也可分写在多行上 2 运算符极其丰富 C语言有34种运算符 涵盖范围广 可以实现在其他高级语言中难以实现的运算 3 丰富的数据类型 C语言的数据类型有13种 特别是具有数据类型构造能力 它可以在基本类型 如字符型 整型 实型等 的基础上按层次构造各种构造类型 如数组 指针 结构体 共用体等 足以用来实现各种复杂的数据结构 如栈 链表 队列 树等 的运算 尤其是指针类型数据 功能非常强大 4 具有结构化的控制语句 C语言有ifelse while dowhile for switch等语句以适应结构化的程序设计 符合现代编程风格要求 5 可以直接操作硬件 能进行位 bit 操作 实现汇编语言的大部分功能 C语言有时也被称为中级语言 是因为它把高级语言的最佳成分同汇编语言的控制和灵活性巧妙地结合在了一起 正是C语言的这种双重特性 使它既能用来书写系统程序 也能用来书写应用程序 6 生成的目标代码质量高 试验表明 针对同一问题 用C语言描述的代码效率只比汇编语言低10 20 7 可移植性好 所谓可移植是指程序从一个环境不加或稍加改动就可搬到另一个不同的环境上运行 统计资料表明 不同机器上的C编译程序80 的代码是公共的 这就使得用C语言编写的程序 基本上不加修改就能用于各种型号的计算机和各种操作系统 3 在C语言中 除实现顺序 选择和循环三种基本结构等的9条控制语句外 输入输出操作均由标准库函数 不是C语言的组成部分 来实现 所以学习C语言 不仅要学习这9条控制语句和各种运算符 而且要学习并掌握常用标准库函数的使用 语言程序的结构与书写规则 语言程序的总体结构一个完整的 语言程序 是由一个main 函数 又称主函数 和若干个其它函数结合而成的 或仅由一个main 函数构成 案例1 1 仅由main 函数构成的 语言程序 案例代码文件名 AL1 1 C 功能 仅由main 函数构成的 语言程序示例 main printf ThisisaCprogram n 程序运行结果 ThisisaCprogram 程序演示 案例1 2 由main 函数和1个其它函数max 构成的 语言程序 案例代码文件名 AL1 2 C 功能 由main 函数和1个其它函数max 构成的 语言程序示例 intmax intx inty return x y x y main intnum1 num2 printf Inputthefirstintegernumber scanf d 程序运行情况 Inputthefirstintegernumber 6 Inputthesecondintegernumber 9 max 9 程序演示 案例1 3 改写 案例1 2 交换main 函数和max 函数的前后位置 源程序略 程序运行情况 Inputthefirstintegernumber 6 Inputthesecondintegernumber 9 max 91 函数是 语言程序的基本单位 main 函数的作用 相当于其它高级语言中的主程序 其它函数的作用 相当于子程序 2 C语言程序总是从main 函数开始执行 一个 语言程序 总是从main 函数开始执行 而不论其在程序中的位置 当主函数执行完毕时 亦即程序执行完毕 习惯上 将主函数main 放在最前头 1 3 2函数的一般结构任何函数 包括主函数main 都是由函数说明和函数体两部分组成 其一般结构如下 函数类型 函数名 函数参数表 函数说明部分 说明语句部分 执行语句部分 函数体部分 1 使用的语法符号约定 方括号表示可选 即可以指定 也可以缺省 省略号表示前面的项可以重复 多 含2 中选12 函数说明由函数类型 可缺省 函数名和函数参数表三部分组成 其中函数参数表的格式为 数据类型形参 数据类型形参2 例如 案例1 2 中的函数max 其函数说明各部分如图1 1所示 函数类型函数名函数参数表 intmax intx inty 图1 1函数说明部分结构图注意 在旧标准中 函数可以缺省参数表 3 函数体在函数说明部分的下面 大括号 必须配对使用 内的部分 函数体一般由说明语句和可执行语句两部分构成 1 说明语句部分说明语句部分由变量定义 自定义类型定义 自定义函数说明 外部变量说明等组成 2 可执行语句一般由若干条可执行语句构成 图1 2是 案例1 2 的main 函数体的示意图 主函数main main intnum1 num2 变量定义部分printf Inputthefirstintegernumber scanf d 图1 2函数体结构示意图4 说明 1 函数体中的变量定义语句 必须在所有可执行语句之前 下面程序中变量定义语句 intmax 的位置是非法的 main intx y 变量定义语句 定义2个整型变量x y x 3 可执行的赋值语句 将3赋值给变量x y 6 可执行的赋值语句 将6赋值给变量y intmax 变量定义语句 出现在可执行的赋值语句 x 3 和 y 6 之后 非法 max x y x y printf max d n max 解决办法很简单 请读者自己思考 2 如果不需要 也可以缺省变量定义语句 1 3 3源程序书写格式1 所有语句都必须以分号 结束 函数的最后一个语句也不例外 2 程序行的书写格式自由 既允许1行内写几条语句 也允许1条语句分写在几行上 例如 案例1 2 的主函数main 也可改写成如下所示的格式 main intnum1 num2 printf Inputthefirstintegernumber scanf d 如果某条语句很长 一般需要将其分写在几行上 3 允许使用注释 C语言的注释格式为 例如 在 案例1 1 和 案例1 2 中 以及本节其它部分给出的源程序中 凡是用 和 括起来的文字 都是注释 1 和 必须成对使用 且 和 以及 和 之间不能有空格 否则都出错 技巧 为避免遗漏必须配对使用的符号 例如注释符号 函数体的起止标识符 花括号 圆括号等等 在输入时 可连续输入这些起止标识符 然后再在其中进行插入来完成内容的编辑 在起止标识符嵌套时 以及相距较远时 这样做更有必要 2 注释的位置 可以单占1行 也可以跟在语句的后面 3 如果1行写不下 可另起1行继续写 4 注释中允许使用汉字 在非中文操作系统下 看到的是一串乱码 但不影响程序运行 C语言的语句和关键字 C语言的语句与其它高级语言一样 语言也是利用函数体中的可执行语句 向计算机系统发出操作命令 按照语句功能或构成的不同 可将 语言的语句分为五类 1 控制语句控制语句完成一定的控制功能 语言只有 条控制语句 又可细分为三种 1 选择结构控制语句if else switch 2 循环结构控制语句do while for while break continue 3 其它控制语句goto return2 函数调用语句函数调用语句由一次函数调用加一个分号 语句结束标志 构成 例如 printf ThisisaCfunctionstatement 3 表达式语句表达式语句由表达式后加一个分号构成 最典型的表达式语句是 在赋值表达式后加一个分号构成的赋值语句 例如 num 5 是一个赋值表达式 而 num 5 却是一个赋值语句 4 空语句空语句仅由一个分号构成 显然 空语句什么操作也不执行 例如 下面就是一个空语句 5 复合语句复合语句是由大括号括起来的一组 也可以是1条 语句构成 例如 main 复合语句 注意 右括号后不需要分号 复合语句的性质 1 在语法上和单一语句相同 即单一语句可以出现的地方 也可以使用复合语句 2 复合语句可以嵌套 即复合语句中也可出现复合语句 关键字C语言的关键字共有32个 根据关键字的作用 可分其为数据类型关键字 控制语句关键字 存储类型关键字和其它关键字四类 1 数据类型关键字 12个 char double enum float int long short signed struct union unsigned void 2 控制语句关键字 12个 break case continue default do else for goto if return switch while 3 存储类型关键字 4个 auto extern register static 4 其它关键字 4个 const sizeof typedef volatile 1 4VC6 0的基本操作 1 运行一个 语言程序的一般过程2 VC的启动 退出与命令菜单3 编辑并保存一个 语言源程序4 编译 连接 单个源程序文件5 运行与查看结果6 编辑下一个新的源程序 1 运行一个 语言程序的一般过程VC是一个集源程序编辑 编译 连接 运行与调试于一体 用菜单驱动的集成软件环境 运行一个 语言程序的一般过程 1 启动VC 进入VC集成环境 2 编辑 或修改 源程序 3 编译 如果编译成功 则可进行下一步操作 否则 返回第 2 步 修改源程序 再重新编译 直至编译成功 4 连接 如果连接成功 则可进行下一步操作 否则 根据系统的错误提示 进行相应修改 再重新连接 直至连接成功 5 运行 通过观察程序运行结果 验证程序的正确性 如果出现逻辑错误 则必须返回 2 修改源程序 再重新编译 连接和运行 直至程序正确 6 退出VC集成环境 结束本次程序运行 1 4 1VisualC 简介1 进入VisualC 工作环境双击windows桌面上VisualC 图标 或单击windows桌面上的 开始 按钮 在 程序 中选择VisualC 运行即可 2 VisualC 的集成开发环境介绍VisualC 软件包包含了许多独立的组件 如编辑器 编译器 连接器 实用程序生成器 调试器 以及各种各样为开发Windows环境下的C C 程序而设计的工具 其中最重要的是一个名为DeveloperStudio的集成开发环境 DeveloperStudio把所有的VisualC 工具结合在一起 集成为一个由窗口 对话框 菜单 工具栏 快捷键及宏组成的和谐系统 通过该集成环境 程序员可以观察和控制整个开发进程 从图1 1中可以看出 DeveloperStudio主窗口可以分成几个部分 窗口顶部是菜单和工具栏 左面的一个子窗口是工作区窗口 工作区窗口的右面是编辑子窗口 最下面是输出子窗口 值得注意的是 上述各种部件 包括子窗口 菜单栏和工具栏的位置不是一成不变的 可根据个人的喜好重新安排 1 菜单和工具栏DeveloperStudio中有一个MenuBar 菜单栏 通常位于开发环境窗口的顶部 其中的菜单项有File 文件处理 Edit 编辑功能 view 查看 Insert 插入 Project 项目管理 Build 编译 Tools 工具 Window 窗口 和Help 帮助 等 分别对应一个下拉子菜单 除菜单栏列外 开发环境中还有几个工具栏 一般均放在开发环境的顶部 菜单栏的下方 如Standard 标准工具栏 用于文件管理 编辑和查看等 WizardBar 向导工具栏 和BuildMiniBar 建立工具栏 用于编译 连接等 工具栏上有常用命令的图标 一般来说 工具栏上的命令在菜单中均有对应选项 但工具栏使用更方便 只要用鼠标左键点击工具栏中的相应图标即可调用相应的功能 开发环境的各种菜单栏和工具栏均为停靠式 可以用鼠标拖动改变它们的位置 也可使用菜单选项Tools Customize 表示菜单栏的Tools子菜单中的Customize 选项 下同 中的Toolbars选项打开或关闭相应的工具栏 或修改工具栏的内容 除此之外 DeveloperStudio的所有部分几乎都可响应鼠标右键单击而弹出一个上下文相关菜单 甚至当DeveloperStudio没有打开窗口时 在空白区右击鼠标也会弹出一个菜单 其中含有使窗口可见和调整工具栏是否可见的命令 在工具栏上除标题栏外的任何地方右击鼠标 同样可以弹出菜单 在使用集成环境工作时试一试鼠标右键 还会发现许多其他的快捷方式 例如 通过在工具栏或菜单栏上不是按钮或菜单名的地方单击并保持鼠标按键被按下 就可以把它们拖动到屏幕上新的地方 2 Developerstudio窗口除了各种对话框外 DeveloperStudio显示两种类型的窗口 即文档窗口和停靠窗口 文档窗口是一般的带边框子窗口 其中含有源代码文本或图形文档 窗口子菜单中列出了在屏幕上是以平铺方式还是以层叠方式显示文档窗口的命令 所有其他的DeveloperStudio窗口 包括工具栏和菜单栏 都是停靠式窗口 开发环境有两个主要的停靠窗口 Workspace 工作区 窗口和Output 输出 窗口 另外还有一个Debugger 调试器 停靠窗口 只在调试过程中显示 停靠窗口可以固定在DeveloperStudio用户区的顶端 底端或侧面 或者浮动在屏幕上任何地方 停靠窗口 不论是浮动着的或是固定着的 总是出现在文档窗口的上面 这样 就保证了当焦点从一个窗口移到另一个时 浮动的工具栏一直都是可见的 但这也意味着 文档窗口偶尔会看起来像消失了似的 例如 如果你正在文本编辑器中编辑源代码 此时打开一个占据整个DeveloperStudio用户区的停靠窗口 源代码文档就会消失 它隐藏在新窗口之下 解决方法是要么关了覆盖的窗口 要么把它拖到不挡眼的地方去 VisualC 运行C程序的上机步骤 1 创建一个新的工程文件 Projectfile 启动VisualC 编译系统后 出现MicrosoftDeveloperStudio窗口 1 单击 File 菜单 在其下拉菜单中选择 New 如图1 2 屏幕上出现一个New对话框 在该对话框中选择Projects 项目 标签 出现一个界面如图1 3 2 从弹出窗口中选择工程类型为Win32ConsoleApplication 32位控制台应用程序 这时在右边的Platforms选框中就会出现Win32 3 输入工程 项目的名字 为你的应用项目取一名字 填写在弹出窗口中右上方的ProjectName 项目名称 处 如图1 3中的cexam1 1 4 输入路径名 在Location 位置 中输入将要创建的工程文件的保存路径 其实在上一步我们输入ProjectName 项目名称 cexam1 1时 Location中已自动变成了c cprogram cexam1 1 如图1 3 如对该位置不满意你可以对其进行修改 如图1 4改为c cprogram cloc1 1 注意使下面的单选框选择CreateNewWorkspace 即要建立新工作区 然后按下 OK 键 建立该工程文件 5 这时会出现ApplicationWizard 应用程序生成向导 如图1 5 提问要生成的项目类型 选择 AnEmptyProject 空项目 按下Finish 结束 键 会弹出一窗口如图1 6 显示新项目的有关信息 检查无误后按 OK 键 这时屏上会显示一个空项目如图1 7 并生成一个工作区文件 后缀为 DSW 如图1 9中的cexam1 1 dsw 6 建立源文件 再次选择File菜单的New选项 并选择Files选项 从弹出如图1 8所示的窗口中选择C SourceFile C 源程序 并勾选右边的Addtoproject选项 激活其下面的选项 为你的程序取一名字 当然也可与项目名相同 填写在弹出窗口右边的File处 然后按下 OK 键 这时开发环境右侧的文件编辑窗口中出现了一个空文件 即可输入源程序的内容 如图1 1 7 通过windows的资源管理器可以看到 如图1 9所示 在c cprogram目录下有个文件夹cloc1 1 专门用来存放项目cexam1 1的所有内容 包括一个c源文件code1 1 c 编译链接和运行源程序 程序编写好后要进行编译 链接和运行 步骤如下 1 选择菜单选项Build Compile c 其中 为具体文件名 来编译源程序 也可以使用快捷键Ctrl F7 这时系统开始对当前的源程序进行编译 在编译过程中会在Output窗口 通常在屏幕下方 中显示编译结果 如果出错 则根据错误提示来修改程序 再重新编译 如还有错误 再继续修改 编译 直到没有错误为止 如果程序正确 编译结果会生成一个目标文件 后缀为 OBJ 2 连接目标文件生成可执行文件 选择菜单选项Build Bui1d exe 也可以使用快捷键F7 来连接目标文件 连接的结果同样显示在Output窗口中 同样对出现的错误要进行更改直到编译连接无错为止 连接后生成以源文件名为名字的可执行文件 exe 后缀为 EXE 以上两步也可以并为一步 即直接使用菜单选项Build Build exe 3 运行程序 生成的可执行文件可以单独运行 也可以在集成开发环境中直接运行 后一种方法在程序需要反复调试时更加方便 在集成开发环境中直接运行程序的方法是选用菜单选项Build Excute exe或使用快捷键Ctrl F5 这时会出现一个MS DOS窗口 输出结果显示在该窗口中 4 运行结束后 可以回到File菜单 单击CloseWorkspace选项 关闭当前的文件窗口 提示 若要编辑新的源程序 可以再次打开File菜单 重新建立工程文件 步骤如上所示 若要打开一个已经存在的源程序 可以通过打开File菜单中的OpenWorkspace选项一步步来进行 典型习题分析解答 例1 4 以下描述正确的是 A 最简单的C源程序可以不包括任何内容 B 编译程序对C源程序编译时不检查语法 C C程序中没有输入 输出语句 D 在C程序中 至少必须有一个Main 函数分析 C程序中至少必须包含一个main 函数 不能完全为空 所以 答案A不正确 在对C源程序进行编译时 编译程序必须检查语法 否则 将不能保证产生正确的目标文件 因此B也不正确 答案D的错误在于C语言是严格区分大小写的 Main 与main 表示两个不同的函数 C程序中没有输入 输出语句 使用scanf printf 函数实现输入 输出 所以答案C是正确的 答案 C 例1 5 以下描述正确的是 A C程序的执行是从main 函数开始 到本程序的最后一个函数结束 B C程序的执行是从第一个函数开始 到本程序的最后一个函数结束 C C程序的执行是从main 函数开始 到本程序的main 函数结束 D C程序的执行是从第一个函数开始 到本程序的main 函数结束分析 任何一个C程序都是从main 函数开始执行的 在main 函数中 用户根据实际需要调用其他的函数 这些函数执行完毕后将返回到main 函数 当执行完main 函数的最后一个语句后 整个程序运行结束 答案 C 例1 6 以下叙述中正确的是 A C语言比其他语言高级 B C语言源程序可以不用编译就能被计算机识别执行 C C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D C语言出现的最晚 具有其他语言的一切优点分析 C语言是一种高级语言 但它也具有低级语言的功能 可以直接对硬件进行操作 它常被视为 高级语言中的低级语言 所以答案A不正确 一个编写好的C源程序必须经过编译 连接后方可执行 所以答案B不正确 程序设计语言不断发展 不断会有新的语言出现 在C语言出现后 也诞生了许多新的语言 如JAVA语言等 所以答案D也不正确 答案 C 例1 7 在一个C程序中 A main 函数必须出现在所有函数之前 B main 函数可以在任何地方出现 C main 函数必须出现在所有函数之后 D 以上都不对分析 本题主要考查的是main 函数在程序中的位置 Main 函数在程序中的位置是任意的 可以在程序的前部 中部或后部 答案 B
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!