您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > c语言程序设计(王曙燕版)课件 第1章 概述
高级语言程序设计(C语言程序设计)陆海虹电话:13335380140E-mail:13335380140@189.cn相关介绍教材:《C语言程序设计》(第二版)王曙燕等教学方式:授课(40)+上机实验(24)考试类别:院考参考教材:《C语言程序设计》,谭浩强,清华出版社《C语言程序设计》,孟庆云,人民邮电出版社《C语言程序设计教程、实验与练习》,杨开成,人民邮电出版社习题集及实验指导书:《C语言程序设计习题与实验指导》王曙燕等,科学出版社评分标准成绩评定:期末成绩×70%+平时成绩×30%平时成绩包括:作业+上机+课堂情况(点名、纪律)上机安排(以课前通知为准!)怎样掌握好C语言这门课程?1.注意平时积累;2.一定要多实践(重视上机);3.培养兴趣。第1章概述1.1程序设计语言1.1.1程序设计语言的基本概念要认识什么是程序设计语言(计算机语言),首先要清楚计算机、计算机系统的组成及程序等概念。计算机计算机是一种具有内部存储能力、由程序自动控制的电子设备。人们将需要计算机做的工作写成一定形式的指令,计算机就按指令顺序自动进行操作。计算机系统的组成6输入设备:键盘、鼠标、扫描仪等输出设备:显示器、打印机、音响等外存:软盘、硬盘、光盘、U盘等计算机系统软件外部设备系统软件应用软件硬件运算器控制器主机内存CPU随机存储器(RAM)只读存储器(ROM)高速缓冲存储器(Cache)操作系统:DOS、Windows、Unix、Linux语言处理程序:C、Pascal、VB等实用程序:诊断程序、排错程序等办公软件包、数据库管理系统、QQ程序程序是可完成某一功能的,计算机能够识别并控制计算机执行的指令序列。程序要有目的性和可执行性。程序就其表现形式而言,是机器能够直接执行的、代码化的指令序列。程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。程序设计语言用于书写计算机程序所使用的语言称为程序设计语言。它是由人工设计的语言,是人与计算机之间交互的工具,是计算机能够理解的语言。它是有限规则的集合,用语法来表达程序员的思想,所以编写程序时必须严格遵守语法规则。程序设计语言分为面向机器的低级语言(机器语言和汇编语言)和面向人的高级语言(Basic、Fortran和C语言等)。机器语言汇编语言高级语言面向过程面向对象CPU指令系统,由0、1序列构成的指令码组成如:10000000加10010000减用助记符号描述的指令系统如ADDA,B面向机器的语言程序设计是数据被加工的过程客观世界可以分类,对象是类的实例对象是数据和方法的封装对象间通过发送和接受消息发生联系程序设计关键是定义类,并由类派生对象1.1.2程序设计语言的发展过程1.机器语言机器语言是由“0”、“1”二进制代码按一定规则组成的、能被机器直接理解、执行的指令集合。例如,计算A=15+10的机器语言程序如下:1011000000001111:把15放入累加器A中0010110000001010:10与累加器A的值相加,结果仍放入A中11110100:结束,停机缺点:编程工作量大,难学、难记、难修改,只适合专业人员使用;由于不同的计算机,其指令系统不同,机器语言随机而异,通用性差,是面向机器的语言。优点:程序代码不需要翻译,所占空间少,执行速度快。现在已经没有人用机器语言直接编程了。2.汇编语言将机器指令的代码用英文助记符来表示,代替机器语言中的指令和数据。例如,用ADD表示加、SUB表示减、JMP表示程序跳转等等,这种指令助记符的语言就是汇编语言。例如,计算A=15+10的汇编语言程序:MOVA,15:把15放入累加器A中ADDA,10:10与累加器A相加,结果存入A中HLT:结束,停机优点:汇编语言克服了机器语言难读等缺点,保持了其编程质量高,占存储空间少,执行速度快的优点。缺点:还是依赖于机器,通用性差。特点:源程序必须通过汇编程序翻译成机器语言。3.高级语言高级语言的出现是计算机编程语言的一大进步。它屏蔽了机器的细节,提高了语言的抽象层次,程序中可以采用具有一定含义的数据命名和容易理解的执行语句。这些接近于自然语言和数学语言的语句,易学、易用、易维护,且基本与机器无关,给编程带来了极大方便。例如,计算A=15+10的BASIC语言程序如下:A=15+10‘15与10相加的结果放入A中PRINTA‘输出AEND‘程序结束为了使人编程方便,程序设计语言朝着接近于人们熟悉、习惯的自然语言和数学语言描述的高级化方向发展,形成了各式各样、丰富多彩的各种程序设计高级语言。在各种高级语言中,C语言是机器效率最高的,它功能丰富,移植力强,编译质量高,故有时称之为中级语言或高级汇编语言。1.2C程序设计语言1.2.1C语言发展历史1960ALGOL60语言(A语言)1963CPL语言(CombinedProgrammingLanguage)1969BCPL语言MatinRichards1970B语言KenThompson1972-1973C语言D.M.RITCHIE1.2.2C语言的标准为了明确地定义与机器无关的C语言,1983年美国国家标准化协会根据C语言问世以来各种版本对C的发展和扩充,于1987年制定了新的标准,称为ANSIC;1990年,国际标准化组织ISO接受87ANSIC为ISOC的标准(ANSI/ISO9899—1990)。目前广泛流行的C编译系统都是以它为基础的。当今许多新的、重要的操作系统都是用C语言编写的,许多其它系统软件和应用软件也都是用C语言编写的,C语言已成为风靡全球应用最广泛的几种计算机程序语言之一。1.2.3C语言的特点1、简洁、紧凑、短小精悍2、运算符丰富3、数据结构丰富4、结构化的方式5、语法不太严格,灵活性高6、可与机器硬件打交道,直接访问内存地址,兼有“高”、“低”级语言之功能7、生成目标代码质量高,执行效率高8、可移植性好1.3C语言的基本语法成分1.3.1字符集英文字母:a~z和A~Z数字:0~9特殊字符:空格!#%^&*_-+~/\|.,?‘()[]{}字符是构成程序的基础,C语言字符集是ASCII字符集的一个子集,包括:1.3.2标识符在程序中用来标识各种程序成分,命名程序中的变量、常量、函数和类型等对象的名字。C语言对标识符的要求:①标识符只能由字母、数字和下划线组成②第一个字符必须是字母或下划线③区分大小写sum,Sum,total_data,_MyCar,Bits3212_year,date.day,$125,a+5合法非法标识符关键字预定义标识符用户标识符1.关键字:由系统提供,表示特殊含义,共32个autobreakcasecharconstdovolatilecontinuedefaultdoubleifelseforenumexternfloatgotointlongwhileregisterreturnshortsignedsizeofstaticStructswitchtypedefunionunsignedvoid系统标准库函数scanf、printf、putchar、getchar、strcpy、strcmp、sqrt等编译预处理命令include、define等2.预定义标识符:3.用户标识符:由用户自己定义,一般给用来给变量、函数、数组或文件等命名注意:①标识符不能与C系统中规定的保留关键字相同;②定义时尽量做到“见名知义”。1.3.3运算符(1)单目运算符(仅对一个运算对象进行操作)!~++---(取负号)(类型标识符)*&sizeof(2)双目运算符(该运算符连接两个运算对象)+-*/%====!=&|∧&&||=复合赋值运算符(3)三目运算符(该运算符连接三个运算对象)?:(4)其它()[]·-1.4C语言程序的组成例1:在屏幕上输出一行文字:Hello,everyone!/*例1.1*/#includestdio.hmain(){printf(Hello,everyone!\n);}包含头文件主函数首部函数体注释行运行结果:Hello,everyone!1.4.1简单的C程序介绍#includestdio.h/*Thisfunctioncalculatesthesumofxandy*/intadd(intx,inty){intz;z=x+y;return(z);}/*Thisisthemainprogram*/main(){inta,b,sum;a=10;b=24;sum=add(a,b);printf(sum=%d\n,sum);}运行结果:sum=34函数预处理命令注释例2:求两整数之和C语言组成◆“#”开始的编译预处理命令行(0到多行)◆函数:主函数main、标准库函数、自定义函数主函数main:完整的C程序必须有且仅有一个main函数,程序总是从main函数开始执行,并在main函数中结束,可以没有其它函数。标准库函数:C编译系统提供给用户共享使用的函数。每一种C编译系统都提供很多标准库函数(一般存放在头文件中)给用户调用,但它并不是C语言的一部分,不同的C系统提供的标准库函数不一定相同。自定义函数:编程者根据需要自己编制设计的函数。1.4.2C程序的结构函数组成函数=函数首部+函数体函数首部:函数类型、函数名、参数函数体:包含在{}内的部分分为2部分:★声明部分★执行部分/*Thisisaprogram*/#includestdio.hintadd(intx,inty){intz;z=x+y;return(z);}main(){inta,b,sum;a=10;b=24;sum=add(a,b);printf(”sum=%d\n,sum);}对C程序结构的说明:1、声明部分、执行部分由语句组成;2、用“;”作为语句终止符,是语句不可缺少的一部分3、用{}表示函数体和复合语句的范围;4、大小写敏感,关键字用小写字母;5、用/**/为注释,不能嵌套;注释不产生编译代码;6、C语言没有输入输出语句,均已函数形式出现;如scanf(),printf()例:/*Thisisthemain/*ofexample1.1*/*/非法1.4.3C程序的书写C程序写比较自由,一个语句可多行,一行可多个语句。作为优秀程序员来说,要书写清晰。便于阅读理解和修改维护,应遵守以下规则:1.一个说明或一个语句占一行。2.命名时要做到“见名知义”。3.低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。4.习惯用小写字母(大小写敏感),有足够的注释和合适的空行。1.5C程序从编辑到执行的过程编辑源程序*.c预处理编译形成目标程序*.obj连接形成可执行程序***.exe加载执行修改源程序YNYN有语法错误吗?连接有错吗?程序编译编译是指将编辑好的源文件翻译成二进制目标代码的过程。编译过程是使用C语言提供的编译程序(编译器)完成的。使用时应注意计算机环境。编译时,编译器首先要对源程序中的每一个语句检查语法错误,当发现错误时,就在屏幕上显示错误的位置和错误类型的信息。此时,要再次调用编辑器进行查错修改。然后,再进行编译,直至排除所有语法和语义错误。正确的源程序文件经过编译后在磁盘上生成目标文件。链接程序编译后产生的目标文件是可重定位的程序模块,不能直接运行。链接就是把目标文件和其他分别进行编译生成的目标程序模块(如果有的话)及系统提供的标准库函数链接在一起,生成可以运行的可执行文件的过程。链接过程使用C语言提供的链接程序(链接器)完成,生成的可执行文件存在磁盘中。源程序目标程序可执行程序语言类型程序设计语言机器语言机器语言可执行不可以不可以可以扩展名.c.obj.exe程序代码的录入,生成源程序.c语法分析查错,生成目标程序.obj与其它目标程序链接,生成可执行程序.exe编辑链接编译执行加载预处理作业:P11.1.6,1.7
本文标题:c语言程序设计(王曙燕版)课件 第1章 概述
链接地址:https://www.777doc.com/doc-3814325 .html