资源预览内容
第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
第9页 / 共20页
第10页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第第1 1章章 信息学院计算机基础组信息学院计算机基础组概述概述C C语言程序的基本结构语言程序的基本结构程序设计基本概念程序设计基本概念C C语言的发展与特点语言的发展与特点C C语言的字符集语言的字符集C C语言的词法符号语言的词法符号运行运行C C程序的步骤和方法程序的步骤和方法 本章主要内容:本章主要内容:1.1 引例引例例例1-1在屏幕上显示一行信息在屏幕上显示一行信息“ThisisthefirstCprogram!”。 程序代码如下:程序代码如下:# #include include .h/*/*编译预处理命令编译预处理命令*/*/void main( void main( ) )/*/*定义主函数定义主函数main( )*/main( )*/ printfprintf ( (This is the first C programThis is the first C program!n) ;!n) ;/*/*调用调用printfprintf( )( )函数输出文字函数输出文字*/*/ 1.1 引例引例例例1-2求两数之和求两数之和 程序代码如下:程序代码如下: # #include include .h/*/*编译预处理命令编译预处理命令*/*/void main( )void main( )/*/*定义主函数定义主函数main( )*/main( )*/ int int a,b,sum; a,b,sum;/*/*定义变量定义变量a a、b b、sumsum为整型为整型*/*/ a=66;a=66;/*/*为变量为变量a a赋值赋值*/*/ b=88;b=88;/*/*为变量为变量b b赋值赋值*/*/ sum=a+b;sum=a+b;/*/*将将a a与与b b的和赋值给变量的和赋值给变量sum*/sum*/ printf printf (sum is %dn,sum) ; (sum is %dn,sum) ; /* /*调用调用printfprintf( )( )函数输出函数输出sumsum的值的值*/*/ 1.2C语言程序的基本结构语言程序的基本结构 1.C程程序由函数组成序由函数组成,函数是程序的基本单位。函数是程序的基本单位。main是一个特殊的函数名是一个特殊的函数名,一个程序总是从一个程序总是从main()函数函数开始执行。开始执行。 2.函数由函数首部和函数体两部分组成。函数由函数首部和函数体两部分组成。 3.函数函数体一般包括数据定义部分和执行部分体一般包括数据定义部分和执行部分, ,它们都是它们都是C C语句。语句。 4.每条语句用分号每条语句用分号“; ;”作结束符作结束符, ,分号是分号是C C语语句必不可少的组成部分。句必不可少的组成部分。 5.在在C C语言中语言中, ,一行可以写多条语句一行可以写多条语句, ,一条语句一条语句也可写成几行。也可写成几行。 6.可以对可以对C C程序中的任何部分做注释。程序中的任何部分做注释。 1.3程序设计基本概念程序设计基本概念 1.3.1 1.3.1 程序程序所谓程序所谓程序, ,就是一系列遵循一定规则和思想并能正就是一系列遵循一定规则和思想并能正确完成指定工作的代码确完成指定工作的代码( (也称为指也称为指 令序列令序列) )。通常。通常, ,一个一个计算机程序主要描述两部分的内容计算机程序主要描述两部分的内容, ,其一是描述问题的其一是描述问题的每个对象及它们之间的关系每个对象及它们之间的关系, ,其二是描述对这些对象进其二是描述对这些对象进行处理的规则。其中关于对象及它们之间的关系涉及到行处理的规则。其中关于对象及它们之间的关系涉及到数据结构的内容数据结构的内容, ,而处理规则却是求解某个问题的算法。而处理规则却是求解某个问题的算法。因此因此, ,对程序的描述对程序的描述, ,经常有如下等式:经常有如下等式:程序程序= =数据结构数据结构+ +算法算法一个设计合理的数据结构往往可以简化算法一个设计合理的数据结构往往可以简化算法, ,而且而且一个好的程序有可靠性、易读性、一个好的程序有可靠性、易读性、 可维护性等良好特可维护性等良好特性。性。 1.3程序设计基本概念程序设计基本概念 1.3.2 1.3.2 程序设计程序设计 所所谓谓程程序序设设计计, ,就就是是根根据据计计算算机机要要完完成成的的任任务务, ,提提出出相相应应的的需需求求, ,在在此此基基础础上上设设计计数数 据据结结构构和和算算法法, ,然然后后再再编编写写相相应应的的程程序序代代码码并并测测试试该该代代码码运运行行的的正正确确性性, ,直直到到能能够够得得到到正正 确确的的运运行行结结果果为为止止。通通常常, ,程程序序设设计计是是很很讲讲究究方方法法的的, ,一一个个良良好好的的设设计计思思想想方方法法能能够够大大大大 提提高高程程序序的的高高效效性性、合合理理性性。通通常常程程序序设设计计有有一一套套完完整整的的算算法法, ,也也称为程序设计方法学称为程序设计方法学, , 因此有人提出如下关系:因此有人提出如下关系: 程序设计程序设计= =数据结构数据结构+ +算法算法+ +程序设计方法程序设计方法 + +语言工具和环境语言工具和环境 程序设计方法学在程序设计中被提到比较高的位置程序设计方法学在程序设计中被提到比较高的位置, ,尤其对于大型软件尤其对于大型软件, ,更是如此。更是如此。 1.3程序设计基本概念程序设计基本概念 1.3.3 1.3.3 程序设计语言程序设计语言 为了描述程序所制订的一组规则,即语法规则(主为了描述程序所制订的一组规则,即语法规则(主要包括词法规则与句法规则)。要包括词法规则与句法规则)。 1.4C语言的发展与特点语言的发展与特点 C C语语言言是是一一种种国国际际上上广广泛泛流流行行的的、深深受受程程序序员员喜喜爱爱的的程程序设计语言。序设计语言。 19671967年年, ,英英国国剑剑桥桥大大学学的的Martin Martin RichardsRichards在在ALGOL ALGOL 6060的的 CPLCPL语语 言言 基基 础础 上上 推推 出出 了了 BCPL BCPL (Basic (Basic Combined Combined Programming Language)Programming Language)语言。语言。 19701970年年, ,美美国国贝贝尔尔实实验验室室的的Ken Ken ThompsonThompson在在BCPLBCPL语语言言的的基基础础上上, ,设设计计了了既既简简单单又又接接近近硬硬件件的的B B语语言言(以以BCPLBCPL首首字字母母命名)。命名)。 19721972年年, ,贝贝尔尔实实验验室室的的Dennis Dennis M. M. RitchieRitchie在在B B语语言言的的基基础上发明了础上发明了C C语言语言( (以以BCPLBCPL第二个字母命名第二个字母命名) )。 19781978年年, , Brian Brian W.W. KernighanKernighan与与Dennis Dennis M. M. RitchieRitchie合合作作写写出出了了著著名名的的The The C C Programming Programming Language Language 。该该书成为后来广泛使用的书成为后来广泛使用的C C语言版本的基础语言版本的基础, ,称为标准称为标准C C。1.4.1C C语言的发展语言的发展 19831983年年, ,美美国国国国家家标标准准协协会会( (ANSI)ANSI)为为C C语语言言制制定定了了一一套套标标准准, ,称为称为ANSI CANSI C。 1987 1987年年, ,ANSIANSI又公布了又公布了87 87 ANSI C(ANSI C(新标准新标准) )。 19901990年年,国国际际标标准准化化组组织织( (ISO)ISO)接接受受87 87 ANSI ANSI C C为为ISOISO标标准。目前流行的准。目前流行的C C语言版本都以此为基础。语言版本都以此为基础。 19801980年年, ,贝贝尔尔实实验验室室的的Bjarne Bjarne StroustrupStroustrup及及其其同同事事对对C C语语言言进进行行了了改改进进,并并将将类类的的概概念念扩扩充充到到C C语语言言中中, ,在在19831983年年由由RickRick Maseitti Maseitti提议正式命名为提议正式命名为C+C+语言。语言。 C+是是C的超集的超集,C是是C+的基础的基础,用用C语言编写的许多程语言编写的许多程序不经修改就可以在序不经修改就可以在C+环境下运行。因此环境下运行。因此,学习学习C语言可为语言可为进一步学习进一步学习C+及其他相关语言打下坚实的基础。及其他相关语言打下坚实的基础。 1.4.1C C语言的发展语言的发展 1. 1. C C语言是结构化、模块化的程序设计语言语言是结构化、模块化的程序设计语言 C C语语言言通通过过9 9种种结结构构控控制制语语句句可可描描述述各各种种结结构构的的程程序序; ;以以函数作为程序的基本单位函数作为程序的基本单位, ,从而可实现模块化的程序设计。从而可实现模块化的程序设计。2. 2. C C语言有强大的处理能力语言有强大的处理能力,适用面广适用面广它它既既具具有有高高级级语语言言的的功功能能,又又能能像像低低级级语语言言一一样样对对计计算算机机最最基基本本的的工工作作单单元元(位位、字字节节和和地地址址)进进行行直直接接操操作作。因因此此,它它既既适适宜宜编编写写大大型型系系统统程程序序,又又适适宜宜编编写写小小型型控控制制程程序序,也也适适用用于科学计算于科学计算,并具有强大的图形处理功能。并具有强大的图形处理功能。 3. 3. C C语言语句简洁、紧凑,使用方便、灵活语言语句简洁、紧凑,使用方便、灵活C语言一共只有语言一共只有32个保留字和个保留字和9种控制语句,程序书写形种控制语句,程序书写形式自由,压缩了一切不必要的成分。式自由,压缩了一切不必要的成分。 4. 4. 目标代码的效率高目标代码的效率高 用用C语言程序生成的目标代码的效率可达到汇编语言目语言程序生成的目标代码的效率可达到汇编语言目标代码效率的标代码效率的80%90%。 1.4.2C C语言的特点语言的特点 5.可移植性强可移植性强C语言的输入语言的输入/输出不依赖于计算机硬件输出不依赖于计算机硬件,使之能适应使之能适应多种操作系统多种操作系统,如如DOS、UNIX、Windows,也适应多种机也适应多种机型。从而便于在各种不同的机器间实现程序的移植。型。从而便于在各种不同的机器间实现程序的移植。 1.4.2C C语言的特点语言的特点 1.英文字母:小写字母英文字母:小写字母az、大写字母大写字母AZ2.阿拉伯数字:阿拉伯数字:093.空白符:空格符、制表符、换行符等统称为空白符。空白符:空格符、制表符、换行符等统称为空白符。4.标点和特殊字符:标点和特殊字符:!#%&*_(下划线下划线)+=-/;.,() 1.5语言的字符集语言的字符集 词法符号是最小的词法单元。词法符号是最小的词法单元。语言的词法符号分为以下几类:关键字、语言的词法符号分为以下几类:关键字、标识符、运算符、分隔符、常量、注释符。标识符、运算符、分隔符、常量、注释符。 1.6 语言的词法符号语言的词法符号1. 1. 关键字关键字 关关键键字字是是语语言言规规定定的的具具有有特特定定意意义义的的字字符符串,通常也称为保留字。语言有串,通常也称为保留字。语言有32个关键字。个关键字。2.2.标识符标识符在在程程序序中中使使用用的的变变量量名名、函函数数名名、标标号号等等统统称称为为标标识识符符。除除库库函函数数的的函函数数名名由由系系统统定定义义外外,其其余余都都由由用用户户自自定定义义。C C语语言言规规定定,标标识识符符是是英英文文字字母母或或下下划划线线开开始始的的、英英文文字字母母、下下划划线线及及阿阿拉拉伯数字组成的字符串。伯数字组成的字符串。1.6 语言的词法符号语言的词法符号在使用标识符时还必须注意以下几点:在使用标识符时还必须注意以下几点: 1) 1) 用户定义的用户定义的标识符不允许与标识符不允许与关键字相同。关键字相同。 2)2) 标标准准C C不不限限制制标标识识符符的的长长度度,但但它它受受各各种种版版本本的的C C 语语言言编编译译系系统统限限制制,同同时时也也受受到到具具体体机机器器的的限限制制。例例如如在在Turbo Turbo C C 2.02.0中中规规定定标标识识符符前前3232位位有有效效,当当两两个个标标识识符符前前3232位位相相同同时时,则则被被认认为为是是同同一一个个标标识符。识符。 3) 3) 标标识识符符中中,大大小小写写是是有有区区别别的的。例例如如xyzxyz和和XYZ XYZ 是两个不同的标识符。是两个不同的标识符。4) 4) 标标识识符符虽虽然然可可由由程程序序员员随随意意定定义义,但但标标识识符符是是用用于于标标识识某某个个量量的的符符号号。因因此此,命命名名应应尽尽量量有有相相应的意义,做到应的意义,做到“见名知义见名知义”。 3.3.运算符运算符 语语言言中中含含有有十十分分丰丰富富的的运运算算符符。运运算算符符与与常常量量、变变量量和和函函数数一一起起组组成成表表达达式式,表表示示各各种种运运算功能。运算符由一个或多个字符组成。算功能。运算符由一个或多个字符组成。 1.6 语言的词法符号语言的词法符号4. 4. 分隔符分隔符 在在语语言言中中采采用用的的分分隔隔符符有有逗逗号号和和空空格格两两种种。逗逗号号主主要要用用在在类类型型说说明明和和函函数数参参数数表表中中分分隔隔各各个个变量。空格多用于语句中分隔各单词。变量。空格多用于语句中分隔各单词。 5.5.常量常量C语语言言中中使使用用的的常常量量可可分分为为数数值值常常量量、字字符符常常量量、字字符符串串常常量量、符符号号常常量量、转转义义字字符符等等多多种种。在第二章中将专门给予介绍。在第二章中将专门给予介绍。 6.注释符注释符 程程序序编编译译时时,不不对对注注释释作作任任何何处处理理。注注释释可可出出现现在在程程序序中中的的任任何何位位置置。注注释释用用来来向向用用户户提提示示或或解解释释程程序序的的意意义义。在在调调试试程程序序中中对对暂暂时时不不使使用用的的语语句句也也可可用用注注释释符符,使翻译跳过不作处理,待调试结束后再去掉注释符。使翻译跳过不作处理,待调试结束后再去掉注释符。1.6 语言的词法符号语言的词法符号1.7.1 1.7.1 运行运行C C程序的步骤程序的步骤如如何何使使用用C C语语言言写写出出代代码码,并并调调试试程程序序直直至至得得出出运运行行结果呢?一般来说包含如下的步骤:结果呢?一般来说包含如下的步骤:1.编辑编辑编辑的过程指用程序设计语言写出源代码的过程。编辑的过程指用程序设计语言写出源代码的过程。2.编译编译对对程程序序进进行行编编译译是是将将源源程程序序翻翻译译成成机机器器能能够够识识别别的的目目标标程程序序的的过过程程。这这一一过过程程必必须须借借助助一一些些专专门门的的编编译译程程序(编译器)来完成。序(编译器)来完成。3.链接链接简简单单地地讲讲,链链接接过过程程是是将将不不同同的的模模块块链链接接成成一一个个完完整模块的过程。整模块的过程。4.执行执行 一一个个程程序序经经过过了了编编辑辑、编编译译、链链接接过过程程,就就得得到到了了可执行程序,于是可以执行了。可执行程序,于是可以执行了。1.7 1.7 运行运行C程序的步骤和开发环境程序的步骤和开发环境1.7.2 1.7.2 集成开发环境(集成开发环境(IDEIDE)1.TurboC2.02.VisualC+6.01.7 1.7 运行运行C程序的步骤和开发环境程序的步骤和开发环境
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号