数据类型
-
- [1. 前言](#1. 前言)
- [2. 预备知识](#2. 预备知识)
-
- [2.1 打印整数](#2.1 打印整数)
- [2.2 计算机中的单位](#2.2 计算机中的单位)
- [3. C语言有哪些数据类型呢?](#3. C语言有哪些数据类型呢?)
-
- [3.1 内置类型和自定义类型](#3.1 内置类型和自定义类型)
- [4. 每种类型的大小是多少?](#4. 每种类型的大小是多少?)
- [5. 为什么有这么多数据类型呢?](#5. 为什么有这么多数据类型呢?)
- [6. 这么多类型应该如何使用呢?](#6. 这么多类型应该如何使用呢?)
-
- [6.1 一个小知识](#6.1 一个小知识)
1. 前言
大家好,我是努力学习游泳的鱼。仔细阅读这篇文章,你将了解各种数据类型,并学会使用它们。
2. 预备知识
2.1 打印整数
我们可以用printf
配合%d
来打印一个整数。如
c
printf("%d\n", 100);
就能在屏幕上打印出100
。
2.2 计算机中的单位
计算机是能够识别二进制的。就像十进制中有1~9
,二进制只有0
和1
。
一个二进制位的1
或0
的大小就是一个bit(比特位)。
其余单位的换算关系如下:
1byte(字节)= 8bit
1kb = 1024byte
1mb = 1024kb
1gb = 1024mb
1tb = 1024gb
1pb = 1024tb
3. C语言有哪些数据类型呢?
c
char 字符数据类型
short 短整型
int 整型
long 长整型
long long 更长的整型
float 单精度浮点数
double 双精度浮点型
C语言中的字符是单引号括起来的一个 字符,如'w'
。
整型,就是整数的意思。
浮点型,就是小数的意思。
3.1 内置类型和自定义类型
以上是C语言提供的类型,也叫内置类型 。
我们也能自己创造类型,叫自定义类型 。
注意:C语言没有字符串类型!
4. 每种类型的大小是多少?
这里我们写一个程序来测量每种类型的大小。
c
#include <stdio.h>
int main()
{
printf("%d\n", sizeof(char));
printf("%d\n", sizeof(short));
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(long));
printf("%d\n", sizeof(long long));
printf("%d\n", sizeof(float));
printf("%d\n", sizeof(double));
return 0;
}
输出:
1 2 4 4 8 4 8
sizeof
是一个操作符,用来计算类型大小的,单位是字节 。
对比代码,可知:
char
大小是1个字节
short
大小是2个字节
int
大小是4个字节
long
大小是4个字节
long long
大小是8个字节
float
大小是4个字节
double
大小是8个字节
那为什么long
大小和int
相同呢?
C语言标准规定,
sizeof(long) >= sizeof(int)
所以这没有问题!
5. 为什么有这么多数据类型呢?
C语言是一门计算机语言,写出来的程序要解决生活中的问题,就要有能力描述生活中的问题。比如说,写一个购物商城,商品的名字是由字符构成的,价格都是浮点数(即小数)。所以要有字符类型,浮点型等等。
C语言中,char
是字符数据类型,整型(即整数)有short,int,long,long long
等等,浮点型(小数)有float和double
。
不同类型大小也不一样,short
是2个字节,int
是4个字节,那么int
能够存储的范围就比short
大。C语言提供丰富的类型,我们就可以在不同的环境选择合适的类型。
6. 这么多类型应该如何使用呢?
类型是用来创建变量的 。
比如:
c
int price = 55;
float weight = 55.5f;
6.1 一个小知识
当我们直接写一个小数时,比如上面的55.5,会被认为是双精度浮点数(double
)。如果我们要把它赋值给float
类型,可以再后面加个f
,表示这是一个单精度浮点数(float
)。