第2讲 常量变量和数据类型
- 格式:ppt
- 大小:1.36 MB
- 文档页数:25
数据类型-常量与变量前⾔ ⾸先,在正式介绍常量与变量之前,我们需要声明C语⾔中正确的命名⽅法。
正如我们在给⽂件命名时所遵循的命名规则,我们在给C语⾔变量和常量命名时也需要遵循⼀定的规则。
在变量中,我们称之为标识符(⽤来标识常量,变量,函数的字符序列)。
⼀般情况下,C语⾔命名有如下规则:1)名称由字母,数字,下划线组成。
2)第⼀个(即开头)不能是数字。
3)C语⾔中⼤⼩写敏感。
//e.g.:A与a表⽰不同的变量/常量4)不能使⽤关键字。
C语⾔中的关键字⼀部分如下:int float double char short long signed unsigned if else switch case default for while do break continue return void const sizeof struct typedef static extern auto register enum goto union volatile 另⼀部分为系统内置函数。
常量常量的定义:在程序执⾏过程中,其值不发⽣改变的量称为常量。
常量⼤致分为以下⼏类分类1)符号常量 概念:⽤标识符代替常量。
语法:define 符号常量常量 ⽬的:为了使程序具有可拓展性与可移植性。
样例:#define PI 3.1415926 //我们把圆周率⽤PI替换,在程序中需要使⽤圆周率时,我们不需要⼀个⼀个的键⼊3.1415926……⽽是⽤⼀个PI代替之2)直接常量 概念:⽤标识符存储常⽤数据类型常量。
语法:数据类型常量名常量值 分类: 整型常量: //注:C语⾔中,整型常量可⽤后缀字母'l'和'L'表⽰长整型,在32位机器中。
长整型与普通型没有区别,都占⽤4个字节。
⼗进制:由 0~9 与+/-组成,⼗进制常量没有前缀,数值为 0~9 ⼋进制:由0开头,后⾯为0~7组成,通常是⽆符号数。
第2章 基本数据类型、常量和变量2.1 C 数据类型简介一个程序应该包括对数据的描述和对数据的处理。
但是程序要面临处理的数据有各种各样的类型,例如有一个用来处理学生基本信息的程序,所要处理的数据包括:学生的学号和姓名都是字符串,学生的年龄是整数,学生的成绩用浮点数表示等等。
而不同类型的数据不仅在机内的存储格式不同(例如整数用补码存放,而字符串是按串中每个字符的ASCII 码存放的),而且可以实现的运算也不同。
为了更好地对数据进行描述和处理,C 语言被设计成强类型语言(strongly typed language ),即C 语言程序中的每个数据必须具有明确的类型。
C 语言的数据类型可分为基本数据类型(整型、字符型和浮点型)、基于基本数据类型的构造数据类型(数组、struct 、union 、enum)、指针类型、空类型(void),见图2-1。
C 语言中数据分为常量和变量。
简单理解,在程序运行过程中其值不能改变的数据就是常量,而其值可以改变的数据称为变量。
下面分别介绍各种基本数据类型的常量和变量。
图2-1 C 语言中的数据类型数据类型2.2 基本数据类型——整数类型一、整型常量整数类型常量用于表示没有小数部分的数值,在C程序中整型常量可以表示成十进制、八进制或者十六进制形式,用不同的前缀来区分:(1) 十进制整型常量以非0(零)数字开头,例如237、-2009;(2) 八进制整型常量带有前缀0(零),例如027(等价的十进制数为23),-012(等价的十进制数为-10);(3) 十六进制整型常量带有前缀0x(X),例如0x2A(等价的十进制数为42),-0XA5b(等价的十进制数为-2651)。
【例2.1】下列哪些整型常量是合法的?012,oX7A,00,078,0x5Ac,-0xFFFF,0034,7B【例2.2】下面四个选项中,均是合法整型常量的选项是。
A) 160、-0xffff、011 B) –0xcdf、01a、0xeC) -01、986,012、0668 D) –0x48a、2e5、0x【例2.3】下面四个选项中,均是正确的八进制数或十六进制数的选项是。
(3)随机数产生、分支结构语句、goto语句。
2.2.2 常量、变量和基本数据类型在C语言中,数据有常量和变量之分。
1.常量定义:在程序的运行过程中,其值不能改变的量称为常量。
注意:常量有不同的类型,如12、0、-3为整型常量,4.6、-1.23为实型常量,'a'、'd'字符常量。
"abc"是字符串常量。
(1)整型常量C程序中的整型常量可以以十进制常量、八进制常量和十六进制常量3种形式出现。
十进制常量:由数字0,1~9组成的整数,例如:15、-238、0等,这是程序中最经常使用的整型常量形式。
八进制常量:以数字0开头,由数字0、1~7组成的整数,例如:016、075等,016等价于十进制数14,075等价于十进制数61。
十六进制常量:以“0x”或“0X”开头,由数字0、1~9或字母a、b、…、f组成的整数,如0xl6、0xab等,0x16等价十进制数22,0xab等价于十进制数171。
(2)实型常量C程序中的实型常量有十进制小数和指数两种表现形式。
十进制小数形式:由数字0、1~9和小数点组成,如15.34、-23.0、.7542等,这是程序中最经常使用的实型常量形式。
指数形式:由数字0、1~9、小数点和字母e(或E)组成,例如:6.32e3、1e-3和-0.34e5等。
其中e前面的数字称为尾数,e后面的数字称为指数。
它所代表的数值等于尾数乘以10的指数次幂。
注:字母e(E)前面必须有数字,且后面指数必须为整数。
(3)字符型常量字符型常量的表现形式有两种,如下所述。
用单引号括起来的单个字符,如'a', '+', '$'等。
转义字符,它是一种特殊的字符常量。
转义字符以反斜线“\”开头,后跟一个或几个字符。
转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。
例如,在前面各例题printf函数的格式串中用到的“\n”就是一个转义字符,其意义是“回车换行”。