C语言课件-第1章概述.ppt

上传人:re****.1 文档编号:568333868 上传时间:2024-07-24 格式:PPT 页数:30 大小:454KB
返回 下载 相关 举报
C语言课件-第1章概述.ppt_第1页
第1页 / 共30页
C语言课件-第1章概述.ppt_第2页
第2页 / 共30页
C语言课件-第1章概述.ppt_第3页
第3页 / 共30页
C语言课件-第1章概述.ppt_第4页
第4页 / 共30页
C语言课件-第1章概述.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《C语言课件-第1章概述.ppt》由会员分享,可在线阅读,更多相关《C语言课件-第1章概述.ppt(30页珍藏版)》请在金锄头文库上搜索。

1、高级语言程序设计高级语言程序设计(C(C语言程序设计语言程序设计) )相关介绍相关介绍 教材:教材:C C语言程序设计语言程序设计(第二版)王曙燕等(第二版)王曙燕等 教学方式:授课(教学方式:授课(4444)+ + 上机实验(上机实验(2020)考试类别:院考考试类别:院考参考教材:参考教材:C C语言程序设计语言程序设计,谭浩强,清华出版社,谭浩强,清华出版社 C C语言程序设计语言程序设计,孟庆云,人民邮电出版社,孟庆云,人民邮电出版社 C C语言程序设计教程、实验与练习语言程序设计教程、实验与练习, 杨开成,人民邮电出版社杨开成,人民邮电出版社习题集及实验指导书:习题集及实验指导书:

2、C C语言程序设计习题与实验指导语言程序设计习题与实验指导王曙燕等,科学出版社王曙燕等,科学出版社评分标准评分标准成绩评定:成绩评定:期末成绩期末成绩70% + 平时成绩平时成绩30%平时成绩:平时成绩:上机上机50% 作业作业30% 点名点名20%第第1 1章章 概述概述1.1 1.1 程序设计语言程序设计语言什么是计算机?什么是计算机?什么是程序?什么是程序?什么是程序设计语言?什么是程序设计语言? 计算机计算机 计算机是一种具有内部存储能力、由程序自动控制计算机是一种具有内部存储能力、由程序自动控制的电子设备。的电子设备。CPU内存存储器外设操作系统(例如:Windows、Linux)应

3、用软件(例如:Office、MSN、QQ)计计算算机机软软件件计算机计算机硬件硬件 计算机组成计算机组成冯.诺依曼结构:计算机运算器控制器存储器主机: I/O设备:键盘、鼠标、显示器等中央处理器CPU 计算机硬件计算机硬件 程序程序 程序是可完成某一功能的程序是可完成某一功能的, ,计算机能够识别并计算机能够识别并控制计算机执行的指令序列。程序要有控制计算机执行的指令序列。程序要有目的性目的性和和可执行性可执行性。程序就其表现形式而言,是机器能够。程序就其表现形式而言,是机器能够直接执行的、代码化的指令序列。直接执行的、代码化的指令序列。 程序是由某种程序设计语言编制出来,体现了程序是由某种程

4、序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。编程者的控制思想和对计算机执行操作的要求。 程序、规程、规则以及所需要的所有文档和数程序、规程、规则以及所需要的所有文档和数据就是所谓的据就是所谓的计算机软件计算机软件。 程序设计语言程序设计语言 用于书写计算机程序所使用的语言称为程序用于书写计算机程序所使用的语言称为程序设计语言。它是由人工设计的语言,是人与计算设计语言。它是由人工设计的语言,是人与计算机之间交互的工具,它的好坏不仅关系到书写程机之间交互的工具,它的好坏不仅关系到书写程序是否方便易读,而且影响到程序的质量。序是否方便易读,而且影响到程序的质量。 分为面向机器

5、的低级语言和面向人的高级语分为面向机器的低级语言和面向人的高级语言。低级语言包括机器语言和汇编语言。言。低级语言包括机器语言和汇编语言。CPU指令系统,由0、1序列构成的指令码组成如:10000000 加 10010000 减用助记符号描述的指令系统如 ADD A, B面向机器的语言程序设计是数据被加工的过程客观世界可以分类,对象是类的实例对象是数据和方法的封装对象间通过发送和接受消息发生联系程序设计关键是定义类,并由类派生对象 程序语言的发展过程程序语言的发展过程1.1.机器语言机器语言 机器语言是以二进制代码形式表示的机器基机器语言是以二进制代码形式表示的机器基本指令的集合,是计算机系统唯

6、一不需要翻译可本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。它的特点是以直接识别和执行的程序设计语言。它的特点是运算速度快,每条指令均为运算速度快,每条指令均为0 0和和1 1的代码串,指令的代码串,指令代码包括操作码与操作对象。代码包括操作码与操作对象。2.2.汇编语言汇编语言 用用助记符助记符来表示指令的操作码和操作对象的来表示指令的操作码和操作对象的符号化语言,它便于编程人员识别与记忆,执行符号化语言,它便于编程人员识别与记忆,执行效率也较高。但用汇编编语言编写的程序不能由效率也较高。但用汇编编语言编写的程序不能由计算机直接执行,必须通过具有计算机直接执行,必

7、须通过具有“翻译翻译”功能的功能的汇编程序,将这种符号化语言转换成相应的机器汇编程序,将这种符号化语言转换成相应的机器可执行代码,才能被执行。不同可执行代码,才能被执行。不同CPUCPU的指令系统其的指令系统其相应的汇编语言不同。相应的汇编语言不同。 如:如:10000000 - ADD 10001000 - DEC 低级语言是低级语言是面向机器的语言,机器执行面向机器的语言,机器执行效率高,效率高,程序逻辑代码量小。但与人们思考问题和描述问程序逻辑代码量小。但与人们思考问题和描述问题的方法相距太远,使用繁琐、易出差错,要求题的方法相距太远,使用繁琐、易出差错,要求使用者熟悉计算机内部细节,非

8、专业的普通用户使用者熟悉计算机内部细节,非专业的普通用户很难对它维护。很难对它维护。 为了使人编程方便,程序设计语言朝着接近于为了使人编程方便,程序设计语言朝着接近于人们熟悉、习惯的自然语言和数学语言描述的高人们熟悉、习惯的自然语言和数学语言描述的高级化方向发展,形成了各式各样、丰富多彩的各级化方向发展,形成了各式各样、丰富多彩的各种程序设计高级语言。种程序设计高级语言。3.3.高级语言高级语言 高级语言的出现是计算机编程语言的一大进步。高级语言的出现是计算机编程语言的一大进步。它屏蔽了机器的细节,提高了语言的抽象层次,它屏蔽了机器的细节,提高了语言的抽象层次,程序中可以采用具有一定含义的数据

9、命名和容易程序中可以采用具有一定含义的数据命名和容易理解的执行语句。这些接近于自然语言和数学语理解的执行语句。这些接近于自然语言和数学语言的语句,易学、易用、易维护,且基本与机器言的语句,易学、易用、易维护,且基本与机器无关,给编程带来了极大方便。无关,给编程带来了极大方便。面向过程:面向过程:Basic、Fortran、Pascal、C语言等。语言等。非过程:非过程:Visual Basic、Java、C+、Delphi、Visual C+等。等。 高级语言编写的程序必须经过高级语言编写的程序必须经过“翻译程序翻译程序”翻译成机器语言程序方可执行。而且翻译过程复翻译成机器语言程序方可执行。而

10、且翻译过程复杂,翻译成的机器语言程序机器效率较低。杂,翻译成的机器语言程序机器效率较低。 在各种在各种高级语言中高级语言中, C语言是机器效率最高语言是机器效率最高的,它功能丰富,移植力强,编译质量高,故有的,它功能丰富,移植力强,编译质量高,故有时称之为中级语言或高级汇编语言。时称之为中级语言或高级汇编语言。 1.2 C1.2 C程序设计语言程序设计语言 C C语言发展历史语言发展历史1960 ALGOL 60语言语言1963 CPL语言语言1967 BCPL语言语言1970 B语言语言1972-1973 C语言语言 C C语言版本语言版本 C C语言在各种计算机上的快速推广导致出现了许多语

11、言在各种计算机上的快速推广导致出现了许多C C语言版本。这些版本虽然是类似的,但通常是不兼容语言版本。这些版本虽然是类似的,但通常是不兼容的。为了明确地定义与机器无关的的。为了明确地定义与机器无关的C C语言语言, 1983, 1983年美年美国国家标准化协会根据国国家标准化协会根据C C语言问世以来各种版本对语言问世以来各种版本对C C的的发展和扩充发展和扩充, , 于于19871987年制定了新的标准年制定了新的标准, , 称为称为ANSI CANSI C; ; 19901990年,国际标准化组织年,国际标准化组织 ISO ISO 接受接受 87 87 ANSI CANSI C为为ISO

12、ISO C C的标准(的标准(ANSI/ISO 9899ANSI/ISO 989919901990)。)。目前广泛流行的目前广泛流行的C C编译系统都是以它为基础的。编译系统都是以它为基础的。 当今许多新的、重要的操作系统都是用当今许多新的、重要的操作系统都是用C C语言编写语言编写的的, , 许多其它系统软件和应用软件也都是用许多其它系统软件和应用软件也都是用C C语言编写语言编写的的, , C C语言已成为风靡全球应用最广泛的几种计算机程语言已成为风靡全球应用最广泛的几种计算机程序语言之一。序语言之一。 C C语言的特点语言的特点1、简洁、紧凑、方便、灵活、简洁、紧凑、方便、灵活2、运算符

13、丰富、运算符丰富3、数据结构丰富、数据结构丰富4、具有结构化的控制语句、具有结构化的控制语句5、语法不太严格,灵活性高、语法不太严格,灵活性高6、可与机器硬件打交道,直接访问内存地址,、可与机器硬件打交道,直接访问内存地址, 兼有兼有“高高”、“低低”级语言之功能级语言之功能7、生成目标代码质量高,执行效率高、生成目标代码质量高,执行效率高8、可移植性好、可移植性好1.3 1.3 C C语言的基本语法成分语言的基本语法成分字符集字符集英文字母:英文字母:az 和 AZ数字:数字:09特殊字符特殊字符: : 空格 !# % & * _ - + / | . , ? ( ) 由字符集的字符可以构成由

14、字符集的字符可以构成C C语言进一步语言进一步的语法成份。的语法成份。标识符标识符标识符只能由标识符只能由字母字母、数字数字和和下划线下划线组成组成第一个字符第一个字符必须是必须是字母字母或或下划线下划线标识符不能与系统中规定的保留关键字相同标识符不能与系统中规定的保留关键字相同命名变量尽量做到命名变量尽量做到“见名知义见名知义” 区分大小写区分大小写sum, Sum, total_data, _MyCar, Bits3212_year, date.day, $125, a+5合法合法非法非法要求:要求:关键字关键字预定义标识符预定义标识符用户标识符用户标识符32个关键字个关键字auto br

15、eak case char const do volatilecontinue default double if else for enum extern float goto int long whileregister return short signed sizeof staticStruct switch typedef union unsigned void v系统标准库函数系统标准库函数scanf、printf、putchar、getchar、strcpy、 strcmp、sqrt等等v编译预处理命令编译预处理命令include、define等等运算符运算符(1 1)单目运算符

16、(仅对一个运算对象进行操作)单目运算符(仅对一个运算对象进行操作) ! + - -+ - -(取负号)(取负号) (类型标识符)(类型标识符) * & * & sizeofsizeof(2 2)双目运算符(该运算符连接两个运算对象)双目运算符(该运算符连接两个运算对象) + - * / % = = != + - * / % = = != & | & | & | & | = = 复合赋值运算符复合赋值运算符(3 3)三目运算符(该运算符连接三个运算对象)三目运算符(该运算符连接三个运算对象) ? :(4 4)其它)其它 ( ) ( ) - -1.1.4 C4 C语言程序组成简介语言程序组成简介在

17、屏幕上输出一行文字在屏幕上输出一行文字: : Hello,everyone!/* /* 例例1.1 */1.1 */#include main( ) printf(Hello,everyone!n); 包含头文件包含头文件主函数首部主函数首部函数体函数体注释行注释行运行结果:运行结果:Hello,everyone!求两数之和求两数之和#include /* This function calculates the sum of x and y */int add(int x,int y) int z; z=x+y; return(z);/* This is the main program *

18、/main() int a,b,sum; a=10; b=24; sum=add(a,b); printf(sum= %dn,sum);运行结果:运行结果:sum=34函数函数预处理命令预处理命令注释注释C C语言组成语言组成“#” 开始的编译预处理命令行(开始的编译预处理命令行(0到多行)到多行)函数函数: 主函数主函数main、标准库函数、自定义函数标准库函数、自定义函数 主函数主函数main: 完整的完整的C程序程序必须有且仅有必须有且仅有一个一个main函函 数数, 程序总是程序总是从从main函数开始执行函数开始执行, 并在并在main函数中函数中 结束结束, 可以没有其它函数。可以

19、没有其它函数。 标准库函数标准库函数: C编译系统提供给用户共享使用的函数。每编译系统提供给用户共享使用的函数。每一种一种C编译系统都提供很多标准库函数编译系统都提供很多标准库函数(一般存放在头文件一般存放在头文件中中)给用户调用给用户调用, 但它并不是但它并不是C语言的一部分语言的一部分, 不同的不同的C系统系统提供的标准库函数不一定相同。提供的标准库函数不一定相同。 自定义函数自定义函数: 编程者根据需要自己编制设计的函数。编程者根据需要自己编制设计的函数。函数组成函数组成函数=函数首部+函数体函数首部函数体: 包含在内的部分 分为2部分: 声明部分 执行部分/* This is a pr

20、ogram */#include int add(int x,int y) int z; z=x+y;main() int a,b,sum; a=10; b=24; sum=add(a,b); printf(”sum= %dn,sum);说明:说明:1、声明部分、执行部分声明部分、执行部分由由语句语句组成组成2、用用“ ; ”作为语句终止符作为语句终止符, 是语句不可缺少的一部分是语句不可缺少的一部分3、用、用 表示表示函数体函数体和复合语句和复合语句的范围的范围4、大小写敏感大小写敏感, 关键字用小写字母关键字用小写字母5、用、用 /* */ 为注释为注释,不能嵌套不能嵌套;注释不产生编译代

21、码注释不产生编译代码6、C语言语言没有输入输出语句没有输入输出语句7、书写格式自由、书写格式自由C C程序的书写程序的书写1、一行只放一条语句;、一行只放一条语句;2、符号按对输入;、符号按对输入;3、语句的输入按照缩进格式;、语句的输入按照缩进格式;4、命名时做到、命名时做到“ 见名知义见名知义”;5、有必要的注释;、有必要的注释;6、有合适的空行。、有合适的空行。优秀程序员的优秀程序员的格式特点格式特点: : C程序从开发到执行的过程程序从开发到执行的过程 编辑源程序编辑源程序*.*.c c预处理预处理编译编译形成目标程序形成目标程序*.*.objobj连接连接形成可执行程序形成可执行程序

22、*.*.exeexe加载加载执行执行修改源程序修改源程序Y YN NY YN N 有语法错误吗?有语法错误吗? 连接有错吗?连接有错吗?链接程序链接程序 编编译译后后产产生生的的目目标标文文件件是是可可重重定定位位的的程程序序模模块块,不不能能直直接接运运行行。链链接接就就是是把把目目标标文文件件和和其其他他分分别别进进行行编编译译生生成成的的目目标标程程序序模模块块(如如果果有有的的话话)及及系系统统提提供供的的标标准准库库函函数数链链接接在在一一起起,生生成成可可以以运运行行的的可可执执行行文文件件的的过过程程。链链接接过过程程使使用用C语语言言提提供供的的链链接接程程序序(链链接接器器)

23、完完成成,生生成成的的可可执执行行文件存在磁盘中。文件存在磁盘中。程序编译程序编译 编编译译是是指指将将编编辑辑好好的的源源文文件件翻翻译译成成二二进进制制目目标标代代码码的的过过程程。编编译译过过程程是是使使用用C语语言言提提供供的的编编译译程程序序(编编译译器器)完完成成的的。使使用用时时应应注注意意计计算算机机环环境境。编编译译时时,编编译译器器首首先先要要对对源源程程序序中中的的每每一一个个语语句句检检查查语语法法错错误误,当当发发现现错错误误时时,就就在在屏屏幕幕上上显显示示错错误误的的位位置置和和错错误误类类型型的的信信息息。此此时时,要要再再次次调调用用编编辑辑器器进进行行查查错

24、错修修改改。然然后后,再再进进行行编编译译,直直至至排排除除所所有有语语法法和和语语义义错错误误。正正确确的的源源程程序序文文件件经经过过编编译译后后在在磁盘上生成目标文件。磁盘上生成目标文件。源程序源程序目标程序目标程序可执行程序可执行程序语言类型语言类型程序设计语言程序设计语言机器语言机器语言机器语言机器语言可执行可执行不可以不可以不可以不可以可以可以扩展名扩展名.c.obj.exe程序代码的录入程序代码的录入,生成源程序生成源程序 .c语法分析查错,生成目标程序语法分析查错,生成目标程序.obj与其它目标程序链接与其它目标程序链接,生成可执生成可执行程序行程序.exe编辑编辑链接链接编译编译执行执行加载加载预处理预处理作业作业:P11. 1.7, 1.8

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号