C语言中,数据类型可分为:
- 基本数据类型
- 构造数据类型
- 指针类型
- 空类型四大类
最常用的整型, 实型与字符型(char,int,float,double):
整型数据是指不带小数的数字(int,short int,long int, unsigned int, unsigned short int,unsigned long int):
注:
-
int
short int
long int
是根据编译环境的不同,所取范围不同。 - 而其中
short int
和long int
至少是表中所写范围, 但是int
在表中是以16位编译环境写的取值范围。 - 另外 c语言
int
的取值范围在于他占用的字节数 ,不同的编译器,规定是不一样。 - ANSI标准定义
int
是占2个字节,TC是按ANSI标准的,它的int
是占2个字节的。但是在VC里,一个int
是占4个字节的。
浮点数据是指带小数的数字。
生活中有很多信息适合使用浮点型数据来表示,比如:人的体重(单位:公斤)、商品价格、圆周率等等。
因为精度的不同又分为3种(float,double,long double):
注:C语言中不存在字符串变量,字符串只能存在字符数组中,这个后面会讲。
格式化输出语句
格式化输出语句,也可以说是占位输出,是将各种类型的数据按照格式化后的类型及指定的位置从计算机上显示。
其格式为:printf("输出格式符",输出项)
;
当输出语句中包含普通字符时,可以采用一下格式:
注意:格式符的个数要与变量、常量或者表达式的个数一一对应
不可改变的常量
在程序执行过程中,值不发生改变的量称为常量。
mTIanyan: C语言的常量可以分为直接常量和符号常量。
- 直接常量也称为字面量,是可以直接拿来使用,无需说明的量,比如:
- 整型常量:13、0、-13;
- 实型常量:13.33、-24.4;
- 字符常量:‘a’、‘M’
- 字符串常量:”I love imooc!”
在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。符号常量在使用之前必须先定义,其一般形式为:
#define 标识符 常量值
符号常量不可以被改变。
自动类型转换
数据类型存在自动转换的情况.
自动转换发生在不同数据类型运算时,在编译的时候自动完成。
char
类型数据转换为int
类型数据遵循ASCII
码中的对应值.
注:
字节小的可以向字节大的自动转换,但字节大的不能向字节小的自动转换
char可以转换为int,int可以转换为double,char可以转换为double。但是不可以反向。
强制类型转换
强制类型转换是通过定义类型转换运算来实现的。其一般形式为:
其作用是把表达式的运算结果强制转换成类型说明符所表示的类型
在使用强制转换时应注意以下问题:
- 数据类型和表达式都必须加括号, 如把
(int)(x/2+y)
写成(int)x/2+y
则成了把x
转换成int
型之后再除2
再与y
相加了。 - 转换后不会改变原数据的类型及变量值,只在本次运算中临时性转换。
- 强制转换后的运算结果不遵循四舍五入原则。