您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第2章 C语言程序设计入门
第2章C语言程序设计入门主要内容C语言的关键字与标识符基本数据类型、常量及变量运算符与表达式输入输出语句综合案例2.1C语言的关键字与标识符在C语言程序中允许出现的所有基本字符的组合称为C语言的字符集。C语言的字符集就是ASCII字符集,主要包含下列几类:(1)大小写英文字母A~Z、a~z(52个)。(2)数字0,1,2,…,9(10个)。(3)非字母数字的可显示字符(33个)。(4)转义字符。在ASCII字符集中有一些字符是可以在显示器上显示的,这些字符常称为可显示字符。例如字母、数字和符号都是可显示字符。表2.1列出了所有非字母、非数字的可显示字符。在C语言的字符集中,还有一些不可显示的字符,例如回车换行符号、响铃符号、Tab符号等。C语言使用“转义字符”在程序中表示这些不可显示的字符。转义字符由反斜杠字符“\”开始,后跟单个字符或若干个字符组成。表2.2列出了部分转义字符。2.1.1ANSIC的关键字C语言定义的具有特殊含义的单词称为“关键字”,也称“保留字”,主要用于构成语句。所有的关键字均由小写字母组成。表2.3列出了C语言的关键字及其在程序中的主要含义。2.1.2标识符及规则标识符是用户自定义的字符序列,是用来对变量、符号常量、数组、函数、类型等数据对象命名的有效字符序列。C语言规定,标识符是由字母或下划线开头,后面由字母、数字、下划线组成的字符序列,ANSIC规定标识符长度不得大于32个字符,而PC机中通常是前8个字符有效。C语言标识符中的字母是区分大小写的,例如:ABC与abc是不同的标识符。标识符举例正确的标识符:sum,PI,i,a2,a_2,_a_2错误的标识符:2a(非字母或下划线开头)a?(含有非字母、数字、下划线的字符?)c.g(含有非字母、数字、下划线的字符.)a-2(含有非字母、数字、下划线的字符-)2.2基本数据类型、常量及变量2.2.1基本数据类型按照数据的性质、表示形式、所占据的存储空间、构造特点,C语言将数据划分为不同的数据类型。C语言规定,在C程序中使用的每一个数据都属于唯一的一种数据类型,没有无类型的数据,一个数据也不能同时属于多个数据类型。C语言的基本数据类型如表2.4所示。2.2.2常量常量又叫常数,是程序运行过程中其值保持不变的量。C语言规定常量有整型常量、实型常量、单字符常量、转义字符常量、字符串常量、符号常量等。常量不需要事先定义,只要在程序中需要的地方直接写出即可。1.整型常量整型常量就是通常的整数,包括正整数、负整数和0。在C语言中,整型常量有三种书写形式:(1)十进制整数。十进制整数就是通常整数的写法,如0,-111,+15,21等。(2)八进制整数。八进制整数的书写形式是在通常八进制整数的前面加一个数字0,如,00,-0111,+015,021等,它们分别表示十进制整数:0,-73,+13,17。(3)十六进制整数。十六进制整数的书写形式是在通常十六进制整数的前面加0x,如,0x0,-0x111,+0x15,0x21等,它们分别表示十进制整数0,-273,+21,33。整型常量的数值范围都是十进制的-32768~+32767。正整数前面的+号可以省略。长整型常量C语言提供了一种“长整型常量”,其数值范围是十进制的-2147483648~+2147483647,在计算机中占用4个字节。长整型常量的书写方法也分为十进制、八进制和十六进制整数三种,唯一不同的是在整数的末尾要加上小写或大写字母“L”。如0L、-0111L、+0x15L都是长整型常量(分别使用十进制、八进制和十六进制表示)。相对于“长整型常量”,前面介绍的一般整型常量称为“短整型常量”。如果整型常量后面没有字母“l”或“L”,而且超过短整型常量能够表示的数值范围,则自动认为该常量是长整型常量,如-32769、32768、40000等均为长整型常量。2.实型常量实型常量只使用十进制,它的书写形式有两种:(1)一般形式的实数。它是由整数部分、小数点、小数部分组成,其中整数部分或小数部分允许省略其中的一个。数的正负用前面的“+”号(可以省略)或“-”号来区分。如12.345,-1.23456,47.0,-234,47.等都是实型常量。(2)指数形式的实数。它是由尾数部分、小写字母e或大写字母E、指数部分组成,形式如“尾数E指数”。尾数部分可以是十进制整数或一般形式的十进制实数,指数部分是十进制的短整数。指数形式实数的数值可以用下列公式计算:尾数×10指数如12.345e-2,-1.2345E3,0.12345e4,-12345E-3等都是实型常量,对应的数值分别是十进制的0.12345,-1234.5,1234.5,-12.345。实型常量在一般的微型机中占用4个字节,不管是一般形式或者指数形式,它们的数值范围都是-1038~1038,有效数字是7位。例如:1.23456789和1.234567是相同的,因为实型常量的有效数字是7位,所以1.23456789中的后两位数字是无效的。3.单字符常量单字符常量是用两个单引号(‘)前后括起来的一个字符。例如:‘A’,‘a’,‘@’,‘6’,‘%’等都是单字符常量。由于C语言规定,字母是区分大小写的,所以‘a’和‘A’是不同的单字符常量。在内存中,每个单字符常量都占用一个字节,具体存放的是该字符对应的ASCII代码值。在C语言中规定,可以把单字符常量作为整型常量来使用,其值就是该字符的ASCII代码值。如果整型常量的值在0~127之间,可以将其看成一个字符型常量,对应的字符就是该值作为ASCII代码值所对应的那个字符。4.转义字符常量转义字符常量就是用转义字符表示的常量。例如,由于\n,\r,\101,\x41等都是转义字符,所以‘\n’,‘\r’,‘\101’,‘\x41’都是转义字符常量。转义字符代表一个字符,因此转义字符常量在内存中只占一个字节。5.字符串常量字符串常量简称为字符串。字符串就是用两个双引号(“)前后括住的一串字符,字符串中的字符可以是1个、多个,也可以没有。没有字符的字符串称为空字符串。一个字符串中所有字符的个数称为该字符串的长度,空字符串长度为0。转义字符也可以出现在字符串中,如:\\ABCD\\表示字符串\ABCD\。C语言规定,每个字符串在内存中占用的字节数等于字符串的长度+1。其中最后一个字节存放的字符为“空字符”,其值为0,书写时常用转义字符“\0”来表示,在C语言中称为字符串结束标记。例如字符串“AB”和“A”的长度分别为2和1,它们在内存中分别占用3和2个字节。字符串A和字符常量'A'是不同的,前者是字符串,在内存中占用2个字节;后者是字符常量,在内存中只占1个字节。由于“\”在转义字符中作为特殊字符使用,而“'”作为单字符常量的标记,“”作为字符串常量的标记,所以若用到这三个字符时,必须写成转义字符形式,即用'\\'、'\''、'\'来表示字符“\”、“'”、“″”,而不能直接写成'\'、'''、''。6.符号常量当一个常量在程序中多次出现时,可用符号来代替常量,该符号称为符号常量。符号常量的定义方法如下:#define标识符常量符号常量名应符合标识符的构成规则,用大写英文字母组成。通常是在程序开头先定义所有常量对应的符号常量,每个定义必须独占一行,其后不跟分号。程序中凡是使用这些常量的地方都可以写成对应的符号常量,C编译程序将在程序编译前把所有的符号常量自动替换成对应的常量。在程序中使用符号常量方便修改和阅读程序。例2.1定义符号常量的例子。#definePI3.14159/*定义了符号常量PI,其值等于实型常量3.14159*/#defineX20/*定义了符号常量X,其值等于整型常量20*/2.2.3变量变量是指在程序运行中其值可以发生变化的量,通常用来保存程序运行过程中的输人数据、计算获得的中间结果和最终结果。C语言中,所有变量必须先定义,后使用。一个变量有变量名、变量的存储单元、变量的值三个要素。C语言用标识符表示变量名,用变量名代表该变量的存储单元及其存放的值。作为变量的标识符常用小写的英文单词或缩写,也可以是中文拼音字母或缩写。给变量取名时,为了便于阅读和理解程序,一般都用代表变量值或用途的标识符,注意做到“见名知义”,例如存放年龄的变量可以取名age。系统为不同的变量在内存中开辟不同的存储单元,以存放相应类型的值。每个变量都要占用连续的若干个字节,所占用的字节数由变量的数据类型确定,其中第1个字节的地址称为变量的地址。C语言规定,程序中变量的地址用&变量名”来表示。变量可以是任何一种数据类型,通常把具有某种数据类型的变量叫做该类型变量。当变量中存放了某个数据,该数据就称为该变量的值,变量值的数据类型与该变量的数据类型一致。字符串只能是常量,C语言中没有字符串变量。1.变量的定义定义变量的语句格式如下:数据类型符变量名表;例2.2变量定义及其说明。intx;/*定义整型变量x*/floata,b;/*定义2个单精度实型变量a和b*/charc1,c2,c3/*定义3个字符型变量c1,c2,c3*/对变量进行定义时,应注意:(1)变量名表中可以只有一个变量,也可以有多个变量。如果有多个变量,变量之间用逗号隔开。(2)对变量的定义可以放在函数之外,也可以放在函数体中或复合语句中。如果是放在函数体或复合语句中,则必须集中放在最前面。(3)被定义为整型(包括int,short,long)的变量,若其值在−128~127之间,可以当做字符型变量使用。对变量进行定义时,应注意:(4)被定义为无符号整型(包括unsignedint,unsignedshort,unsignedlong)的变量,若其值在0~255之间,也可以当做字符型变量使用。(5)被定义为字符型的变量,可以当做整型(包括int,short,long)变量使用,其值将在−128~127之间;也可以当做无符号整型(包括unsignedint,unsignedshort,unsignedlong)变量使用,其值在0~255之间。(6)当定义了某个变量后,会自动给它分配连续的内存单元。内存单元的数目是这个变量对应的数据类型占用的字节数。例如,定义了短整型变量K,则会分配2个连续的字节;若定义单精度实型变量f,则分配连续的4个字节。2.变量的赋值变量定义后,在使用之前需要给变量赋初值。初值可以是常量或符号常量,也可以是由常量或符号常量组成的表达式。变量赋值的语句格式是:变量名=表达式;例2.3变量赋初值的例子。inta;/*定义整型变量a*/a=10;/*a的值为10*/C语言中可以在定义变量的同时为其赋值,叫做变量的初始化。被定义的变量可以全部初始化,也可以部分初始化。变量初始化格式为:数据类型符变量名1=初值1,变量名2=初值2,……;例2.4变量初始化。intx=12,y=9;/*定义整型变量x和y,并同时初始化*/inta=3,b,c=5/*定义整型变量a,b,c,只对a和c进行了初始化*/注意:(1)“=”是赋值符号,不是等于号。在C语言中等号用“==”表示。(2)当定义了一个变量而又没有给它赋初值时,分配给它的存储单元中是一个不确定的数据,直接使用没有意义。(3)如果变量的类型与所赋数据类型不一致,所赋数据将被转换成与变量相同的类型。3.有名常量的定义在程序中,如果定义了变量并赋予其初值,但又不希望程序中修改其值,可以将该变量定义成有名常量。有名常量的定义方法如下:const数据类型符变量名1=初值1,变量名2=初值2,……;有名常量的值只通过赋初值的方式获得,不能用赋值方式获得值。而且获得初值后,程序中将不能改变其值。如果程序中企图改变其值,将会出错。例2.5定义有名常量。constintten=10,x1=20;/*定义整型有名常量ten和x1,ten的值为10,x1的值为2
本文标题:第2章 C语言程序设计入门
链接地址:https://www.777doc.com/doc-3420986 .html