




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、孟宇龙608教研室高级语言程序设计本章提要本章提要0.1 课程介绍课程介绍0.2 程序设计基本知识程序设计基本知识1.1 C语言的发展过程语言的发展过程1.2 C语言的特点语言的特点1.3 简单的简单的C程序介绍程序介绍1.4 C程序的上机步骤程序的上机步骤课程介绍课程介绍q专业基础课专业基础课q选用选用C C作为教学语言的理由作为教学语言的理由q学习目标学习目标比较熟练地掌握比较熟练地掌握C C语言的要点,能够编写不太复杂的程序。语言的要点,能够编写不太复杂的程序。学会调试和测试程序学会调试和测试程序。 掌握结构化程序设计的方法掌握结构化程序设计的方法。掌握算法的一些基本知识掌握算法的一些基
2、本知识。养成良好的程序设计风格养成良好的程序设计风格。 为后续课程打下良好的基础,如数据结构、算法设计与算为后续课程打下良好的基础,如数据结构、算法设计与算法分析、操作系统等。法分析、操作系统等。课程介绍课程介绍q授课内容授课内容1. C语言概述语言概述2. 程序的灵魂程序的灵魂-算法算法3. 数据类型、运算符数据类型、运算符4. 顺序程序设计顺序程序设计5. 选择结构程序设计选择结构程序设计6. 循环控制循环控制 7. 数组数组 8. 函数函数 9. 预处理命令预处理命令10. 指针指针11. 结构体与共用体结构体与共用体12. 文件文件课程介绍课程介绍q学习方法学习方法注重掌握程序设计思想
3、注重掌握程序设计思想 认真地上机实践认真地上机实践 大量阅读优秀的程序大量阅读优秀的程序 q授课教材授课教材C C程序设计程序设计:谭浩强著,清华大学出版社。:谭浩强著,清华大学出版社。 q参考教材参考教材C C程序设计语言程序设计语言( (第二版第二版) ):Brian W.KernighanBrian W.Kernighan、Dennis M.RitchieDennis M.Ritchie著,徐宝文等译,机械工业出版社。著,徐宝文等译,机械工业出版社。 C C语言解析教程语言解析教程( (第四版第四版) ):Al KelleyAl Kelley、Ira PohlIra Pohl著,著,麻志
4、毅译,机械工业出版社。麻志毅译,机械工业出版社。 C C程序设计教程程序设计教程:H.M.DeitelH.M.Deitel、P.J.DeitelP.J.Deitel著,薛万著,薛万鹏等译,机械工业出版社。鹏等译,机械工业出版社。 程序设计基本知识程序设计基本知识q计算机与人计算机与人q计算机基本工作过程计算机基本工作过程q程序设计语言的故事程序设计语言的故事q程序设计语言的发展程序设计语言的发展计算机与人计算机与人q计算机是用来延伸人的能力的工具,计算机是用来延伸人的能力的工具,需要人来驾驭需要人来驾驭q我们的职责是让非计算机专业的人更我们的职责是让非计算机专业的人更容易驾驭它容易驾驭它q完成
5、这一目标的主要手段之一就是完成这一目标的主要手段之一就是“编程编程(Programming)”计算机基本工作过程计算机基本工作过程q整个过程的执行者是硬件,但硬件是受软件控制的q编程,就是编写软件,使硬件按照人的意图工作计算机基本工作过程计算机基本工作过程输入/输出设备存储器运算器控制器源程序和输入数据输出结果取出数据存入数据操作命令存取命令取出程序指令输入输出命令计算结果CPU“冯诺依曼机”结构 大脑记忆装置眼睛和耳朵软件的形成与运行过程的简单描述软件的形成与运行过程的简单描述q软件的形成软件的形成程序员程序员(Programmer)编写程序)编写程序源代码源代码(Source Code)编
6、译器编译器(Compiler)把源代码转换为可被计算机理解的)把源代码转换为可被计算机理解的机器代码(机器代码(Machine Code)并把机器代码以并把机器代码以可执行文件可执行文件(Executable File)的形式)的形式保存在磁盘上保存在磁盘上q软件的运行软件的运行计算机把机器代码读入到计算机把机器代码读入到内存内存( (Memory)由由CPU运行这些代码运行这些代码读取输入(读取输入(Input)产生输出(产生输出(Output)完成程序员预定的功能完成程序员预定的功能程序和数据执行结果程序设计语言的工作原理程序设计语言的工作原理q编译运行编译运行编辑、编译、链接和运行编辑、
7、编译、链接和运行q解释运行解释运行程序员编写程序源代码程序员编写程序源代码解释器读入源代码,并执行源代码解释器读入源代码,并执行源代码q解释运行的语言特点解释运行的语言特点执行速度慢执行速度慢好学易用好学易用q先编译、后解释先编译、后解释把源代码编译成更容易解释的中间代码,然后再解释运行把源代码编译成更容易解释的中间代码,然后再解释运行程序设计语言的故事程序设计语言的故事q程序设计语言(程序设计语言(Programming Language)是人与计是人与计算机进行交流的语言算机进行交流的语言q计算机直接能读懂的语言机器语言(Machine Code),也叫机器代码一种纯粹的二进制语言q 一种
8、程序设计语言对应一种编译器一种程序设计语言对应一种编译器q 程序员按照该语言的语法编写程序源代码,把自己的意图融程序员按照该语言的语法编写程序源代码,把自己的意图融入到代码中入到代码中q 编译器读入源代码,把程序员的意图转换成可执行程序,供编译器读入源代码,把程序员的意图转换成可执行程序,供他人使用他人使用用各种语言编写的用各种语言编写的1+1程序程序机器语言编写的机器语言编写的1+11+1程序程序101110000000000100000000000001010000000100000000汇编语言编写的汇编语言编写的1+11+1程序程序MOV AX, 1ADD AX, 1BASICBASI
9、C语言编写的语言编写的1+11+1程序程序PRINT 1+ 1C C语言编写的语言编写的1+11+1程序程序#include main()printf(%dn, 1+1);程序设计语言的发展程序设计语言的发展机器语言汇编语言高级语言面向过程面向对象CPU指令系统,由0、1序列构成的指令码组成如:10000000 加 10010000 减用助记符号描述的指令系统如 ADD A, B面向机器的语言程序设计是数据被加工的过程客观世界可以分类,对象是类的实例对象是数据和方法的封装对象间通过发送和接受消息发生联系程序设计关键是定义类,并由类派生对象程序设计语言的发展程序设计语言的发展52 54 56 5
10、8 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96AdaALGOL60ALGOL68PascalModula-2CPLBCPL BCC+JavaLISPPROLOGCOBOLFORTRAN77FORTRANPL/1Simula 67Smalltalk 80BASICANSI-BASICQBASIC VBFORTRAN901.1 C语言的发展过程语言的发展过程q产生背景产生背景q产生过程产生过程BCPL语言进化成B语言,B语言又进化为C语言。时间:时间:19721973地点:美国贝尔实验室地点:美国贝尔实验室目的:目的:UNIX操
11、作系统操作系统设计人设计人::Ken.Thompson和和Dennis.M.RitchieqC标准标准标准标准C:K&R合著合著The C Programming Language ANSI C:1983年年 87 ANSI C:1987年年 1990年国际标准的年国际标准的ANSI CC程序设计语言程序设计语言q上天入地,无所不能上天入地,无所不能很多重量级软件都是用C写的。几乎没有不能用C写出来的软件,没有不支持C的系统。q很多流行语言、新生语言都借鉴了它的思想、语法很多流行语言、新生语言都借鉴了它的思想、语法从从C+,到,到Java,再到,再到C#,还有,还有php等等C语言的地盘语言的
12、地盘C语言的设计者语言的设计者- Dennis M. Ritchie1.2 C1.2 C语言的特点语言的特点q语言简洁、紧凑,使用方便、灵活语言简洁、紧凑,使用方便、灵活仅有仅有32个关键字个关键字语法限制不严格语法限制不严格q表达能力强表达能力强运算符丰富。运算符丰富。数据结构丰富,具有现代化语言的各种数据结构。数据结构丰富,具有现代化语言的各种数据结构。允许直接访问物理地址,能进行位允许直接访问物理地址,能进行位(bit)(bit)操作,能实现汇操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。编语言的大部分功能,可以直接对硬件进行操作。q支持结构化设计支持结构化设计q目标代码质量
13、高,程序执行效率高目标代码质量高,程序执行效率高q可移植性好可移植性好( (与汇编语言比与汇编语言比) )1.3 1.3 简单的简单的C C程序介绍程序介绍qC程序举例程序举例qC程序的结构特点程序的结构特点qC程序的格式特点程序的格式特点C C程序举例程序举例-例例1.11.1/* The first C Program*/#include int main() printf(Hello,World!n);return 0;运行结果:Hello,World!q察看输出结果察看输出结果printf(*n*n*n*n); q输出如下内容输出如下内容Hello world! _注释编译预处理函数语
14、句C C程序举例程序举例-例例1.2/* 求两个数之和求两个数之和 */main()int a, b, sum; a = 123; b = 456;sum = a + b;printf(sum is %dn, sum);运行结果:579q如何求两个数之差、之积、之商。如何求两个数之差、之积、之商。q如何求三个数之和、之积。如何求三个数之和、之积。C C程序举例程序举例-例例1.3/* 求两个数的最大值求两个数的最大值 */main()int a, b, c;scanf(“%d,%d”,&a,&b);c = max(a,b);printf(max=%d,c);int max(int x, int
15、 y)int z;if (xy) z = x;else z = y;return z;如何求两个数的如何求两个数的最小值、乘积、最小值、乘积、和。和。函数名函数名( (参数参数) )数据说明部分数据说明部分; ;执行语句部分执行语句部分; ; C语言程序的结构特点语言程序的结构特点q函数与主函数函数与主函数程序由一个或多个函数组成程序由一个或多个函数组成必须有且只能有一个主函数必须有且只能有一个主函数main()()程序执行从程序执行从main开始,在开始,在main中结束,其它函数通过嵌中结束,其它函数通过嵌套调用得以执行。套调用得以执行。q程序语句程序语句C C程序由语句组成程序由语句组成
16、用用“ “ ; ”作为语句终止符作为语句终止符没有输入输出语句没有输入输出语句q注释注释/* */为注释为注释, ,不能嵌套不能嵌套q不产生编译代码不产生编译代码q编译预处理命令编译预处理命令C语言程序的格式特点语言程序的格式特点q习惯用习惯用小写小写字母,大小写敏感字母,大小写敏感q不使用行号,不使用行号,无程序行无程序行概念概念q可使用空行和空格可使用空行和空格q常用常用锯齿形锯齿形书写格式书写格式main( ) . . . . . . .main( ) int i , j , sum; sum = 0; for (i = 1; i 10 ; i+) for (j = 1 ; j10; j
17、+) sum += i * j ; printf(“%dn”,sum);优秀程序员的素质之一使用TAB缩进对齐有足够的注释有合适的空行1.4 C程序的上机步骤程序的上机步骤qC语言程序的开发过程语言程序的开发过程qC语言程序的上机执行过程语言程序的上机执行过程qTC开发环境开发环境C语言程序开发过程语言程序开发过程1.1.编写源程序,形成编写源程序,形成 *.C文件。文件。 需用需用编辑工具编辑工具。2.2.编译源程序,形成目标程序编译源程序,形成目标程序 * . Obj文件。文件。 需用需用编译工具编译工具 tc.exe 。3.3.连接连接OBJOBJ文件和调用的库函数,形成运行程序文件和调
18、用的库函数,形成运行程序 *.exe 文件。文件。 需用需用连接工具连接工具 tlink.exe 。C语言程序的上机执行过程语言程序的上机执行过程执执行行编编辑辑编编译译连连接接编辑编辑程序程序C C源源程序程序.C编译编译程序程序连接连接程序程序目标目标程序程序.obj可执行可执行程序程序.exe用用户户结结果果C编译编译系统系统其它目其它目标文件标文件C C语言语言函数库函数库TC开发环境开发环境(1)IncludeLibTC开发环境开发环境(2)TC开发环境开发环境(3)状态信息状态信息主选单主选单( (用用 Alt+ +第第一个一个字母字母选中选中) )信息窗口信息窗口编辑区编辑区热键热键Windows 窗口属性窗口属性TC开发环境开发环境(4)当前,信息窗口被激活,当前,信息窗口被激活,显示错误信息。用显示错误信息。用F6键键在编辑区和信息窗口间在编辑区和信息窗口间进行切换。进行切换。TC开发环境开发环境(5)TC开发环境开发环
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年硅钢行业当前发展趋势与投资机遇洞察报告
- 2025年网络借贷行业当前发展趋势与投资机遇洞察报告
- 收纳师行业知识培训课件
- 2025年义务教育科学课程标准考试测试题库及参考答案
- 2025年矿产权评估师模拟题和答案分析
- 2025版义务教育语文课程标准理论测试题及答案【附语文新课标解读】
- 2025义务教育化学课程标准考试题库及答案
- 撇捺的硬笔书法课件
- 2025年注册税务师全真模拟测试带答案
- 2025年黑龙江省大庆市中考数学试卷
- 养生茶基础知识培训课件
- 2025年暑假反电信网络诈骗试题及答案
- 2025年医学基础知识真题(附答案)
- 新学期教学工作会议上校长讲话:把功夫下在课堂里把心思放在学生上把质量落到细节中
- 电工教学空气开关课件
- 废旧钢模板翻新工艺技术方案
- 5Why原因分析方法培训
- 2025至2030中国电子产品散热器行业市场现状分析及竞争格局与投资发展报告
- 2025年中国真人CS行行业市场调研分析及投资前景预测报告
- 泌尿外科快速康复外科理念
- CJ/T 292-2008城市市政综合监管信息系统绩效评价
评论
0/150
提交评论