C语言程序设计教程第1章.ppt

上传人:max****ui 文档编号:6333672 上传时间:2020-02-23 格式:PPT 页数:34 大小:1.23MB
返回 下载 相关 举报
C语言程序设计教程第1章.ppt_第1页
第1页 / 共34页
C语言程序设计教程第1章.ppt_第2页
第2页 / 共34页
C语言程序设计教程第1章.ppt_第3页
第3页 / 共34页
点击查看更多>>
资源描述
C语言程序设计 宝鸡文理学院计算机科学系 2 本章教学与考核内容基本要求 了解程序 程序设计 高级语言的概念 掌握C语言的字符集 词类和语句的分类 了解一个简单的C程序结构 熟悉算法的概念 算法的表示 重点 C语言的字符集和保留字 C语言的上机步骤 难点 C程序结构 算法的表示 考核目标 高级语言的概念与作用C语言的字符集C语言的词的分类原则C语言的保留字及其基本作用 3 1 1程序与程序设计1 2C语言概述1 3C语言的基本词法1 4C语言的基本语句1 5C程序的基本结构1 6算法表示1 7C语言程序的集成开发环境 第1章C语言程序设计概述 第1章C语言程序设计概述 4 第1章C语言程序设计概述 程序设计语言是人们根据描述问题的需要而设计的 具有一套固定的符号和语法规则的 人与计算机交流所使用的 语言 程序设计语言可分成机器语言 汇编语言和高级语言 前两类依赖于计算机硬件 因机器而异 又称为低级语言 而高级语言与计算机硬件基本无关 是目前使用非常广泛的程序设计语言 1 1程序与程序设计 计算机程序是按照处理问题的具体要求编制的适合于计算机处理的指令序列 计算机执行程序就是按照指令序列对提供的数据进行操作处理的过程 程序设计 Programming 是指设计 编制 调试程序的方法和过程 实际上是问题解决方案的计算机描述过程 是目标明确的智力活动 5 高级语言是一种用接近自然语言和数学语言的语法 符号描述基本操作的程序设计语言 高级语言编写的程序不依赖于具体的机器 程序员编程时无需关心计算机内部的细节 从而大大提高了编程效率 计算机不能直接执行使用高级语言编写的程序 需用专门的翻译程序将其转换成机器语言程序后才能执行 目前 使用较广泛的高级语言有C C VisualBasic Java ASP JSP PHP等 C语言作为一种计算机高级语言 它不仅具有一般高级语言的特性 又有一定的低级语言特殊性 已在国际上广泛流行 1 2C语言概述 第1章C语言程序设计概述 6 C语言的特点 1 语言简洁 紧凑 使用方便 灵活 C语言一共只有32个关键字 9种控制语句 程序书写形式自由 主要用小写字母表示 压缩了一切不必要的成分 2 运算符丰富 语言的运算符包含的范围很广泛 共有34种运算符 语言把括号 赋值 强制类型转换等都作为运算符处理 从而使 语言的运算类型极其丰富 表达式类型多样化 灵活使用各种运算符可以实现在其它高级语言中难以实现的运算 3 数据结构丰富 具有现代语言的各种数据结构 的数据类型有整型 实型 字符型 数组类型 指针类型 结构体类型和共用体类型等 能够用来实现非常复杂的数据结构 如线性表 链表 栈 队列 树 图等 4 语言是一种结构化语言 具有结构化的控制语句 如ifelse语句 whi1e语句 dowhi1e语句 for语句 C语言是以函数形式提供给用户的 这些函数可方便的调用 用函数作为程序模块以实现程序的模块化 易于调试和维护 适合大型软件的研制和调试 第1章C语言程序设计概述 7 C语言的特点 5 语法限制不大严格 程序设计自由度大 一般的高级语言语法检查比较严 能检查出几乎所有的语法错误 而 语言允许程序编写者有较大的自由度 因此放宽了语法检查 6 语言允许直接访问物理地址 能进行位 bit 操作 能实现汇编语言的大部分功能 可以直接对硬件进行操作 因此 语言既具有高级语言的功能 又具有低级语言的许多功能 可用来写系统软件 语言的这种双重性 使它既是成功的系统描述语言 又是通用的程序设计语言 有人把 称为 高级语言中的低级语言 也有人称它为 中级语言 意为兼有高级和低级语言的特点 7 生成目标代码质量高 程序执行效率高 一般只比汇编程序生成的目标代码效率低10 20 8 用 语言写的程序可移植性好 与汇编语言比 基本上不作修改就能用于各种型号的计算机和各种操作系统 第1章C语言程序设计概述 8 目前在微机上使用的 语言有以下几种 MicrosoftC BorlandTurboC QuickC AT TC这些 语言版本不仅实现了ANSIC标准 而且在此基础上各自作了一些扩充 使之更加方便 完美 本教材以ANSIC作为基础 尽管这样 各种版本的C编译系统还是略有差异 因此 读者在使用具体的C语言编译系统时 还应参考相关的手册以了解具体的规定 第1章C语言程序设计概述 9 1 3C语言的基本词法 1 3 1字符集 字符是组成语言的最基本的元素 在C语言程序中允许出现的所有基本字符的组合称为C语言的字符集 C语言的字符集就是ASCII字符集 主要分为下列几类 1 大小写英文字母各26个 共52个 2 数字 10个 3 键盘符号 33个 第1章C语言程序设计概述 10 4 转义字符 对于不能在键盘上直接得到的ASC 码表中的一些字符 控制代码或特殊符号 比如说响铃字符 C语言引入了转义字符的概念 当在源程序中遇到这类字符组合时 虽然这个字符组合是一个字符串的形式 但C语言仍会自动将之理解成某一特定的字符 转义字符是由 反斜杠字符 开始后跟单个字符或若干个字符组成的 其与键盘上的对应字符见表1 2 此外 如果使用了汉字操作系统 汉字就相当于英文字母 也可以出现在源程序清单中 第1章C语言程序设计概述 11 1 3 2保留字 在C语言的程序中有特殊含义的英语单词称为 保留字 主要用于构成语句 进行存储类型和数据类型定义 C语言的保留字表1 3 第1章C语言程序设计概述 12 1 3 3标识符 在程序中使用的变量名 函数名 标号等统称为标识符 除库函数的函数名由系统定义外 其余都由用户自定义 C语言规定 标识符只能是字母 A Z a z 数字 0 9 和下划线 组成的字符串 并且其第一个字符必须是字母或下划线 ANSIC规定标识符长度不得大于32个字符 而PC机中通常是前8个字符有效 在标识符中 大小写是有区别的 例如BOOK和Book是两个不同的标识符 由于标识符主要用来命名 因此 命名应尽量有相应的意义 以便阅读理解 作到 顾名思义 C语言规定 用户选取的标识符不能是C语言规定的保留字 以下标识符是合法的 ave x 3x Sum sum class 5 以下标识符是非法的 3w A T 7a 第1章C语言程序设计概述 13 第1章C语言程序设计概述 1 3 4C语言的词类 C语言的字符是用来构成词汇的 C语言的词类主要分为下列几种 1 常量 在程序运行中其值不发生变化的数据 2 变量 用来存放程序运行中变化的数据 3 运算符 用来表示简单加工计算的符号 4 函数调用 用来代表调用指定函数后获得的结果 5 表达式 用常量 变量 函数调用 运算符组成的式子 用来表示简单的加工计算 6 保留字 在C语言程序或语句中 用来表示特定语法含义的英语单词 14 第1章C语言程序设计概述 词类是用来构造语句的 语句是是算法实现的程序表示 是算法实现的最小单位 语句说明了一种行为 它是用计算语言编写的控制计算机完成确定操作的句子 1 数据定义语句 定义程序中使用的能存放数据的对象的名称和特性 一般形式为 数据类型说明符变量名表 2 赋值语句 实现计算或存储 一般形式为 变量名 表达式 3 函数调用语句 实现指定函数的调用 一般形式为 函数名 实际参数表 4 表达式语句 由表达式组成的语句 实现表达式的运算 一般形式为 表达式 1 4C语言的基本语句 C语言的语句主要分为8大类 15 第1章C语言程序设计概述 5 流程控制语句 控制程序的执行过程 它们由特定的语句定义符组成 C语言有九种控制语句 可分成以下三类 1 条件判断语句 if语句 switch语句 2 循环执行语句 dowhile语句 while语句 for语句 3 转向语句 break语句 goto语句 continue语句 return语句 6 复合语句 把若干个语句组成的一个语句 一般形式为 说明语句 可执行语句 7 空语句 无任何操作的语句 一般形式为 8 其它语句 实现其它特殊功能 16 第1章C语言程序设计概述 1 5C程序的基本结构 一个完整的C语言程序 是由一个且只能有一个main 函数 又称主函数 和若干个其他函数结合而成的 或仅由一个main 函数构成 例1 1 用C语言程序在屏幕上输出 Hello Welcometoclassroom 程序如下 includemain 定义主函数 每一个C源程序都必须有且只能有一个主函数main printf Hello Welcometoclassroom n 把要输出的内容送到显示器 n是换行符 函数体必须在一对 之间 运行结果 Hello Welcometoclassroom 17 第1章C语言程序设计概述 例1 2 求x的正弦值并输出其正弦值 include 预处理命令 包含stdio h头文件 include 预处理命令 包含math h头文件 main 定义主函数 doublex s 定义两个实型变量 printf inputnumber 显示提示信息 scanf lf 输出程序运算结果 运行结果 inputnumber 45 sinof45 000000is0 850904 18 第1章C语言程序设计概述 例1 3 包含自定义函数的C程序 输入两个实数 求其中的较大者 include stdio h voidmain 主函数 main前的void表示此函数是 空类型 floatmax floatx floaty 对被调用函数max的声明 floata b c 定义实型变量a b c printf a b 输出提示信息a b scanf f f 输出c的值 floatmax floatx floaty 定义max函数 函数值为实型 形式参数x y为实型 floatz 定义实型变量z if x y z x 如果x y 则将x值赋给z elsez y 否则将y值赋给z return z 将z的值返回给主调用函数 运行结果 a b 16 8 20 924 max 20 924000 19 通过分析以上3个例子 概括出C语言程序的结构特点如下 1 C程序是由函数构成的 函数是C程序的基本组成单位 一个C源程序中仅有一个main 函数 除main函数之外可以有若干个其它的函数 每个函数实现某一特定的操作 因此 函数是C程序的基本单位 C程序总是从main函数开始执行的 与main函数的位置无关 其它函数可被主函数调用或相互调用 其它函数可为C语言函数库中的函数 使用时用 include文件包含命令将其包含进来 也可为用户自己定义的函数 2 每个函数 包括主函数 的定义分为两个部分 函数由函数首部和函数体组成 函数的一般结构如下 函数返回值类型 函数名 函数参数表 函数首部 变量定义部分 函数体部分 执行语句部分 第1章C语言程序设计概述 20 3 C程序中的语句最后总要有一个 分号 作为每个语句的结束 C语言中 分号是程序语句的结束标志 也是C语句的必要组成部分 但预处理命令 函数首部和最后一个花括号 之后不能有分号 4 可以用 和 括住任意字符 称为 注释 注释可以出现在程序的任何位置上 通常放在一段程序的开始 用于说明该段程序的功能 或者放在某个语句的后面 对该语句进行说明程序编译时 注释将不参加编译 也不会出现在目标程序中 5 C程序的书写格式很灵活 在一行上可以书写多个语句 一个语句也可以写在多行上 第1章C语言程序设计概述 在程序清单的任何一处都可以插入空格符号或回车符号 但是 从书写清楚 便于阅读 理解 维护的角度出发 在书写程序时应遵循以下规则 一个说明或一个语句占一行 用 括起来的部分 通常表示了程序的某一层次结构 一般与该结构语句的第一个字母对齐 并单独占一行 低一层次的语句或说明可比高一层次的语句或说明缩进若干空格后书写 以便看起来更加清楚 增加程序的可读性 在编程时应力求遵循这些规则 以养成良好的编程风格 21 算法是由一套规则组成的一个过程 是对某一特定问题的求解步骤的一种描述 算法应当具备以下几个方面的特点 1 一个算法必须保证执行有限步之后结束 2 算法的每一个步骤必须具有确切的定义 3 应对算法给出初始量 4 算法具有一个或多个输出 5 算法的每一步都必须是计算机能进行的有效操作 程序设计的一般步骤是 设计算法 描述算法 编写程序 检查程序 编译调试和运行程序 1 6算法表示 第1章C语言程序设计概述 22 一个程序应包括以下两方面内容 1 对数据的描述 在程序中要指定数据的类型和数据的组织形式 即数据结构 datastructure 2 对操作的描述 即操作步骤 也就是算法 algorithm 数据是操作的对象 操作的目的是对数据进行加工处理 以得到期望的结果 作为程序设计人员 必须认真考虑和设计数据结构 确定解决问题的具体方法和步骤 这些具体的方法和步骤 其实就是解决一个问题的算法 根据算法 依据某种规则编写计算机执行的命令序列 就是编制程序 学习高级语言的重点 就是掌握分析问题 解决问题的方法 锻炼分析 分解 最终归纳整理出算法的能力 如C语言的语法是工具 将解决实际问题的算法步骤用对应的C语言语法表示出来 就是算法的一个具体实现 著名计算机科学家沃思 NikiklausWirth 提出一个公式 程序 数据结构 算法 第1章C语言程序设计概述 23 1 用自然语言表示算法用自然语言描述求解n 1 2 3 4 5 n 1 n的算法 设用f f i来求n 变量f中存放n 的值 i 1 2 3 n 用自然语言描述求解n 的算法如下 1 确定n的值 2 设i的初始值为1 3 设f初始值为1 4 如果i n时 执行 否则转出执行 5 计算f乘以i的值后 重新赋值给f 6 给i加1 然后将值重新赋值给i 7 转去执行 8 输出f的值 即n 的值 算法结束 用自然语言表示算法的优点是通俗易懂 但文字冗长 易产生歧义 除了很简单的问题 一般不用自然语言表示算法 算法的表示方法有很多种 常用的有 自然语言描述 传统流程图 N S流程图 伪代码等 24 第1章C语言程序设计概述 2 用传统流程图表示算法传统流程图算法表示法利用几何图形框来表示各种不同性质的操作 用流程线来指示算法的执行方向 用它表示算法 直观形象 易于理解 美国标准化协会ANSI规定了一些常用的流程图符号见表1 4 已为世界各国程序工作者普遍采用 25 第1章C语言程序设计概述 一个流程图包括 表示相应操作的框 带箭头的流程线 框内外必要的文字说明 使用传统流程图描述n 的算法 如图1 1所示 26 3 用N S流程图表示算法用传统流程图表示算法的优点是直观形象 表示清晰 易于理解 缺点是传统流程图占篇幅较多 当算法复杂时 画流程图费时且不方便 1973年美国学者I Nassi和B Shneiderman提出了一种新型流程图 N S流程图 在N S流程图中 完全省去带箭头的流程线 全部算法写在一个矩形框内 在框内还可以包含其它的从属于它的框 或者说 由一些基本的框组成一个大的框 使用N S流程图描述n 的算法如图1 2所示 N S流程图适合于结构化程序设计 因而作为编程人员 传统流程图和N S流程图都应掌握其使用方法 第1章C语言程序设计概述 算法最终要用某种程序设计语言来描述 用C语言对求n 的算法实现如例1 4所示 27 例1 4 求n 算法的C语言实现 include stdio h voidmain 主函数 main前的void表示此函数是 空类型 inti n longf printf Pleaseinputn 输出提示信息Pleaseinputn scanf d 输出f的值 即n 的值 运行结果 Pleaseinputn 7 7 5040 第1章C语言程序设计概述 28 第1章C语言程序设计概述 1 7C语言程序的集成开发环境 1 TurboC2 0集成开发环境TurboC是美国Borland公司的产品 它是一个集程序建立 编辑 编译 连接 运行于一体的用菜单驱动的集成软件环境开发环境 是一个易学 易用 快速高效 方便用户使用的程序开发工具 TurboC具有图形库和函数库 具有查错及协处理器的仿真功能 当前在国内使用比较普遍的是TurboC2 0 它是在MS DOS操作系统上使用的编译系统 也可以以全屏方式或窗口方式运行于各种Windows环境中 29 第1章C语言程序设计概述 TurboC主菜单画面 在编辑过程中 可使用块操作命令 CTRL KB 块首定义 CTRL KK 块尾定义 CTRL KC 块复制 CTRL KY 块删除 CTRL KV 块移动 CTRL KH 块删除 快捷键命令 CTRL Y 删除光标所在的一行 30 为了操作的方便 应记住TC中的一些常用功能键 F1 帮助 F2 将当前文件存盘 F3 装载原有文件或给新文件命名 F4 程序运行到光标所在行 F5 放大或缩小活动窗口切换 F6 开或关活动窗口切换 F7 单步运行程序 跟踪进入函数内部运行 F8 单步运行程序 不跟踪进入函数内部 F9 生成可执行文件 F10 菜单与活动窗口相互切换 CTRL F9 当前编辑环境下 进行编译 连接且运行程序 ALT F5 将窗口切换到DOS环境 用来查看程序运行结果 第1章C语言程序设计概述 31 2 VisualC 集成开发环境MicrosoftVisualC 是微软开发的一个集源程序编辑 代码编译和调试于一体的C C 集成开发环境 自1993年Microsoft公司推出VisualC 1 0后 随着其新版本的不断问世 VisualC 已成为专业程序员进行软件开发的首选工具 实际中 更多的是以VisualC 6 0为平台 VisualC 6 0不仅是一个C 编译器 而且是一个基于Windows操作系统的可视化集成开发环境 integrateddevelopmentenvironment IDE VisualC 6 0由许多组件组成 包括编辑器 调试器以及程序向导AppWizard 类向导ClassWizard等开发工具 这些组件通过一个名为DeveloperStudio的组件集成为和谐的开发环境 第1章C语言程序设计概述 32 VisualC 6 0的DeveloperStudio编译环境 第1章C语言程序设计概述 33 3 运行一个 语言程序的一般过程C语言程序的调试 运行步骤如图1 3所示 运行一个 语言程序的一般过程为 1 启动TC VisualC 进入TC VisualC集成环境 2 编辑源程序 编辑后文件的扩展名为 c或 cpp 3 对源程序进行编译 编译成功后文件的扩展名为 obj 4 与库函数进行连接 连接成功后的可执行文件的扩展名为 exe 5 运行可执行的目标程序 C语言程序的调试 运行步骤 第1章C语言程序设计概述 34 C语言是被广泛应用的计算机高级程序设计语言 语言的数据类型丰富而有特色 能实现各种复杂的数据结构 完成各种问题的数据描述 除了这些作为高级语言的优点外 语言可以直接访问物理地址 进行位 bit 一级的操作 能实现汇编语言的大部分功能 因此 语言集高级语言和低级语言的优点于一身 有时也被称作中级语言 C语言程序可移植性好 C语言提供的数据类型丰富 C语言包含丰富的运算符 可以完成其它高级语言难以完成的运算 C语言简洁 紧凑 使用方便灵活 C语言生成的目标代码质量高 C语言设有预处理功能 一个C程序可由多个源程序文件组成 每个源程序文件可由一个或多个函数组成 在构成一个C程序的所有函数中必须有一个且只有一个名为main 的函数 称它为主函数 程序的执行总是从main 函数开始 也在main 函数中运行到结束 语言源程序的书写规范非常重要 主要包括大小写习惯 语句的结束符号 层次与缩进 合理使用注释等 这些规范有的是强制执行 不这样做就会导致编译错误 另外有一些是经验总结 使程序易于理解和调试 我们应一开始就养成自觉遵守书写规范的好习惯 学习程序设计一方面是学习一种特定的计算机语言 另外一方面是学习程序设计的一般方法 算法 掌握算法就是掌握程序设计的灵魂 但是脱离具体的计算机语言去学习程序设计 学习算法是困难的 实际上也是不可能的 从编写完整的C程序到在计算机上运行 最后得出结果 大致要经过编辑 编译 连接 运行四个步骤 小结 第1章C语言程序设计概述
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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