在程序的世界中,承载一系列的信息的数字和字符都属于数据类型,但计算机需要一种方法来区别和使用这些不同的类型。具体的,C通过识别一些基本的数据类型做到这些。如果是常量数据,编译器一般通过其书写来辨认其类型,比如:123是整数,3.14浮点数(即小数)。而变量则需要在声明语句中指定其类型,稍后会做详细介绍。我们先了解C语言的基本数据类型。
基本数据类型
C语言的基本数据类型为:整型、字符型、实数型。这些类型按其在计算机中的存储方式可被分为两个系列,即整数(integer)类型和浮点数(floating-point)类型。
这三种类型之下分别是:short、int、long、char、float、double这六个关键字再加上两个符号说明符signed和unsigned就基本表示了C语言的最常用的数据类型。
下面列出了在32位操作系统下常见编译器下的数据类型大小及表示的数据范围:
类型名称 | 类型关键字 | 占字节数 | 其他叫法 | 表示的数据范围 |
字符型 | char | 1 | signed char | -128 ~ 127 |
无符号字符型 | unsigned char | 1 | none | 0 ~ 255 |
整型 | int | 4 | signed int | -2,147,483,648 ~ 2,147,483,647 |
无符号整型 | unsigned int | 4 | unsigned | 0 ~ 4,294,967,295 |
短整型 | short | 2 | short int | -32,768 ~ 32,767 |
无符号短整型 | unsigned short | 2 | unsigned short int | 0 ~ 65,535 |
长整型 | long | 4 | long int | -2,147,483,648 ~ 2,147,483,647 |
无符号长整型 | unsigned long | 4 | unsigned long | 0 ~ 4,294,967,295 |
单精度浮点数 | float | 4 | none | 3.4E +/- 38 (7 digits) |
双精度浮点数 | double | 8 | none | 1.7E +/- 308 (15 digits) |
长双精度浮点数 | long double | 10 | none | 1.2E +/- 4932 (19 digits) |
长整型 | long long | 8 | __int64 | -9223372036854775808~9223372036854775808 |
在认识了这么多的数据类型之后,我们就可以根据不同的实际情况,在不同的问题中选择最符合的数据类型来使用。举个例子,如要计算两个数的和,我可以采用int类型定义两个变量,然后输出。
int a=24000,b=12345;//定义两个变量a,b并赋值 int c;//定义变量c用于计算a+b的和 c=a+b; printf("a+b = %d",c);//输出结果
没错,可能您已经考虑到,如果a+b的和超出int类型的最大范围时的问题。这个就需要您根据不同的作用选择不同的数据类型存储了。
关键字
在C语言中,为了定义变量、表达语句功能和对一些文件进行预处理,还必须用到一些具有特殊意义的字符,这就是关键字,我们用户自己定义的变量函数名等要注意不可以与关键字同名。
C语言中的32个关键字 | |||
auto | double | int | struct |
break | else | long | switch |
case | enum | register | typedef |
char | extern | return | union |
const | float | short | unsigned |
continue | for | signed | void |
default | goto | sizeof | volatile |
do | if | static | while |
以上关键字大家无需刻意记忆,还未遇到学习的关键字待后续教程学习即可。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程