




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第1讲C语言概述 计算机工作原理程序和程序语言C程序开发的循环流程C程序集成开发环境 2 学习路线图 准备知识 1 计算机工作原理2 程序和程序设计语言3 C程序开发的循环流程4 C程序集成开发环境 4 1 计算机及工作原理 计算机的基本操作计算机工作原理程序执行示例 5 计算机的基本操作 1 数据输入计算机 input 2 计算机操作数据 process 3 计算机输出数据 output process input output 6 计算机工作原理 存储程序 程序控制 7 程序执行示例 计算所得税 8 2 程序和程序设计语言 程序和指令程序设计语言翻译程序程序设计方法 程序和指令 程序等于指令吗 程序 指令 程序语言 编译器 10 程序设计语言 程序 程序是计算机能够接受的 指示计算机完成特定功能的一组指令的有序集合 编程 programming 设计一组控制计算机的指令集的过程程序设计语言 用于描述程序中操作过程的命令 规则的符号集合 是进行程序设计的工具程序设计过程 分析 设计 编码 测试 排错等阶段 11 程序设计语言的发展 12 翻译程序 高级语言不能被计算机直接执行 必须先由一种翻译程序将这些程序翻译成能被计算机识别和执行的机器语言 翻译程序的种类编译程序解释程序 编译程序 编译器 一个现代编译器的主要工作流程如下 源代码 sourcecode 预处理器 preprocessor 编译器 compiler 目标代码 objectcode 连接器 Linker 可执行文件 executables 程序设计方法 面向过程程序设计以函数为基本程序结构单位 程序的设计以过程为核心 先用函数实现解决问题所需要的每个步骤 再根据既定的功能依次调用函数 程序 算法 数据结构 程序设计语言 语言环境如 C Pascal等 程序设计方法 面向对象程序设计以对象为基本程序结构单位 程序的设计以对象为核心 对象的数据及操作封装在类中 程序 对象 对象 对象对象 数据结构 算法 程序设计语言 语言环境如 C JAVA Python等 16 3 C程序开发的循环流程 编辑 EDIT d t 编译 COMPILE k m pa l 连接 Link l k 执行 EXECUTE ks kjut 17 编辑 EDIT 源文件用高级语言编写的程序文件编辑器生成源文件的软件C语言程序文件 例 范例 hello cpp文本文件 可用记事本编辑后缀名 c cpp语法一种编程语言的规则 18 编译 COMPILE 编译器将高级语言翻译成机器语言的软件编译的任务 词法分析 语法分析 机器指令 编译器翻译源文件时会检查是否符合高级语言的语法规则生成机器语言指令构成的目标文件如源程序包含语法错误 列出错误 不产生目标文件c目标文件 例 hello obj二进制文件后缀名 obj 19 连接Link 连接的任务将预先开发好的程序模块 例如系统函数或其他程序员开发的共同模块 连接到当前程序代码中去生成可执行文件 exe 例 hello exe连接器完成连接的软件 执行 EXECUTE C语言生成的可执行文件 exe文件 是一个DOS程序 控制台程序 可以通过开始菜单 运行 cmd 命令打开命令窗口 直接执行文件名 20 C语言程序的编辑 调试 运行步骤 22 4 C程序集成开发环境 集编辑 EDIT 编译 COMPILE 连接 Link 执行 EXECUTE 与一体 并提供调试 debug 手段和帮助 help 的开发软件 几种常用的C语言集成开发工具 24 VC 6 0创天中文版 实践1 C程序开发环境练习 任务一创建第一个C程序任务二解读第一个C程序任务三认识程序错误 VC 操作新建编译执行语法错误关闭工作空间 26 任务一创建程序sample01 01 cpp print HelloWorld includeintmain void printf HelloWorld n return0 可省去 27 任务二解读第一个C程序 程序语法 1 C程序必须由一个main函数构成 系统自动执行main函数 2 程序的执行从main函数的左 括号开始 顺序执行每一条语句 直到main函数的右 括号结束 函数体 3 printf是标准输出函数 输出的字符串在一对半角双引号之间 例如 HelloCWorld n 4 C语句以分号结束 解读第一个C程序 程序语法 5 控制台输出时 系统会紧跟着自动输出 pressanykeytocontinue 等待按任意键关闭控制台窗口 6 n 是一个转义字符 换行 转义字符是一些键盘不能输入的控制字符 具有特殊功能 7 include是一个预编译命令 表示要加入stdio h文件 标准输入输出函数头文件 若要在程序中使用printf函数必须使用该命令 8 main函数执行到 或 return0 结束 return0 向系统返回整数0 表示程序运行正常 28 Include n klud 包含standard st nd d 标准head h d 头部 解读第一个C程序 相关文件 29 debug文件夹中存放着生成的obj文件 exe文件及其它一些中间文件 30 讨论 输出两行问候语句HelloCWorld HelloCWorld 31 可能出现的答案 printf HelloCWorld printf HelloCWorld printf HelloCWorld n printf HelloCWorld printf HelloCWorld nHelloCWorld 任务三认识程序错误 语法错误连接错误逻辑错误运行错误 33 语法错误 指不符合高级语言定义的语法书写规则 编译或解释程序能自动检查出语法错误 只需根据错误提示进行修改 34 改错示例 error1 1 cpp includeintmain void printf HelloCWorld n return0 includeintmain void printf WelcometoYou n return0 35 C语言的错误信息的形式 文件名行号错误编号错误信息 c sample error1 1 cpp 4 errorC2001 newlineinconstant双击上述错误信息 修改 36 编译错误修改提示 1 错误信息往往只能起提示作用 不是特别精确反映错误产生的原因 更不会告诉你如何修改 根据提示能快速反应错误产生的原因需要经验的积累 37 编译错误修改提示 2 一条语句错误可能会产生若干条错误信息 只要修改了这条错误 其他错误会随之消失 特别提示 一般情况下 第一条错误信息最能反映错误的位置和类型 所以调试程序时务必根据第一条错误信息进行修改 修改后 立即重新编译程序 如果还有很多错误 再一个一个地修改 即每修改一处错误要重新编译一次程序 38 连接错误 连接错误 是编译成功后 连接器连接外部程序的时候产生的错误 例 main函数名写错了 39 连接错误修改提示 连接错误不提示出错行数 但小程序的定位也比较简单 一般是函数和外部变量的名称出错 只需根据错误提示的字符串去寻找可能出现的位置 40 改错示例 error1 2 cpp includeintmian void printf HelloCWorld n return0 includeintmain void printf WelcometoYou n return0 41 连接错误信息显示 Configuration test Win32Debug Compiling test cppLinking LIBCD lib crt0 obj errorLNK2001 unresolvedexternalsymbol main无法解析的外部符号 mainDebug test exe fatalerrorLNK1120 1unresolvedexternals执行link exe时出错 test exe 1error s 0warning s 错误警告 42 常见编程错误 字符串 不完整 不匹配缺少 函数名写错 43 逻辑错误 逻辑错误则是程序设计上或逻辑上的错误 指程序已生成可执行文件 但运行出错或不能得到正确的结果 这可能是由于算法中问题说明不足 解法不完整或不正确所造成的 逻辑错误的检查需要事先设计的测试用例 逻辑错误出错位置需要程序员对程序代码进行分析 一般会借助一些调试手段 如单步执行 设断点 watch窗口观测等等 44 改错示例 error1 3 cpp includevoidmain void intx scanf d 程序的功能 如果输入一个整数1 则输出 true 输入其它整数则输出 false 测试用例 测试用例一 输入 1输出 true测试用例二 输入 0输出 false测试用例三 输入 10输出 false x 1 45 运行错误 运行错误是指程序经编译连接生成可执行文件后 在运行的过程中系统报错 没有运行结果 常见的运
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 洗手间装修出租合同范本
- 黑龙江省第三方协议合同
- 游泳机构合作合同协议书
- 粘土配方设备转让协议书
- 肋骨骨折工伤补偿协议书
- 汽车保险拍卖协议书模板
- 生意中介服务费合同范本
- 门面出租电子档合同范本
- 股份回购如何写合同协议
- 泰州学院食堂承包协议书
- GB/T 28055-2011钢质管道带压封堵技术规范
- GB/T 23936-2018工业氟硅酸钠
- GB/T 1874-1995磷矿石和磷精矿中酸不溶物含量的测定重量法
- GB 30980-2014海洋倾倒物质评价规范疏浚物
- GA/T 1393-2017信息安全技术主机安全加固系统安全技术要求
- 尼可地尔临床应用优势课件
- 超星尔雅《诗经》导读检测题答案
- 地源热泵埋管冬夏季换热平衡计算
- 湖北省职称评审专业目录表(工程系列)
- 中考《红星照耀中国》各篇章练习题及答案(1-12)
- 华中师范大学辅导员队伍建设实施办法
评论
0/150
提交评论