C语言的数据类型
数据类型掌握C语言的数据类型是开启高效、可靠编程之旅的第一步。数据类型不仅决定了数据在内存中的存储格式和取值范围更是程序逻辑正确性的基石。本文将带你系统学习C语言数据类型的核心知识主要内容包括基础数据类型详解深入剖析字符型(char)、整型(int)、浮点型(float/double)和布尔类型(_Bool/bool)的定义、用法与内存表示。类型修饰符的作用讲解short、long、signed、unsigned等修饰符如何精细控制数据的长度和符号以适应不同的应用场景。ASCII与转义字符应用揭示字符在计算机中的本质ASCII码并掌握转义字符的妙用让你在字符串和字符处理中游刃有余。通过本文你将建立起对C语言数据类型全面而清晰的理解为后续的变量、运算符和复杂程序设计打下坚实基础。1.数据类型1.1 字符型字符的英文单词是character在C语言中使用char表示字符类型。1char//character23charch;//使用char创建字符变量C语言中字符是使用一对单引号括起来的比如‘x’、‘a’、‘w’这些字符类型就是char。1.2 整型整数的英文单词是integer在C语言中使用int表示整型类型。1int23intnum;//使用int创建整型变量在C语言中100、20、35这些整数的类型就是int。1.3 浮点型1float//单精度浮点型2double//双精度浮点型34floatnuml;//使用float创建变量5doublenum2;//使用double创建变量在C语言中3.14、5.5这些小数类型默认是double类型3.14f这种写法表示float类型。1.4布尔类型C语言在C89/C90时期并没有为布尔值单独设置一个类型使用整数0表示假false非零值表示真。后来在C99标准中也引入了布尔类型是专门表示真假的。1_Bool布尔类型变量的取值是true或者false这两个符号是定义在stdbool.h头文件中的。1#define bool_Bool23#define false04#define true1布尔类型的使用一般得包含头文件stdbool.h1#includestdbool.h23_Boolflagtrue;4if(flag)5printf(I like C\n);一直到C23这个标准才把bool、true、false定为C语言的关键字使用bool类型不再需要依赖stdbool.h这个头文件了。2.类型修饰符有前⾯介绍的数据类型其实已经能解决⼀部分问题但是在真实的开发过程中还是不够为了让内置类型提供更精细的数据表示能力C语言中还引入了类型修饰符1//和内存长度有关的2short3long4//和符号相关的5signed6unsigned2.1 short和longshort 和long是和内存长度有关的两个类型修饰符也是用来修饰整型类型。1int//标准的整型23//修饰整型4short[int]//短整型5long[int]//长的整型6longlong[int]//长的整型7// []中的内容是可以省略的89//修饰浮点型10longdouble//C99中引入了int 长度是4个字节short int 类型的长度是2个字节。C语⾔标准规定long int 的⻓度是⼤于等于int 的⻓度的。要想知道每个数据的类型的⻓度我们可以使⽤sizeof来计算sizeof是C语言的一个操作符sizeof可以算出⼀个数据类型的⻓度单位是字节使⽤的⽅法就是1sizeof(type)2.2 signed和unsignedsigned和unsigned是和符号相关的两个类型修饰符专门修饰字符型和整型类型的。signed关键字表⽰⼀个类型带有正负号可以表⽰正整数、负整数和0unsigned 关键字表⽰该类型不带有正负号只能表⽰零和正整数。3.ASCII字符集和转义字符3.1 ASCII码表参考https://zh.cppreference.com/w/cpp/language/ascii3.2.1 转义字符转义字符解释\?在书写连续多个问号时使⽤防⽌他们被解析成三字⺟词在新的编译器上已无法验证。\’⽤于表⽰字符常量’\用于表⽰⼀个字符串内部的双引号\⽤于表⽰⼀个反斜杠防⽌它被解释为⼀个转义序列符。\a警报这会使得终端发出警报声或出现闪烁或者两者同时发⽣。\b退格键光标回退⼀个字符但不删除字符。\n换行符⼀般使⽤在屏幕上打印信息时实现换⾏的效果\r回车符光标移到同⼀⾏的开头。\t制表符光标移到下⼀个⽔平制表位通常是下⼀个4/8的倍数。3.2.2数字转义序列转义序列解释\dddddd表⽰1~3个八进制的数字。 如 \130 表⽰’X’\xdddd表示两个十六进制数字。 如\x30 表示字符’0’