《C程序设计》2020/1/19第1章C语言程序设计基础1C语言程序设计第1章C语言程序设计基础《C程序设计》2020/1/19第1章C语言程序设计基础2【本章概要】本章主要介绍C语言的发展历史、基本特点;C语言程序的基本构成和基本语法成分;介绍集成开发环境VisualC++和C语言程序的上机执行过程。通过本章学习,为以后各章打下基础。《C程序设计》2020/1/19第1章C语言程序设计基础31.1C语言的发展历史和特点1.2C语言程序的基本构成1.3C语言的基本语法成分第1章C语言程序设计基础1.4集成开发环境VisualC++简介1.5C语言的上机执行过程《C程序设计》2020/1/19第1章C语言程序设计基础4C语言是国际上广泛流行的、很有发展前途的计算机高级程序设计语言。它适合作为系统描述语言,既可以用来写系统软件,也可以用来写应用软件。以前的操作系统等系统软件主要是用汇编语言编写的。由于汇编语言依赖于计算机硬件,程序的可读性和可移植性都比较差。为了在这些方面有所改善,最好能用高级语言,于是,C语言就在这种情况下应运而生了。C语言的的前身是B语言,后经美国贝尔实验室的布朗·W·卡尼汉和丹尼斯·M·利奇对其完善和扩充,提出了C语言,自1972年投入使用之后,C语言成为当今使用最为广泛的程序设计语言之一。1987年美国标准化协会制定了C语言标准“ANSIC”,即现在流行的C语言。1.1.1C语言的发展历史1.1C语言的发展历史和特点《C程序设计》2020/1/19第1章C语言程序设计基础5(1)C语言简洁、紧凑,使用方便、灵活C语言一共只有32个关键词,9种控制语句,程序书写形式自由,主要用小写字母表示相对于其他高级语言,C语言的源程序短,程序输入工作量少。(2)运算符丰富,表达式能力强C语言共有34种运算符,范围广泛,除一般高级语言所使用的算术、关系和逻辑运算符外,还可以实现以二进制位为单位的运算。(3)数据结构丰富,便于数据的描述与存储C语言具有丰富的数据结构,其数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂数据结构的运算。尤其是指针类型数据,使用起来更为灵活、多样。1.1.2C语言的特点1.1C语言的发展历史和特点《C程序设计》2020/1/19第1章C语言程序设计基础6(4)C语言是结构化、模块化的编程语言C语言程序采用函数结构,十分便于把整体程序分割成若干相对独立的功能模块,并且为程序模块间的相互调用以及数据传递提供了便利。(5)语法限制不太严格,程序设计自由度大C语言允许程序编写者有较大的自由度,因此放宽了语法检查。一个不熟练的人员,编一个正确的C程序可能会比编一个其它高级语言程序难一些。也就是说,对用C语言的人,要求对程序设计更熟练一些。(6)生成目标代码质量高,程序执行效率高(7)可移植性好C程序基本上不作修改就可以运行于各种型号的计算机和各种操作系统。(8)C语言是具有低级语言功能的高级语言1.1.2C语言的特点1.1C语言的发展历史和特点《C程序设计》2020/1/19第1章C语言程序设计基础71.1C语言的发展历史和特点1.2C语言程序的基本构成1.3C语言的基本语法成分第1章C语言程序设计基础1.4集成开发环境VisualC++简介1.5C语言的上机执行过程《C程序设计》2020/1/19第1章C语言程序设计基础8一个完整的C语言程序由一个或多个具有相对独立功能的程序模块组成,这样的程序模块称为“函数”。因此,函数是C程序的基本单位。一个C程序,不管它有多简单,都必须有且只有一个主函数,例如:voidmain(){}上面的函数是一个空主函数,程序没有任何意义,它什么都不做。1.2C语言的基本构成《C程序设计》2020/1/19第1章C语言程序设计基础9例1-1编写一个C语言程序,用于显示字符串“Hello,World!”。源程序如下:#includestdio.hvoidmain(){printf(Hello,World!\n);}1.2C语言的基本构成这是一个简单而完整的C语言程序,经过编辑、编译和连接后,其执行结果是在屏幕的当前光标位置处显示如下字符串:Hello,World!《C程序设计》2020/1/19第1章C语言程序设计基础10通过该程序,我们可以知道:(1)任何一个完整的C语言程序,都必须包含一个且只能包含一个名为main()的函数。程序总是从main()函数开始执行的。(2)由左右花括号括起来的部分是函数体。函数体中的语句将实现程序的预定功能。(3)C语言中的每个基本语句,都是以“;”结束的,分号是C语言语句的终结符。(4)C语言程序的书写格式比较自由,没有固定的格式要求。在一行内,既可以写一个语句,也可以写多个语句。为了提高程序的可读性,往往根据语句的从属关系,以缩进书写的形式来体现出语句的层次性。(5)#include是编译预处理指令。其作用是将由双引号或尖括号括起来的文件中的内容,读入到该语句的位置处。1.2C语言的基本构成《C程序设计》2020/1/19第1章C语言程序设计基础11#includestdio.hintsum(intnumber1,intnumber2)/*计算两个整数之和*/{return(number1+number2);}voidmain(){inta,b,c;scanf(%d%d,&a,&b);/*读入两个整数,存入变量a和b中*/c=sum(x,y);printf(Thesumof%dand%dis%d,a,b,c);}1.2C语言的基本构成程序从main()函数开始执行,执行到scanf()语句时,等待用户从键盘输入两个整型数据后再继续执行,若用户输入3和5,则屏幕将显示如下信息:Thesumof3and5is8。例1.2从键盘输入两个数,求和后显示。源程序如下:《C程序设计》2020/1/19第1章C语言程序设计基础12通过该程序,我们可以知道:(1)程序中由/*和*/括起来的内容是程序的注释部分。注释部分对程序的编译过程和执行结果没有任何影响。(2)C语言中的所有变量都必须定义为某种数据类型,同时必须遵循“先定义、后使用”的原则。(3)一个C语言程序可以由多个函数组成,通过函数之间的调用来实现相应的功能。程序中所使用的函数,既可以是系统提供的库函数,也可以是用户根据需要自己定义的函数。(4)程序中调用的scanf()函数的作用是进行格式化输入;程序中调用的printf()函数的作用是进行格式化输出。1.2C语言的基本构成《C程序设计》2020/1/19第1章C语言程序设计基础131.1C语言的发展历史和特点1.2C语言程序的基本构成1.3C语言的基本语法成分第1章C语言程序设计基础1.4集成开发环境VisualC++简介1.5C语言的上机执行过程《C程序设计》2020/1/19第1章C语言程序设计基础14用程序设计语言所写的程序必须符合相应语言的语法。一般把用程序设计语言编写的未经编译的程序称为源程序。它是一个字符序列,这些字符序列按顺序组成了一系列“单词”,“单词”的组合就形成了语言有意义的语法单位,一些简单语法单位的组合又形成了更复杂的语法单位,最后一系列语法单位组合成程序。1.3C语言的基本语法成分《C程序设计》2020/1/19第1章C语言程序设计基础15(1)标识符:是指程序中的变量、符号常量、数组、函数、类型、文件等对象的名字。在C语言中,标识符只能由字母、数字和下划线组成,且第一个字符必须为字母或下划线。具体命名规则如下:1)标识符的只能由下划线“_”、数字0~9与26个大小写字母(a~z,A~Z)构成。2)标识符的首字符必须是字母或下划线“_”而不能是数字或其它符号。3)C语言中大小写字母是敏感的,即在标识符中,大写字母和小写字母代表不同的意义。例如:Aust和aust是两个不同的标识符。4)标识符不能使用系统关键字,因为关键字是系统的保留字,它们已有特定的含义。习惯上,标识符名用小写字母表示。“见名知义”,如area,name等,以增加程序的可读性。1.3.1C语言的主要“单词”1.3C语言的基本语法成分《C程序设计》2020/1/19第1章C语言程序设计基础16(2)关键字:关键字又称保留字,是C语言规定的具有特定意义的标识符,它已被C语言开发环境使用,不能做其他用途使用,每个关键字都有固定的含义。C语言的关键字分为以下四类。1)标识数据类型的关键字:int,long,short,char,float,double,signed,unsigned,struct,union,enum,void,volatile,const。2)标识存储类型的关键字:auto,static,register,extern,typedef。3)标识流程控制的关键字:goto,return,break,continue,if,else,while,do,for,switch,case,default。4)标识运算符的关键字:sizeof。1.3C语言的基本语法成分1.3.1C语言的主要“单词”《C程序设计》2020/1/19第1章C语言程序设计基础17(3)自定义标识符:包括在程序中定义的变量名、数据类型名、函数名以及符号常量名,有意义的英文单词。(4)预定义标识符预定义标识符是一类具有特殊含义的标识符,用于标识库函数名和编译预处理命令。建议不要将这些预定义标识符另做他用。C语言中常见的预定义标识符有以下几种。1)编译预处理命令。define,ifdef,ifndef,endif,include,line,if,else等。2)标准库函数。包括数学函数sqrt,fabs,sin等,还有输入/输出函数scanf,printf等。(5)常量:常量是有数据类型的,如,1234、12.34。(6)运算符:代表对各种数据类型实际数据对象的运算。如,+、-、*、/、%、、=、==等。(7)分隔符:如;、[、]、#、(、)等。1.3C语言的基本语法成分1.3.1C语言的主要“单词”《C程序设计》2020/1/19第1章C语言程序设计基础18(1)表达式:运算符与运算对象组合就形成了表达式。如:a+b*c(2)变量定义:变量也有数据类型,所以在定义变量时要说明相应变量的类型。如:inta(3)语句:语句是程序最基本的执行单位,程序的功能就是通过对一系列语句的执行来实现的。C语言中包含了四种基本语句:流程控制语句、表达式语句、复合语句和空语句,它们完成各自特定的操作。C程序中的每个语句都由分号作为结束标志。(4)函数定义与调用:函数是完成特定任务的独立模块,函数的使用最主要涉及到函数的定义与调用。(5)输入输出:C语言没有输入输出语句,输入输出用库函数printf()、scanf()等实现。1.3C语言的基本语法成分1.3.2C语言的主要语法单位《C程序设计》2020/1/19第1章C语言程序设计基础191.1C语言的发展历史和特点1.2C语言程序的基本构成1.3C语言的基本语法成分第1章C语言程序设计基础1.4集成开发环境VisualC++简介1.5C语言的上机执行过程《C程序设计》2020/1/19第1章C语言程序设计基础20全国计算机等级考试是由中国教育部考试中心负责组织实施的计算机能力等级认证考试。从2008年开始,该考试的C语言上机环境由此前的BorlandTC2.0改为MicrosoftVisualC++6.0。可以预见的未来,C语言都将以其优雅的设计、广泛的应用继续存在和被使用;因为在基础软件领域,C语言几乎是唯一可以选择的语言。虽然C语言看似困难,然而由于大多数高级语言基本都是以C语言的语法为蓝图的,其底层运行环境多为采用C语言开发,因此学会了C语言,很容易就可以触类旁通。事实上相对于目前流行的几种编程语言来说,C语言的语法应该是最简洁的。1.4集成开发环境VisualC++简介《C程序设计》2020/1/19第1章C语言程序设计基础21VisualC++是MicrosoftVis