版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第1讲 C语言概述 计算机工作原理计算机工作原理 程序和程序语言程序和程序语言 C程序开发的循环流程程序开发的循环流程 C程序集成开发环境程序集成开发环境 1优选课堂 学习路线图 2优选课堂 准备知识准备知识 1. 计算机工作原理 2. 程序和程序设计语言 3. C程序开发的循环流程 4. C程序集成开发环境 3优选课堂 1.计算机及工作原理 n计算机的基本操作 n计算机工作原理 n程序执行示例 4优选课堂 计算机的基本操作 (1)数据输入计算机 (input) (2)计算机操作数据 (process) (3)计算机输出数据 (output) input output 5优选课堂 计算机工作原
2、理 存储程序、程序控制 6优选课堂 程序执行示例-计算所得税 7优选课堂 2.程序和程序设计语言 n程序和指令 n程序设计语言 n翻译程序 n程序设计方法 8优选课堂 程序和指令 n程序等于指令吗? n程序n指令 n编译器编译器 9优选课堂 程序设计语言 n程序:程序是计算机能够接受的、指示计算机完成程序:程序是计算机能够接受的、指示计算机完成 特定功能的一组指令的有序集合。特定功能的一组指令的有序集合。 n编程编程(programming):设计一组控制计算机的指令:设计一组控制计算机的指令 集的过程集的过程 n程序设计语言:用于描述程序中操作过程的命令、程序设计语言:用于描述程序中操作过程
3、的命令、 规则的符号集合,是进行程序设计的工具规则的符号集合,是进行程序设计的工具 n程序设计过程:分析、设计、编码、测试、排错等程序设计过程:分析、设计、编码、测试、排错等 阶段。阶段。 10优选课堂 程序设计语言的发展 机器语言机器语言汇编语言汇编语言高级语言高级语言 例:例:要使两个存储单元中的数的相加,最后结果存放在要使两个存储单元中的数的相加,最后结果存放在其中一个其中一个单元中单元中 10011100 00000000 00000001 10001010 00000100 01000110 00010000 00000100 10001000 00000100 MOV SI,011
4、0 MOV AL,SI INC ADD SI,AL MOV SI,AL int x=6,y=7; x=x+y; 11优选课堂 翻译程序 n高级语言不能被计算 机直接执行,必须先 由一种翻译程序将这 些程序翻译成能被计 算机识别和执行的机 器语言 n翻译程序的种类 编译程序 解释程序 12优选课堂 编译程序-编译器 n一个现代编译器的主要工作流程如下: n 源代码 (source code) 预处理器 (preprocessor) 编译器编译器 (compiler) 目 标代码 (object code) 连接器 (Linker) 可执行文件 (executables) 13优选课堂 程序设计方
5、法 n面向过程程序设计 以函数为基本程序结构单位,程序的设计以过程为核 心。先用函数实现解决问题所需要的每个步骤, 再根据 既定的功能依次调用函数。 程序=算法+数据结构+程序设计语言+语言环境 如:C、Pascal等 14优选课堂 程序设计方法 n面向对象程序设计 以对象为基本程序结构单位,程序的设计以对象为核 心,对象的数据及操作封装在类中。 程序=对象+对象+对象 对象=数据结构+算法+程序设计语言+语言环境 如:C+、JAVA、Python等 15优选课堂 16 3.C程序开发的循环流程 n编辑(EDIT)dt n编译(COMPILE) kmpal n连接(连接(Link)lk n执行
6、(EXECUTE)ks,kjut 16优选课堂 17 编辑(EDIT) n源文件 用高级语言编写的程序文件 n编辑器 生成源文件的软件 nC语言程序文件,例:范例hello.cpp 文本文件,可用记事本编辑 后缀名:c/cpp n语法 一种编程语言的规则 17优选课堂 18 编译(COMPILE) n编译器 将高级语言翻译成机器语言的软件 n编译的任务(词法分析-语法分析-机器指令) 编译器翻译源文件时会检查是否符合高级语言的语法 规则 生成机器语言指令构成的目标文件 如源程序包含语法错误,列出错误,不产生目标文件 nc目标文件,例:hello.obj 二进制文件 后缀名:obj 18优选课堂
7、 19 连接连接Link n连接的任务 将预先开发好的程序模块(例如系统函数或其 他程序员开发的共同模块)连接到当前程序代 码中去 生成可执行文件:exe,例:hello.exe n连接器 完成连接的软件 19优选课堂 执行(EXECUTE) nC语言生成的可执行文件(exe文件)是一 个DOS程序控制台程序; n可以通过开始菜单“运行” “cmd”命 令打开命令窗口,直接执行文件名。 2020优选课堂 C语言程序的编辑、调试、运行步骤 开始开始结果结果 语法语法 错误错误 源程序源程序 .c / .cpp 目标程序目标程序 .obj 可执行程序可执行程序 .exe 编辑编辑编译编译运行运行
8、连接连接 错误错误 运行运行 错误错误 运行运行 文字文字 编辑器编辑器编译器编译器连接器连接器 结果 21优选课堂 22 4. C程序集成开发环境 n集编辑(EDIT)、编译(COMPILE)、 连接(Link)、)、执行(EXECUTE)与一体, 并提供调试(debug)手段和帮助(help) 的开发软件。 22优选课堂 几种常用的C语言集成开发工具: 开 发 工 具运 行 环 境各工具的差异基 本 特 点 Turbo CDOS 不能开发C+语言程序 (1)符合标准C (2)各系统具有一些 扩充内容 (3)能开发C语言程序 (集程序编辑、编译、链 接、调试、运行于一体) Borland C
9、DOS Micrsoft CDOS Visual C+Windows 能开发C+语言程序(集 程序编辑、编译、链接、调 试、运行于一体) Dev C+Windows Borland C+DOS、Windows C+ BuilderWindows CodeBlocksWindows、Mac 23优选课堂 24 VC+ 6.0 创天中文版 24优选课堂 实践实践1:C程序开发环境练习程序开发环境练习 任务一 创建第一个创建第一个C程序程序 任务二任务二 解读第一个解读第一个C程序程序 任务三 认识程序错误 25优选课堂 nVC+操作 新建 编译 执行 语法错误 关闭工作空间 26 任务一 创建程序
10、sample01_01.cpp /*print “Hello World!” */ #include int main(void) printf(Hello World! n); return 0; 可省去可省去! 26优选课堂 27 任务二 解读第一个C程序程序语法 (1)C程序必须由一个程序必须由一个main函数构成,系统自函数构成,系统自 动执行动执行main函数。函数。 (2)程序的执行从)程序的执行从main函数的函数的左左括号开始括号开始, 顺序执行每一条语句,直到顺序执行每一条语句,直到main函数的函数的右右括括 号结束号结束。函数体函数体 (3)printf是标准输出函数,输
11、出的字符串在是标准输出函数,输出的字符串在 一对半角双引号之间,例如一对半角双引号之间,例如Hello C Worldn。 (4)C语句以分号结束。语句以分号结束。 27优选课堂 解读第一个C程序程序语法 (5)控制台输出时,系统会紧跟着自动输出)控制台输出时,系统会紧跟着自动输出“press any key to continue”,等待按任意键关闭控制台窗,等待按任意键关闭控制台窗 口。口。 (6)n是一个转义字符换行。转义字符是一些键是一个转义字符换行。转义字符是一些键 盘不能输入的控制字符,具有特殊功能。盘不能输入的控制字符,具有特殊功能。 (7)#include是一个预编译命令,表示
12、要加是一个预编译命令,表示要加 入入stdio.h文件(标准输入输出函数头文件),若要在文件(标准输入输出函数头文件),若要在 程序中使用程序中使用printf函数必须使用该命令。函数必须使用该命令。 (8) main函数执行到函数执行到 “”或或“return 0;”结束。结束。 return 0;向系统返回整数向系统返回整数0,表示程序运行正常。,表示程序运行正常。 28 nInclude nklud 包含 nstandard stndd 标准 nhead hd 头部 28优选课堂 解读第一个C程序相关文件 29 后缀名后缀名解释解释 cpp源程序文件 dsw项目工作区 dsp项目文件 n
13、cb无编译浏览文件 plg编译信息文件 opt关于开发环境的参数文件, 如工具条位置等信息 ndebug文件夹中存放着生成的obj文件,exe 文件及其它一些中间文件。 29优选课堂 讨论 n输出两行问候语句 nHello C World! nHello C World! 30优选课堂 可能出现的答案 nprintf (“Hello C World”); nprintf (“Hello C World”); nprintf (“Hello C Worldn”); nprintf (“Hello C World”); nprintf (“Hello C Worldn Hello C World”
14、); 31优选课堂 任务三 认识程序错误 n语法错误语法错误 n连接错误连接错误 n逻辑错误逻辑错误 n运行错误运行错误 32优选课堂 语法错误 n指不符合高级语言定义的语法书写规则。 n编译或解释程序能自动检查出语法错误, 只需根据错误提示进行修改。 33优选课堂 改错示例:( error1-1.cpp ) #include int main(void) printf(Hello C World!n); return 0; # include int main(void) printf(Welcome to You! n); return 0; 34优选课堂 C语言的错误信息的形式 : 文件
15、名文件名 行号行号 错误编号错误编号 错误信息错误信息 c:sampleerror1-1.cpp(4) : error C2001: newline in constant 双击上述错误信息,修改双击上述错误信息,修改 35优选课堂 编译错误修改提示(1) n错误信息往往只能起提示作用,不是特别 精确反映错误产生的原因,更不会告诉你 如何修改。 n根据提示能快速反应错误产生的原因需要 经验的积累。 36优选课堂 编译错误修改提示(2) n一条语句错误可能会产生若干条错误信息,只 要修改了这条错误,其他错误会随之消失。 n特别提示:一般情况下,第一条错误信息最能 反映错误的位置和类型,所以调试程
16、序时务必 根据第一条错误信息进行修改,修改后,立即 重新编译程序,如果还有很多错误,再一个一 个地修改。 n即每修改一处错误要重新编译一次程序。 37优选课堂 连接错误 n连接错误,是编译成功后,连接器连接外 部程序的时候产生的错误。 n例 :main函数名写错了 38优选课堂 连接错误修改提示 n连接错误不提示出错行数,但小程序的定 位也比较简单,一般是函数和外部变量的函数和外部变量的 名称名称出错,只需根据错误提示的字符串去 寻找可能出现的位置 。 39优选课堂 改错示例:( error1-2.cpp ) #include int mian(void) printf(Hello C Wor
17、ld!n); return 0; # include int main(void) printf(Welcome to You! n); return 0; 40优选课堂 连接错误信息显示 -Configuration: test - Win32 Debug- Compiling. : test.cpp Linking. LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main 无法解析的外部符号无法解析的外部符号_main Debug/test.exe : fatal error LNK1120: 1 unre
18、solved externals 执行执行 link.exe 时出错时出错. test.exe - 1 error(s), 0 warning(s) 错误错误 警告警告 41优选课堂 常见编程错误: n字符串字符串“ ”不完整不完整 n()不匹配()不匹配 n缺少缺少; n函数名写错函数名写错 n 42优选课堂 逻辑错误 n逻辑错误则是程序设计上或逻辑上的错误逻辑错误则是程序设计上或逻辑上的错误 指程序指程序已生成可执行文件,但运行出错或不能已生成可执行文件,但运行出错或不能 得到正确的结果得到正确的结果,这可能是由于算法中问题说,这可能是由于算法中问题说 明不足,解法不完整或不正确所造成的。明不足,解法不完整或不正确所造成的。 n逻辑错误的检查需要事先设计的测试用例。逻辑错误的检查需要事先设计的测试用例。 n逻辑错误出错位置需要程序员对程序代码进行逻辑错误出错位置需要程序员对程序代码进行 分析,一般会借助一些调试手段,如单步执行分析,一般会借助一些调试手段,如单步执行 ,设断点,设断点,watch窗口观测等等窗口观测等等 43优选课堂 改错示例:( error1-3.cpp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 60335-2-80:2024 EXV-CMV EN Household and similar electrical appliances - Safety - Part 2-80: Particular requirements for fans
- 淮阴师范学院《国际私法》2021-2022学年第一学期期末试卷
- DB4117-T+405-2024金花葵生产技术规程
- DB2104-T 0036-2024塔式起重机安装施工方案编写规范
- 农业科学与农产品质量评价方法考核试卷
- 企业研究院建设任务书
- 智能出行与交通智能化的融合考核试卷
- 玉石与人类情感的联系与灵感考核试卷
- 公共设施管理的养护与保养考核试卷
- 森林土地资源可持续利用和评估考核试卷
- 数据管理制度
- 减速器拆装实训教案
- 氢氧化钠安全技术说明书(共2页)
- 投标优惠条件承诺书
- 生石灰(氧化钙)MSDS
- 精通版五年级英语上册Unit4单元测试卷(含听力材料及答案)
- 顾客皮肤分析护理档案表
- 中俄跨界水体水质联合监测方案
- 秋季宜宾东辰国际学校小升初超越杯数学试题(含参考答案)
- 老挝的建筑文化
- 临床营养评价
评论
0/150
提交评论