




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言 授课教师 庄敏 前言 Hello C 1 掌握C语言基本数据类型 运算符和表达式 格式化输入输出函数 2 掌握选择结构语句 循环结构语句 函数调用 3 掌握数组的应用 4 熟悉TurboC集成操作环境 能编写简单的C程序 并具有基本的纠错和调试程序的能力 5 掌握结构化程序设计的方法 初步具有进行软件开发的能力 教学要求 通过C语言程序设计理论课程和课程实验教学 培养分析问题和解决问题的能力 培养逻辑思维能力 培养结构化程序设计能力 使学生具有使用计算机解决相关应用问题的能力 同时为学生今后学习其他计算机应用课程打下良好的程序设计基础 教学目的 课前请做好预习保持课堂安静 头脑清醒 思维活跃做好课堂笔记认真 独立 按时完成并提交作业重视上机实践 有效利用宝贵的上机时间 课程要求 开始的话 想一想 我已经能熟练地操作计算机了 还学什么 计算机能做什么 如何把计算机做为求解问题的工具 为我服务终身 计算机可以做任何事情 只要能把实际问题抽象 制作为计算机可求解的程序 例如 计算机求解问题的步骤 实际问题求解编制问题模型算法程序实现 计算机能做什么 分析抽象 模型求解 命令编程 调试程序 计算机可解决的问题 结构分析 线性方程组人口预报 微分方程优化问题 线性规划 非线性规划震动问题 矩阵分析 特征值 特征向量信息管理 二维数据表下棋 树型结构遍历交通管理 图型结构遍历 伟大的计算机 想一想 计算机是通过什么解决问题的呢 执行程序 第一章C语言程序设计初步 1 1C语言概述1 2基本语法成分1 3C程序结构1 4C语言的编辑 编译和运行 计算机语言经历了四代发展 第一代 机器语言 二进制0 1构成的面向特定机器的低级语言 计算机可以直接执行 第二代 汇编语言 又称符号语言 对机器指令进行简单的符号化 汇编语言程序机器语言程序汇编程序 1 1 1C语言的发展 第三代 高级语言 完全接近人类习惯 各种机器指令用英文单词表示 如 BASIC FORTRAN C PASCAL等 高级语言程序机器语言程序解释 编译程序 第四代 甚高级语言 是一种面向对象或面向问题的高级语言 如 VisualBasic 简称VBVisualC 简称VC 1 1 1C语言的发展 产生背景汇编语言程序依赖于计算机硬件 其可读性和可移植性都很差 但一般的高级语言又难以实现对计算机硬件的直接操作 这正是汇编语言的优势 于是人们盼望有一种兼有汇编语言和高级语言特性的新语言 产生过程时间 1972 1973地点 美国贝尔实验室目的 UNIX操作系统设计人 Ken Thompson和Dennis M RitchieC标准标准C K R合著 TheCProgrammingLanguage ANSIC 1983年87ANSIC 1987年1990年国际标准的ANSIC 1 1 2C的特点 1 C语言的语言成分简洁 紧凑 书写形式自由2 C语言拥有丰富的数据类型C语言具有整型 实型 字符型 数组类型 指针类型 结构体类型 共同体类型等数据类型 能方便地构造更加复杂的数据结构 如 使用指针构造链表 树 栈 3 C语言的运算符丰富 功能更强大例如 C语言具有复合的赋值运算符 加等 减等 乘等 除等 右移等 左移等 与等 或等 非等 C语言有条件运算符 可代替简单的if else语句 C语言中连赋值这种操作都定义为运算符 也就是说赋值操作本身可以作为表达式的一部分 参与运算 1 1 2C的特点 4 C语言是结构化的程序设计语言C语言具有结构化的控制语句 if else switch case for while do while 函数是C语言程序的模块单位 5 C语言对语法限制不严格 程序设计灵活6 C语言编写的程序具例如有良好的可移植性7 C语言可以实现汇编语言的大部分功能 支持对硬件的操作 8 C语言编译后生成的目标代码小 质量高 程序的执行效率高有资料显示只比汇编代码效率低10 20 1 2基本语法成分 一 C语言的字符集字符是组成语言的最基本的元素 C语言字符集由字母 数字 空格 标点和特殊字符组成 在字符常量 字符串常量和注释中还可以使用汉字或其它可表示的图形符号 1字母小写字母a z共26个 大写字母A Z共26个 2数字0 9共10个 3空白符空格符 制表符 换行符等统称为空白符 空白符只在字符常量和字符串常量中起作用 在其它地方出现时 只起间隔作用 编译程序对它们忽略不计 因此在程序中使用空白符与否 对程序的编译不发生 影响 但在程序中适当的地方使用空白符将增加程序的清晰性和可读性4标点和特殊字符 由字符集中的字符可以构成C语言进一步的语法成分 如标识符 关键字等 二 标识符 标识符 名字 用来标识变量名 符号常量名 函数名 数组名 类型名等实体 程序对象 的有效字符序列 标识符由用户自定义 取名字 C语言标识符定义规则 标识符只能由字母 数字和下划线三种字符组成 且第一个字符必须为字母或下划线 大小写敏感 C程序员习惯 变量名小写 常量名大写 但不绝对 ANSIC没有限制标识符长度 但各个编译系统都有自己的规定和限制 TC32个字符 MSC8个字符 标识符不能与 关键词 同名 也不与系统预先定义的 标准标识符 同名 建议 标识符命名应当有一定的意义 做到见名知义 标识符举例 例 a x x3 book1 num 1是合法的例 3s s T 3x bowy 1数字开头 出现 有 有 是不合法的练习 判断下面那些标志符是合法的hello 3stu st u st u a B C 三 关键字 关键词 保留字 C语言规定的具有特定意义的字符串 32个关键字 由系统定义 不能重作其它定义 autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunsignedunionvoidvolatilewhile 运算符将常量 变量 函数连接起来组成表达式 表示各种运算 运算符可以由一个或多个字符组成 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 及其扩展条件运算符 逗号运算符 指针运算符 求字节数 sizeof强制类型转换 类型 分量运算符 下标运算符 其它 四 运算符 五 分隔符 在C语言中采用的分隔符有逗号和空格两种 逗号主要用在类型说明和函数参数表中 分隔各个变量 空格多用于语句各单词之间 起分隔作用 在关键字 标识符之间必须要有一个或多个空格符分隔 例 把下 inta 写成 inta 则编译器会把 inta 当成一个标识符处理 其结果就会有问题 六 注释符 C语言的注释符是以 开头并以 结尾的串 在 和 之间的内容即为注释 程序编译时 不对注释作任何处理 注释可出现在程序中的任何位置 注释用来向用户提示或解释程序的意义 在调试程序中对暂不使用的语句也可用注释符括起来 使翻译跳过不作处理 待调试结束后再去掉注释符 例 intx y z 变量说明 1 3C程序结构 C语言程序长什么样儿 先看一个比较简单的 涉及的术语 注释 函数 main函数 函数名 函数调用 函数体 参数 字符串涉及的符号 1 3C程序结构 C语言程序长什么样儿 再看一个稍微复杂点的 新涉及的术语 变量 数据类型 赋值 表达式 语句 声明部分 执行部分新涉及的符号 int 1 3C程序结构 C语言程序长什么样儿 最后 看一个完整的 新涉及的术语 函数定义 标准库函数 自定义函数 标识符新涉及的符号 1 3C程序结构 C语言程序长什么样儿 总结一下 C源程序就是用C语言的语句编写 未作其他处理 如编译 的程序 源程序通常是由一个或多个函数组成的文件 该文件通常以 C为扩展名 每个源文件可由一个或多个函数组成 在组成程序的函数中 必须有 也只能有一个主函数 主函数的名字为main 函数名之后必须有一对小圆括号 括号中可以有参数 无论主函数放在文件中什么位置 开头 中间或最后 总是从函数序开始运行 可以在主函数中调用其他函数 但不能在其他函数中调用主函数 其他函数之间也可互相调用 通常 C函数分为两大类 一种是系统提高的标准的库函数 它的使用方法比较简单 在需要的地方调用它即可 带上必要的参数 此时 值得注意的是 要使用哪类函数 应在程序开头用包含语句把相应的头文件包括进来 例如 要使用输入输出库函数 则应在文件头加上以下语句 includeC系统提供了极其丰富的库函数 另一种是自定义函数 是由程序员自己编写的函数 1 3C程序结构 C语言程序长什么样儿 总结一下 函数包含两个部分 声明部分和执行部分 且这两部分顺序不能颠倒 也不能有交叉 也就是说 我们不能在执行部分定义变量 用分号作为语句的结束符 不可省略 即便是最后一个语句也不能省略 但预处理命令 函数头和花括号 之后不能加分号 一个语句中不同成份之间应使用空格隔开 标识符 关键字之间必须至少加一个空格以示间隔 若已有明显的间隔符 也可不再加空格来间隔 必须配对使用的符号 例如注释符号 函数体的起止标识符 花括号 圆括号 等 1 4C语言的编辑 编译和运行C程序开发步骤 程序代码的录入 生成源程序 c 语法分析查错 翻译生成目标程序 obj 与其它目标程序或库链接装配 生成可执行程序 exe 源程序 目标程序 可执行程序的概念 补充 程序 为了使计算机能按照人们的意志工作 就要根据问题的要求 编写相应的程序 程序是一组计算机可以识别和执行的指令 每一条指令使计算机执行特定的操作 源程序 程序可以用高级语言或汇编语言编写 用高级语言或汇编语言编写的程序称为源程序 C程序源程序的扩展名为 c 源程序不能直接在计算机上执行 需要用 编译程序 将源程序翻译为二进制形式的代码 目标程序 源程序经过 编译程序 翻译所得到的二进制代码称为目标程序 目标程序的扩展名为 obj 目标代码尽管已经是机器指令 但是还不能运行 因为目标程序还没有解决函数调用问题 需要将各个目标程序与库函数连接 才能形成完整的可执行的程序 可执行程序 目标程序与库函数连接 形成的完整的可在操作系统下独立执行的程序称为可执行程序 可执行程序的扩展名为 exe 在dos windows环境下 1 4C语言的编辑 编译和运行 双击tc20系统中tc文件 启动TurboC 启动成功 进入TC集成环境 主菜单 编辑窗口 信息窗口 两个窗口中 顶端横线为双线显示的 表示该窗口是活动窗口 功能键提示行 状态行 FileEditRunCompileProjectOptionsDebugBreak watch Edit Message F1 HelpF5 ZoomF6 SwitchF7 TraceF8 StepF9 MakeF10 MenuNUM 编缉窗口 信息窗口 TurboC集成环境窗口 启动TurboC后 其主菜单条横向排列在屏幕顶端 并被激活 其中File主项成为当前项 1 窗口顶部有一横向的 主菜单 主菜单的8个菜单项 File 文件 Edit 编缉 Run 运行 Compile 编译 Project 项目 Options 选项 Debug 调试 Break watch 中断 观察 2 主菜单的下面是 Edit 编辑 窗口和Message 消息 窗口 3 活动窗口 两个窗口中 顶端横线为双线显示的 表示该窗口是活动窗口 4 编辑窗口的顶端为状态行 其中 Line1Col1 显示光标所在的行号和列号 即光标位置 Insert 表示编辑状态处于 插入 当处于 改写 状态时 此处为空白 d NONAME C 显示当前正在编辑的文件名 显示 NONAME C 表示用户尚未给文件命名 5 屏幕底端是7个功能键提示行 F1 Help求助F6 Switch开关活动窗口F5 Zoom窗口缩放F7 Trace跟踪调试程序F8 Step跳过函数调用F10 Menu返回主菜单F9 Make执行 Make 命令生成可执行文件 功能键提示行后的NUM 显示 NUM 时 表示处于 NumLock数字键 状态 空白 表示 控制键 状态 6 其它功能键与组合键F2存盘F3加载文件F4程序运行到光标在行ALT 菜单项名首字母 转到相应的菜单项ALT F3 进入汉字输入状态ALT F6 进入英文输入状态 7 命令菜单的使用 按下功能键F10 激活主菜单 用左 右方向键移动光带 定位于需要的主项上 然后再按回车键 打开其子菜单 纵向排列 用上 下方向键移动光带 定位于需要的子项上 回车即可 执行完选定的功能后 系统自动关闭菜单 注意 菜单激活后 又不使用 可再按F10 Esc键关闭 返回原来状态 编辑并保存一个 语言源程序 1 激活主菜单 按下功能键F10 2 选择并执行File Load项 快捷键键 F3 3 在 Load 窗口 输入源程序文件名 文件名的输入有两种方法 直接输入和选择输入 1 直接输入按照文件名的组成字符串 逐个字符输入即可 如果该文件不在当前目录下 则需要冠以路径名和 或 盘符 如果是已经存在的文件 系统就在编辑窗口显示该文件的内容 可供编辑 修改 如果是新文件 则给出一个空白编辑窗口 可供输入新的源程序 2 选择文件 仅适用于已经存在的源程序文件 空回车 打开当前目录下后缀为 的所有文件的文件名窗口 用上 下 左 右方向键 将光带定位于所需的文件名上 按回车键 c12 c源程序编辑屏幕 编译 连接 单个源程序文件选择Compile MakeEXEFile项 快捷键 F9 则TC将自动完成对当前正在编辑的源程序文件的编译 连接 并生成可执行文件 如果源程序有语法错误 系统将在屏幕中央的 Compiling 编译 窗口底端提示 Error Pressanykey 错误 按任意键 此时 按空格键 屏
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 多模态融合展示-洞察及研究
- 量子安全多方计算-第1篇-洞察及研究
- 安徽省阜阳市界首市2024-2025学年七年级下学期期末道德与法治试卷(含答案)
- 租赁市场增长驱动力-洞察及研究
- 状态演化风险评估-洞察及研究
- 辩证施护的课件
- 基于双碳目标的前向多翼单吸叶轮轻量化设计与材料表面改性协同路径探索
- 城市高空作业平台与无人机协同作业的空域管理与任务调度范式重构
- 国际标准互认体系构建与全球供应链协同优化
- 变频器能效标准迭代与设备全生命周期碳足迹核算矛盾
- 电路学课件:1-6 电压源和电流源
- 奥的斯GeN2-故障查找手册-1-CN
- 区妇联家庭教育工作的调研报告
- 劳保用品发放表格及管理
- 江苏省盐城市各县区乡镇行政村村庄村名居民村民委员会明细
- Q∕SY 01004-2016 气田水回注技术规范
- TSG Z8002-2022 特种设备检验人员考核规则
- 非标自动化设备公司绩效与薪酬管理方案(范文)
- 电工常用工具(课堂PPT)
- 虹桥高铁外墙顾问建议ppt课件
- (高清版)外墙外保温工程技术标准JGJ144-2019
评论
0/150
提交评论