资源描述:
《幻灯片-C语言程序设计视频教程-徐红波-第3章》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C程序设计讲师:徐红波Email:x_h_b@tom.com第3章数据类型、运算符与表达式3.1C语言的数据类型算法处理的对象是数据,而数据是以某种特定的形式存在的(例如整数、实数、字符等形式)。不同的数据之间往往还存在某些联系(例如由若干个整数组成一个整数数组)。所谓数据结构指的是数据的组织形式。例如,数组就是一种数据结构。处理同一类问题,如果数据结构不同,算法也会不同。例如,对10个整数排序和对由10个整数构成的数组排序的算法是不同的。因此,在考虑算法时,必须注意数据结构。实际上,应当综合考虑算法和数据结构,选择最佳的数据结构和算
2、法。C语言的数据结构是以数据类型形式出现的。C的数据类型如下:C语言中数据有常量与变量之分,它们分别属于以上这些类型。由以上这些数据类型还可以构成更复杂的数据结构。例如利用指针和结构体类型可以构成表、树、栈等复杂的数据结构。在程序中对用到的所有数据都必须指定其数据类型。3.2常量与变量3.2.1常量和符号常量在程序运行过程中,其值不能被改变的量称为常量。常量区分为不同的类型,如12、0、-3为整型常量,4.6、-1.23为实型常量,’a’、’d’为字符常量。常量一般从其字面形式即可判别。这种常量称为字面常量或直接常量。也可以用一个标识
3、符代表一个常量,该标识符称为符号常量,即标识符形式的常量。[例3.1]符号常量的使用#definePRICE30main(){intnum,total;num=10;total=num*PRICE;printf(“total=%d”,total);}符号常量不同于变量,它的值在其作用域(本例中为主函数)内不能改变,也不能再被赋值。习惯上,符号常量名用大写,变量名用小写,以示区别。使用符号常量的好处是:(1)含义清楚(2)在需要改变一个常量时能做到“一改全改”。3.2.2变量其值可以改变的量称为变量。一个变量应该有一个名字,在内存中占据
4、一定的存储单元。在该存储单元中存放变量的值。变量名实际上是一个符号地址,在对程序编译连接时由系统给每一个变量名分配一个内存地址。在程序中从变量中取值,实际上是通过变量名到相应的内存地址,从其存储单元中读取数据。用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列称为标识符(identifier)。C语言规定标识符只能由字母、数字和下划线三种字符组成,且第一个字母必须为字母或下划线。合法的标识符,也是合法的变量名:sum,average,_total,Class,day,month,Student_name,tan,
5、lotus_1_2_3,BASIC,x_h_b不合法的标识符和变量名:M.D.John,¥123,#33,3D64,a>b注意,大写字母和小写字母被认为是两个不同的字符。因此,sum和SUM,Class和class是两个不同的变量名。一般,变量名用小写字母表示,与人们日常习惯一致,以增加可读性。在C语言中,要求对所有用到的变量作强制定义,也就是“先定义,后使用”。这样做的目的是:(1)凡未被事先定义的,不作为变量名,这就能保证程序中变量名使用得正确。(2)每一个变量被指定为一确定类型,在编译时就能为其分配相应的存储单元。(3)指定每一
6、变量属于一个类型,这就便于在编译时,据此检查该变量所进行的运算是否合法。3.3整型数据3.3.1整型常量的表示方法整型常量即整常数。C整常数可用以下三种形式表示:(1)十进制整数。如123,-456,0。(2)八进制整数。以数字0开头的数是八进制数。如0123表示八进制数123,-011表示八进制数-11。(3)十六进制整数。以0x开头的数是十六进制数。如0x123代表十六进制数123,-0x12等于十六进制数-12。3.3.2整型变量1、整型数据在内存中的存放形式数据在内存中是以二进制形式存放的。inti;i=10;inti;i=-
7、10;2、整型变量的分类整型变量的基本类型符为int。可以根据数值的范围将变量定义为基本整型、短整型或长整型。在int之前可以根据需要分别加上修饰符:short(短型)或long(长型)。因此有以下三种整型变量:(1)基本整型,以int表示。(2)短整型,以shortint表示,或以short表示。(3)长整型,以longint表示,或以long表示。为了充分利用变量的表数范围,可以将变量定义为“无符号”类型。对以上三种都可以加上修饰符unsigned,以指定是“无符号数”。如果加上修饰符signed,则指定是“有符号数”。如果既不指
8、定为signed,也不指定为unsigned,则隐含为有符号。归纳起来,可以用以下6种整型变量。即:有符号基本整型[signed]int无符号基本整型unsigned[int]有符号短整型[signed]short[in