- 一、六种基本数据类型
- Ⅰ、字符型(char)
- Ⅱ、整型(short、int、long)
- Ⅲ、浮点型(float、double)
- 二、输出格式
- 三、计算机中的单位
- 四、所占空间
C语言中的基本数据类型有六种:char(字符类型)、short(短整型)、int(整型)、long(长整型)、float(单精度浮点型)、double(双精度浮点型)。
其中short、int、long都属于整型,float、double属于浮点型。
字符型(Character)数据是不具计算能力的文字数据类型,用字母C表示。
它包括中文字符、英文字符、数字字符和其他ASCⅡ字符,其长度(即字符个数)范围是0-255个字符,即0x00至0xFF。
“char a;”则定义了变量a是字符类型,“char *a;”则定义了变量a是字符指针类型。
并且注意给字符变量赋值时用单引号,例如char a = ‘#’;
类型的作用:
(1)、可以存放整数,但因为最高位用来存符号位,导致存储位少一位,所以存储范围为 -128 ~ 127。
注意:
a、char类型大多默认为有符号类型(signed),所以signed不用写,但如果使用无符号类型(unsigned),那么就需在前面加上 例如:unsigned char a = 5;
b、使用unsigned会使存储范围变大( 0 ~255),因为不用存储符号,就多出一位。
(2)、可以存放字符(字符的本质是整数,通过ASCII查找)
字符指类字形单位或符号,包括字母、数字、运算符号、标点符号和其他符号,以及一些功能性符号。
你在ASCII中找到你想要字符并用数字代替,即 97代表字母’a’、65代表’A’(大小写相差32,其他字母也是如此)。
但没必要把它记下来,只需记住常用的(字母是必须记的)。
下面两种写法等价
char ch = 97;
char ch = 'a';
Ⅱ、整型(short、int、long)
整型可以用十进制,十六进制或八进制符号指定,前面可以加上可选的符号(- 或者 +)。
包括整型常量和整型变量,整型变量又包括短整型、基本整型、长整型,它们都分为有符号和无符号两种版本,是一种智能的计算方式。
十进制: 十进制整常数没有前缀。
其数码为0~9。
八进制:必须以0开头,即以0作为八进制数的前缀。
数码取值为0~7。
八进制数通常是无符号数。
int x = 017;//十进制为15
十六进制: 十六进制整常数的前缀为0X或0x。
其数码取值为09,AF或a~f。
int x = 0x177;//十进制为375
数据类型 | 简写 | 大小(字节) | 位数 | 范围 |
---|---|---|---|---|
signed short int | short | 2 | 16 | -32768~32767 |
unsigned short int | unsigned short | 2 | 16 | 0~65535 |
signed int | int | 4 | 32 | -2147483648~2147483647 |
unsigned int | unsigned | 4 | 32 | 0~4294967295 |
signed long int | long | 8 | 64 | -9223372036854775808~ 9223372036854775807 |
unsigned long int | unsigned long | 8 | 64 | 0~18446744073709551615 |
浮点型由数码0~ 9和小数点组成。
浮点型有两类float和double,两者的精度不同(有效数字范围不同)。
数据类型 | 有效数字范围 |
---|---|
float | 7位有效数字 |
double | 15~16位有效数字 |
注意:
如果你想定义float型变量,那么你就得在数字后加f,否则编译器会默认为double型,然后将该数字强制转换为float型,当有效数字足够长时会丢失数据(高精度转低精度)。
double型并不需要这样。
float x = 1.23f;
double y = 1.23;
二、输出格式
各类型的输出格式
%c | 字符 |
---|---|
%d | 整型(有符号的十进制整数) |
%hd | 短整型 |
%ld | 长整型 |
%f | 浮点数(float) |
%lf | 浮点数(double) |
%s | 字符串 |
%p | 指针 |
计算机中的单位:bit(比特位)、byte(字节)、kb、mb、gb、tb、pb;
1byte=8bit、1kb=1024byte、1mb=1024kb、1gb=1024mb、后面以此类推。
各类型在计算机中占用的空间大小
类型 | 大小(字节) |
---|---|
char | 1 |
short | 2 |
int | 4 |
long | 4/8(32位、64位) |
float | 4 |
double | 8 |
指针 | 4/8(32位、64位) |
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)