C语言的数据类型
一.数据的分类
-
整数
-
整数的进制表示
-
十进制(生活中常用的进制表示方法)
-
二进制
用01表示整数,需要在整数前面加一个前缀“0b”,遵循原则是“逢二进一”。
如:0b/0B 1011----->表示的就是十进制的11.
-
八进制
用八进制表示的时候,需要在整数前面添加一个“0”,遵循“逢八进一”。
如:0 5007330------->这就是八进制表示的整数1314520.
-
十六进制
在用表示十六进制表示整数的时候,需要加上前缀“0x”或者“0X”,十六进制的每一位可以使用0-9、A-F,遵循“逢十六进一”的原则。
如:0x140ED8----->这就是十六进制表示的整数1314520.
-
-
有符号整型(int来源于英语单词integer,意思是整数)
-
整型(int)占4个字节。
-
短整型(short)
短整型是较小的保存类型,用short表示,占2个字节。
-
长整型(long)
长整型是较大的保存类型,用long表示,占4个字节。
-
-
无符号整型(无符号整型需要在类型说明符前面加上前缀:“unsigned”,或者在无符号整型数据后面添加后缀:“u“或者”U“。)
-
无符号整型 (unsigned int) 占4个字节。
-
无符号短整型(unsigned short)占2个字节
-
无符号长整型(unsigned long)占4个字节
数据类型名称 占用字节数 取值范围 整型(int) 4 -2147483648~2147483647 短整型(short) 2 -32768~32767 长整型(long) 4 -2147483648~2147483647 无符号整型 (unsigned int) 4 0~4294967295 无符号短整型(unsigned short) 2 0~65535 无符号长整型(unsigned long) 4 0~4294967295 六种整型数据类型如上
-
-
-
小数
-
字符类型
-
单个字符
单个字符又称字符常量,书写单个字符时需要用英文单引号将对应的字符括起来。
-
字符串
多个字符又称字符串,书写字符串时需要用英文双引号将对应字符串括起来。
-
转义字符(常用)
转义字符 含义 \b 退格 \f 换页 \n 换行符 \r 回车 \t 水平制表
-
-
字符存储
计算机只能存储二进制数,无法存储字符,要将字符转化为数字。
1 B=8b Byte:字节b:位
1 KB=1024 B
1 MB=1024 KB
1GB=1024 MB
1 TB=1024 GB
1 PB=1024 TB
1EB=1024 PB真实数据存储
原码:引入符号位,用最高位表示符号位的二进制数
0:整数
1:负数反码:原码符号位不变,其他位取反(0变成1 1变成O)。
补码: 反码+1,----->才是计算机中真实存储数据。正数三码合一,所有的码的都是一样
负数是用补码存储
ASCII表
二进制 十进制 十六进制 字符/缩写 解释 00000000 0 00 NUL (NULL) 空字符 00000001 1 01 SOH (Start Of Headling) 标题开始 00000010 2 02 STX (Start Of Text) 正文开始 00000011 3 03 ETX (End Of Text) 正文结束 00000100 4 04 EOT (End Of Transmission) 传输结束 00000101 5 05 ENQ (Enquiry) 请求 00000110 6 06 ACK (Acknowledge) 回应/响应/收到通知 00000111 7 07 BEL (Bell) 响铃 00001000 8 08 BS (Backspace) 退格 00001001 9 09 HT (Horizontal Tab) 水平制表符 00001010 10 0A LF/NL(Line Feed/New Line) 换行键 00001011 11 0B VT (Vertical Tab) 垂直制表符 00001100 12 0C FF/NP (Form Feed/New Page) 换页键 00001101 13 0D CR (Carriage Return) 回车键 00001110 14 0E SO (Shift Out) 不用切换 00001111 15 0F SI (Shift In) 启用切换 00010000 16 10 DLE (Data Link Escape) 数据链路转义 00010001 17 11 DC1/XON (Device Control 1/Transmission On) 设备控制1/传输开始 00010010 18 12 DC2 (Device Control 2) 设备控制2 00010011 19 13 DC3/XOFF (Device Control 3/Transmission Off) 设备控制3/传输中断 00010100 20 14 DC4 (Device Control 4) 设备控制4 00010101 21 15 NAK (Negative Acknowledge) 无响应/非正常响应/拒绝接收 00010110 22 16 SYN (Synchronous Idle) 同步空闲 00010111 23 17 ETB (End of Transmission Block) 传输块结束/块传输终止 00011000 24 18 CAN (Cancel) 取消 00011001 25 19 EM (End of Medium) 已到介质末端/介质存储已满/介质中断 00011010 26 1A SUB (Substitute) 替补/替换 00011011 27 1B ESC (Escape) 逃离/取消 00011100 28 1C FS (File Separator) 文件分割符 00011101 29 1D GS (Group Separator) 组分隔符/分组符 00011110 30 1E RS (Record Separator) 记录分离符 00011111 31 1F US (Unit Separator) 单元分隔符 00100000 32 20 (Space) 空格 00100001 33 21 ! 00100010 34 22 " 00100011 35 23 # 00100100 36 24 $ 00100101 37 25 % 00100110 38 26 & 00100111 39 27 ’ 00101000 40 28 ( 00101001 41 29 ) 00101010 42 2A * 00101011 43 2B + 00101100 44 2C , 00101101 45 2D - 00101110 46 2E . 00101111 47 2F / 00110000 48 30 0 00110001 49 31 1 00110010 50 32 2 00110011 51 33 3 00110100 52 34 4 00110101 53 35 5 00110110 54 36 6 00110111 55 37 7 00111000 56 38 8 00111001 57 39 9 00111010 58 3A : 00111011 59 3B ; 00111100 60 3C < 00111101 61 3D = 00111110 62 3E > 00111111 63 3F ? 01000000 64 40 @ 01000001 65 41 A 01000010 66 42 B 01000011 67 43 C 01000100 68 44 D 01000101 69 45 E 01000110 70 46 F 01000111 71 47 G 01001000 72 48 H 01001001 73 49 I 01001010 74 4A J 01001011 75 4B K 01001100 76 4C L 01001101 77 4D M 01001110 78 4E N 01001111 79 4F O 01010000 80 50 P 01010001 81 51 Q 01010010 82 52 R 01010011 83 53 S 01010100 84 54 T 01010101 85 55 U 01010110 86 56 V 01010111 87 57 W 01011000 88 58 X 01011001 89 59 Y 01011010 90 5A Z 01011011 91 5B [ 01011100 92 5C \ 01011101 93 5D ] 01011110 94 5E ^ 01011111 95 5F _ 01100000 96 60 ` 01100001 97 61 a 01100010 98 62 b 01100011 99 63 c 01100100 100 64 d 01100101 101 65 e 01100110 102 66 f 01100111 103 67 g 01101000 104 68 h 01101001 105 69 i 01101010 106 6A j 01101011 107 6B k 01101100 108 6C l 01101101 109 6D m 01101110 110 6E n 01101111 111 6F o 01110000 112 70 p 01110001 113 71 q 01110010 114 72 r 01110011 115 73 s 01110100 116 74 t 01110101 117 75 u 01110110 118 76 v 01110111 119 77 w 01111000 120 78 x 01111001 121 79 y 01111010 122 7A z 01111011 123 7B { 01111100 124 7C | 01111101 125 7D } 01111110 126 7E ~ 01111111 127 7F DEL (Delete) 删除 -
变量
要处理的数据真实存在,但是其具体数值不能确定,我们称这种数据叫做变量,这种数据我们一般会给它设置一个名字,用来代指这个数据,这个名字只是一个标签,并不会存储数据。变量就是一个表示符。需要按照表示符命名规范来进行。
关键字
-
C语言基本数据类型
- int (整数型)
- double(双精度)
- float (单精度)
- char(字符)
-
修饰词
-
long和short只能修饰整型(long int)(short int)int可以省略
-
unsigned 无符号,同样只能修饰整型 signed 有符号 ,默认的数据都是有符号的
-
特俗修饰词、
-
const 修饰 ,使用时必须初始化,只读,不可被修改。
-
static修饰 ,静态局部变量使用static修饰符定义,即使在声明时未赋初值,编译器也会把它初始化为0。且静态局部变量存储于进程的全局数据区,即使函数返回,它的值也会保持不变。
-
extern: 修饰外部变量 ,可以在一个文件中引用另一个文件中定义的变量或者函数。
-
-
-
-
进制转换
-
计算器
-
加权法(其它进制转十进制)
-
短除法(十进制转其它进制)
-
二进制转八进制
三位二进制可以当做一位八进制,从右往左,不够补0.
-
二进制转十六进制
四位二进制可以当做一位十六进制,从右往左,不够补0.
-