当前课程知识点:C语言程序设计基础 > 1.顺序结构程序设计 > 1.2 C语言中的数据类型 > html
对于基本数据类型量,按其取值是否可改变又分为常量和变量两种。在程序执行过程中,其值不发生改变的量称为常量,其值可变的量称为变量。它们可与数据类型结合起来分类。例如,可分为整型常量、整型变量、浮点常量、浮点变量、字符常量、字符变量、枚举常量、枚举变量。在程序中,常量是可以不经说明而直接引用的,而变量则必须先定义后使用。
在程序执行过程中,其值不发生改变的量称为常量。
1.直接常量(字面常量):
整型常量:12、0、-3;
实型常量:4.6、-1.23;
字符常量:‘a’、‘b’。
标识符:用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列。
2.符号常量:用标示符代表一个常量。在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。
符号常量在使用之前必须先定义,其一般形式为:
#define 标识符 常量
习惯上符号常量的标识符用大写字母,变量标识符用小写字母,以示区别。
其值可以改变的量称为变量。一个变量应该有一个名字,在内存中占据一定的存储单元。变量定义必须放在变量使用之前。一般放在函数体的开头部分。要区分变量名和变量值是两个不同的概念。
整型常量就是整常数。在C语言中,使用的整常数有八进制、十六进制和十进制三种。
1.十进制整常数:十进制整常数没有前缀。其数码为0~9。
2.八进制整常数:八进制整常数必须以0开头,即以0作为八进制数的前缀。数码取值为0~7。八进制数通常是无符号数。
3.十六进制整常数:十六进制整常数的前缀为0X或0x。其数码取值为0~9,A~F或a~f。
4.整型常数的后缀
十进制长整常数:
158L (十进制为158)、358000L (十进制为358000);
八进制长整常数:
012L (十进制为10)、077L (十进制为63)、0200000L (十进制为65536);
十六进制长整常数:
0X15L (十进制为21)、0XA5L (十进制为165)、0X10000L (十进制为65536)。
实型也称为浮点型。实型常量也称为实数或者浮点数。在C语言中,实数只采用十进制。它有二种形式:十进制小数形式,指数形式。
1.十进制数形式:由数码0~ 9和小数点组成。
2.指数形式:由十进制数,加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。
其一般形式为:
a E n(a为十进制数,n为十进制整数)
其值为 a*10n。
字符常量是用单引号括起来的一个字符。
例如:
'a'、'b'、'='、'+'、'?'
在C语言中,字符常量有以下特点:
1.字符常量只能用单引号括起来,不能用双引号或其它括号。
2.字符常量只能是单个字符,不能是字符串。
3.字符可以是字符集中任意字符。但数字被定义为字符型之后就不能参与数值运算。如'5'和5 是不同的。'5'是字符常量,不能参与运算。
字符串常量是由一对双引号括起的字符序列。例如: "CHINA" , “C program” , "$12.5" 等都是合法的字符串常量。
字符串常量和字符常量是不同的量。它们之间主要有以下区别:
1.字符常量由单引号括起来,字符串常量由双引号括起来。
2.字符常量只能是单个字符,字符串常量则可以含一个或多个字符。
3.可以把一个字符常量赋予一个字符变量,但不能把一个字符串常量赋予一个字符变量。在C语言中没有相应的字符串变量。这是与BASIC 语言不同的。但是可以用一个字符数组来存放一个字符串常量。在数组一章内予以介绍。
4.字符常量占一个字节的内存空间。字符串常量占的内存字节数等于字符串中字节数加1。增加的一个字节中存放字符"\0" (ASCII码为0)。这是字符串结束的标志。
1.基本型:类型说明符为int,在内存中占2个字节。
2.短整量:类型说明符为short int或short。所占字节和取值范围均与基本型相同。
3.长整型:类型说明符为long int或long,在内存中占4个字节。
4.无符号型:类型说明符为unsigned。
无符号型又可与上述三种类型匹配而构成:
(1)无符号基本型:类型说明符为unsigned int或unsigned。
(2)无符号短整型:类型说明符为unsigned short。
(3)无符号长整型:类型说明符为unsigned long。
整型变量的定义
变量定义的一般形式为:
类型说明符 变量名标识符,变量名标识符,...;
int a,b,c;
在书写变量定义时,应注意以下几点:
1.允许在一个类型说明符后,定义多个相同类型的变量。各变量名之间用逗号间隔。类型说明符与变量名之间至少用一个空格间隔。
2.最后一个变量名之后必须以“;”号结尾。
3.变量定义必须放在变量使用之前。一般放在函数体的开头部分。
实型变量的分类
实型变量分为:单精度(float型)、双精度(double型)和长双精度(long double型)三类。
在Turbo C中单精度型占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38,只能提供七位有效数字。双精度型占8 个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308,可提供16位有效数字。
类型说明符 |
比特数(字节数) |
有效数字 |
数的范围 |
float |
32(4) |
6~7 |
10-37~1038 |
double |
64(8) |
15~16 |
10-307~10308 |
long double |
128(16) |
18~19 |
10-4931~104932 |
类型说明符 变量名标识符,变量名标识符,...;
float x,y; (x,y为单精度实型量)
double a,b,c; (a,b,c为双精度实型量)
字符变量用来存储字符常量,即单个字符。
字符变量的类型说明符是char。字符变量类型定义的格式和书写规则都与整型变量相同。例如:
char a,b;
在程序中常常需要对变量赋初值,以便使用变量。语言程序中可有多种方法为变量提供初值。本小节先介绍在作变量定义的同时给变量赋以初值的方法。这种方法称为初始化。在变量定义中赋初值的一般形式为:
类型说明符 变量1= 值1,变量2= 值2,……;
例如:
int a=3;
int b,c=5;
float x=3.2,y=3f,z=0.75;
char ch1='K',ch2='P';
-1.1 C语言概述
--html
-1.顺序结构程序设计--1.1 C语言概述
-1.2 C语言中的数据类型
--html
-1.2 C语言中的数据类型--作业
-1.3 运算符和表达式
--html
--html
-1.3 运算符和表达式--作业
-1.4键盘输入和屏幕输出
--html
-1.4键盘输入和屏幕输出--作业
-2.1 算法
--2.1 算法
--html
-2.1 算法--作业
-2.2 关系运算符与逻辑运算符
--html
-2.2 关系运算符与逻辑运算符--作业
-2.3 实现分支结构的语句
--html
-2.3 实现分支结构的语句--作业
-随堂测验--作业
-3.1 循环控制结构
--html
-3.循环结构程序设计--3.1 循环控制结构
-3.2 流程的转移以及循环嵌套
--html
-3.循环结构程序设计--3.2 流程的转移以及循环嵌套
-3.3 计数、条件控制的循环
-3.循环结构程序设计--3.3 计数、条件控制的循环
-本章测试--作业
-4.1 一维数组的定义及引用
-- 一维数组的定义及引用
--html
-4.1 一维数组的定义及引用--作业
-4.2 二维数组的定义及引用
--Video
--html
-4.2 二维数组的定义及引用--作业
-4.3 字符数组
--Video
--html
-4.3 字符数组--作业
-本章测试--作业
-5.1 函数的定义、调用
--Video
--html
-5.1 函数的定义、调用--作业
-5.2 函数嵌套调用和递归调用
--html
-5.2 函数嵌套调用和递归调用--作业
-5.3 变量的时间空间
--html
-5.3 变量的时间空间--作业
-期中考试--作业
-本章测试--作业
-6.1 指针的概念
--指针的概念
--html
-6.1 指针的概念--作业
-6.2 指针的应用
--html
-6.2 指针的应用--作业
-本章测试--作业
-7.1 结构体
--Video
--html
-7.1 结构体--作业
-7.2 共用体
--7.2 共用体
-7.2 共用体--作业
-8.1 文件的指针
-8.1 文件的指针--作业
-8.2 文件的读写
-8.2 文件的读写--作业
-9..1综合实例
--综合实例
-9..1综合实例--作业