一、数据类型
1.1 通用
只列出简单数据类型。
C 语言中的基本数据类型包括以下几种:
整数类型:
int
:用于表示整数,通常为机器字长大小(通常是 4 字节或 8 字节)。char
:用于表示字符,通常为 1 字节。short
:用于表示短整数,通常为 2 字节。long
:用于表示长整数,通常为 4 字节或 8 字节,取决于编译器和平台。long long
:用于表示长长整数,通常为 8 字节。无符号整数类型:
unsigned int
:用于表示无符号整数,通常为机器字长大小。unsigned char
:用于表示无符号字符,通常为 1 字节。unsigned short
:用于表示无符号短整数,通常为 2 字节。unsigned long
:用于表示无符号长整数,通常为 4 字节或 8 字节,取决于编译器和平台。unsigned long long
:用于表示无符号长长整数,通常为 8 字节。浮点数类型:
float
:用于表示单精度浮点数,通常为 4 字节。double
:用于表示双精度浮点数,通常为 8 字节。long double
:用于表示扩展精度浮点数,其大小取决于编译器和平台。布尔类型:
_Bool
:用于表示布尔值,只有两个可能的值,0 表示假(false),非零值表示真(true)。
下面是Windows下,mscv变量大小(复数是gcc):
数据类型 | 大小(字节) | 说明 | 所在头文件 |
---|---|---|---|
int |
4 | 整数数据类型 | <stdio.h> |
char |
1 | 字符数据类型 | <stdio.h> |
float |
4 | 单精度浮点数 | <stdio.h> |
double |
8 | 双精度浮点数 | <stdio.h> |
short |
2 | 短整数 | <stdio.h> |
long (long int) |
4 | 长整数 | <stdio.h> |
unsigned int | 4 | 无符号整数 | <stdio.h> |
unsigned char | 1 | 无符号字符 | <stdio.h> |
unsigned short | 2 | 无符号短整数 | <stdio.h> |
unsigned long | 4 | 无符号长整数 | <stdio.h> |
long long | 8 | 长长整数 | <stdio.h> |
unsigned long long | 8 | 无符号长长整数 | <stdio.h> |
bool |
1 | 布尔类型 | <stdbool.h> |
size_t |
8 | 用于表示对象大小的无符号整数类型 | <stddef.h> |
ptrdiff_t | 8 | 用于表示指针之间差值的整数类型 | <stddef.h> |
intptr_t | 8 | 用于表示指针值的整数类型 | <stdint.h> |
float complex | 8 | 单精度复数 | <complex.h> |
double complex | 16 | 双精度复数 | <complex.h> |
解释:
机器字长(Machine Word Length),也称为字大小或字宽,是计算机体系结构中的一个重要概念,它表示一次性处理的二进制数据块的位数。字长通常决定了计算机的寄存器大小、内存地址空间的大小以及其能够处理的整数或浮点数的大小。
以下是一些常见的机器字长值:
32 位机器:机器字长为 32 位,意味着它可以一次性处理 32 位(4 字节)的二进制数据。这种机器通常有 32 位的寄存器和 32 位的内存地址空间。例如,许多早期的个人计算机和服务器采用了 32 位体系结构。
64 位机器:机器字长为 64 位,它可以一次性处理 64 位(8 字节)的二进制数据。这种机器具有更大的内存地址空间和寄存器,可以处理更大范围的整数和浮点数数据。大多数现代个人计算机和服务器采用了 64
位体系结构。
编译器问题:
同一个头文件、变量类型,不同的编译器的支持是不同的。比如微软的msvc
,你直接使用<complex.h>里面的complex
是会报错的,微软给了新的名称,比如:
typedef _C_double_complex _Dcomplex;
typedef _C_float_complex _Fcomplex;
typedef _C_ldouble_complex _Lcomplex;
还有很多类似的,有的可以关闭SDL检查避免报错。比如printf这些函数。
如果你想要进行跨平台开发,可以使用gcc 编译(比如通过MinGW等安装);如果进行Windows系统下的开发,用默认的msvc更好。
符号位:
C语言中有符号(signed
)和无符号(unsigned
)是用于描述整数数据类型的两种重要属性,它们之间的主要区别在于数据的表示范围和如何解释数据的位模式。
以下是有符号和无符号的区别:
数据范围:
- 有符号:有符号整数可以表示正数、负数和零。有符号整数的范围由其位数决定,例如,一个8位有符号整数可以表示-128到127之间的值(包括这两个端点)。
- 无符号:无符号整数只能表示非负数和零。无符号整数的范围从0到2^n-1,其中n是整数的位数。例如,一个8位无符号整数可以表示0到255之间的值。
位模式解释:
- 有符号:有符号整数的位模式通常采用二进制补码表示法。这意味着最高位(最左侧的位)用于表示符号(0表示正数,1表示负数)(前面的-128到127),其余位用于表示数值。这种表示方式允许在数值上进行正负号切换,但可能导致溢出问题。
- 无符号:无符号整数的位模式被解释为非负数,不涉及符号位。所有位都用于表示数值。这种表示方式不会有溢出问题,但不能表示负数。
溢出行为:
- 有符号:有符号整数在发生溢出时的行为是未定义的(undefined behavior)。这意味着当有符号整数的结果超出其表示范围时,程序可能会产生不确定的结果。
- 无符号:无符号整数在发生溢出时会进行模运算。这意味着当无符号整数的结果超出其表示范围时,它将"循环"回到该范围内,产生一个模运算结果。
同一类型,有无符号,表示的数据个数是相同的。只是正负分布不同。
变量大小、最大最小值:
一般只有指针类型和long会随着编译器CPU架构变化。
不确定时,可以用sizeof()
打印,结果是size_t类型。
当你知道变量大小时,其实就知道它的表示范围了,但这通常是一个比较大的数字,不方便书写。可以使用标准C库中的限界宏(Limit Macros),这些宏定义在<limits.h>
头文件中。这些宏提供了每种整数数据类型的最小值和最大值。
部分:
宏名 | 描述 | 最小值 | 最大值 |
---|---|---|---|
CHAR_BIT | char 的位数 | 8 | |
SCHAR_MIN | signed char 的最小值 | -128 | 127 |
SCHAR_MAX | signed char 的最大值 | -128 | 127 |
UCHAR_MAX | unsigned char 的最大值 | 0 | 255 |
CHAR_MIN | char 的最小值 | -128 或 0 | 127 或 255 |
CHAR_MAX | char 的最大值 | -128 或 0 | 127 或 255 |
SHRT_MIN | short 的最小值 | -32768 | 32767 |
SHRT_MAX | short 的最大值 | -32768 | 32767 |
USHRT_MAX | unsigned short 的最大值 | 0 | 65535 |
INT_MIN | int 的最小值 | -2147483648 | 2147483647 |
INT_MAX | int 的最大值 | -2147483648 | 2147483647 |
UINT_MAX | unsigned int 的最大值 | 0 | 4294967295 |
LONG_MIN | long 的最小值 | -2147483648 或更小 | 2147483647 或更大 |
LONG_MAX | long 的最大值 | -2147483648 或更小 | 2147483647 或更大 |
ULONG_MAX | unsigned long 的最大值 | 0 | 4294967295 或更大 |
LLONG_MIN | long long 的最小值 | -9223372036854775808 | 9223372036854775807 |
LLONG_MAX | long long 的最大值 | -9223372036854775808 | 9223372036854775807 |
ULLONG_MAX | unsigned long long 的最大值 | 0 | 18446744073709551615 |
1.2 Windows
https://learn.microsoft.com/zh-cn/windows/win32/winprog/windows-data-types
只列举了常见的,完整的直接去看对应的头文件即可,一般都只有几百行。
很多定义看起来和C语言的定义是重复的,原因主要有:
- 历史原因,Windows开发并不是和C语言标准的制定是同步的,比如Windows用int作为BOOL。
- 兼容性:Windows操作系统需要与多种编译器和平台一起工作,包括不仅限于Microsoft Visual C++编译器。
- 增加程序可读性。
1.21 WinDef.h --> minwindef.h / winnt.h
windef.h -- Basic Windows Type Definitions
minwindef.h -- Basic Windows Type Definitions for minwin partition
winnt.h --This module defines the 32-Bit Windows types and constants that are
defined by NT, but exposed through the Win32 API.
windef.h
是Windows API的基本类型定义文件,它包含了一些常用的数据类型,宏,结构体等。windef.h实际上是包含了以下几个头文件的:
-
minwindef.h
:这个头文件定义了一些基本的数据类型,如BYTE, WORD, DWORD, BOOL等,以及一些常用的数学函数的宏,如max和min。 -
winnt.h
:这个头文件定义了一些与Windows NT操作系统相关的数据类型和函数,如HANDLE, PVOID, NTSTATUS等。
-
minwindef.h
:
数据类型 | 大小 (字节) | 简介 | 原始类型 |
---|---|---|---|
BOOL | 4 | 布尔值(真或假) | int |
BYTE | 1 | 无符号8位整数 | unsigned char |
CHAR | 1 | 8位字符 | char |
INT | 4 | 32位有符号整数 | int |
UINT | 4 | 32位无符号整数 | unsigned int |
LONG | 4 | 32位有符号长整数 | long |
ULONG | 4 | 32位无符号长整数 | unsigned long |
DWORD | 4 | 32位无符号长整数(常用于表示大小和计数) | unsigned long |
WORD | 2 | 16位无符号整数 | unsigned short |
SHORT | 2 | 16位有符号整数 | short |
USHORT | 2 | 16位无符号短整数 | unsigned short |
FLOAT | 4 | 单精度浮点数 | float |
DOUBLE | 8 | 双精度浮点数 | double |
LONGLONG | 8 | 64位有符号长长整数 | long long |
ULONGLONG | 8 | 64位无符号长长整数 | unsigned long long |
LARGE_INTEGER | 8 | 64位有符号长长整数(用于大整数操作) | union |
-
winnt.h
:
数据类型 | 大小 (字节) | 简介 | 原始类型 |
---|---|---|---|
BOOLEAN | 1 | 布尔值 (TRUE 或 FALSE) | unsigned char |
CHAR | 1 | 8位有符号字符 | char |
UCHAR | 1 | 8位无符号字符 | unsigned char |
SHORT | 2 | 16位有符号短整数 | short |
USHORT | 2 | 16位无符号短整数 | unsigned short |
INT | 4 | 32位有符号整数 | int |
UINT | 4 | 32位无符号整数 | unsigned int |
LONG | 4 | 32位有符号长整数 | long |
ULONG | 4 | 32位无符号长整数 | unsigned long |
LONGLONG | 8 | 64位有符号长长整数 | __int64 |
ULONGLONG | 8 | 64位无符号长长整数 | unsigned __int64 |
FLOAT | 4 | 单精度浮点数 | float |
DOUBLE | 8 | 双精度浮点数 | double |
VOID | N/A | 无类型 | N/A |
PVOID | N/A | 指向VOID的指针 | N/A |
PVOID64 | N/A | 64位指向VOID的指针 | N/A |
HANDLE | N/A | 句柄,通常用于句柄类型的对象 | N/A |
HMODULE | N/A | 模块句柄,通常用于DLL模块 | N/A |
1.22 BaseTsd.h
Module Name:
basetsd.h
Abstract:
Type definitions for the basic sized types.
数据类型 | 大小 (字节) | 简介 | 原始类型 |
---|---|---|---|
INT8 | 1 | 有符号 8 位整数 | char |
INT16 | 2 | 有符号 16 位整数 | short |
INT32 | 4 | 有符号 32 位整数 | int |
INT64 | 8 | 有符号 64 位整数 | long long |
UINT8 | 1 | 无符号 8 位整数 | unsigned char |
UINT16 | 2 | 无符号 16 位整数 | unsigned short |
UINT32 | 4 | 无符号 32 位整数 | unsigned int |
UINT64 | 8 | 无符号 64 位整数 | unsigned long long |
INT_PTR | 变量 | 与指针大小相同的有符号整数 | - |
UINT_PTR | 变量 | 与指针大小相同的无符号整数 | - |
LONG_PTR | 变量 | 与指针大小相同的有符号长整数 | - |
ULONG_PTR | 变量 | 与指针大小相同的无符号长整数 | - |
SSIZE_T | 变量 | 有符号大小,足够大以容纳指针的有符号整数 | - |
SIZE_T | 变量 | 无符号大小,足够大以容纳指针的无符号整数 | - |
1.23 winerror.h
这个头文件包含了大量的错误码定义,用于在Windows编程中处理各种错误和异常情况。这些错误码以常量的方式定义,以便在编程中引用。
在Windows编程中,通常还会使用函数如 FormatMessage 来将错误码转换为人类可读的错误消息,以便更好地诊断问题。
没必要记:
错误码常量 | 描述 |
---|---|
ERROR_SUCCESS | 操作成功完成 |
ERROR_INVALID_FUNCTION | 无效的函数 |
ERROR_FILE_NOT_FOUND | 找不到指定的文件 |
ERROR_PATH_NOT_FOUND | 找不到指定的路径 |
ERROR_TOO_MANY_OPEN_FILES | 打开的文件过多 |
ERROR_ACCESS_DENIED | 访问被拒绝 |
ERROR_INVALID_HANDLE | 无效的句柄 |
ERROR_NOT_ENOUGH_MEMORY | 内存不足 |
ERROR_INVALID_PARAMETER | 无效的参数 |
ERROR_BAD_COMMAND | 无效的命令 |
ERROR_NO_MORE_FILES | 没有更多的文件可以使用 |
ERROR_WRITE_PROTECT | 写保护 |
ERROR_NOT_READY | 设备未就绪 |
ERROR_CRC | 数据校验错误 |
ERROR_READ_FAULT | 读取错误 |
ERROR_GEN_FAILURE | 一般性失败 |
ERROR_SHARING_VIOLATION | 共享冲突 |
ERROR_LOCK_VIOLATION | 锁定冲突 |
ERROR_HANDLE_DISK_FULL | 句柄或磁盘空间不足 |
ERROR_NOT_SUPPORTED | 不支持的功能或操作 |
ERROR_INVALID_PARAMETER | 无效的参数 |
ERROR_INSUFFICIENT_BUFFER | 缓冲区不足 |
ERROR_ALREADY_EXISTS | 已存在 |
ERROR_FILE_EXISTS | 文件已存在 |
ERROR_BUSY | 设备或文件正在使用中 |
ERROR_TIMEOUT | 操作超时 |
ERROR_NO_MORE_ITEMS | 没有更多的项目 |
ERROR_DIRECTORY | 目录 |
ERROR_NOT_OWNER | 不是所有者 |
ERROR_TOO_MANY_POSTS | 发送的消息太多 |
ERROR_PARTIAL_COPY | 部分复制 |
ERROR_ARITHMETIC_OVERFLOW | 算术溢出 |
ERROR_PIPE_CONNECTED | 管道已连接 |
ERROR_PIPE_LISTENING | 管道正在监听 |
ERROR_PIPE_NOT_CONNECTED | 管道未连接 |
ERROR_INVALID_DATA | 无效的数据 |
ERROR_PIPE_BUSY | 管道忙 |
ERROR_NO_DATA | 没有可用数据 |
ERROR_PIPE_NOT_CONNECTED | 管道未连接 |
ERROR_MORE_DATA | 还有更多数据可用 |
ERROR_NO_SIGNAL_SENT | 没有发送信号 |
1.3 Unix / Linux
C语言标准变量类型在Linux下也有“别名”,定义在<sys/types.h>
等头文件中
C语言变量类型 | Linux下的别名 |
---|---|
char | int8_t |
unsigned char | uint8_t |
short | int16_t |
unsigned short | uint16_t |
int | int32_t |
unsigned int | uint32_t |
long long | int64_t |
unsigned long long | uint64_t |
通常,在特定系统下,使用相应的C语言变量“别名”是为了增强代码可读性和可移植性。 意思是说:使用C语言标准变量名在不同系统中的大小可能不同,使用“别名”可以很明了地看出来对应的变量大小,比如INT8
、int8_t
,当你想把它移植到别的系统时可以减少犯错的几率(溢出、截断、对齐)。
二、转义与格式控制
2.1 转义
转义字符用于在字符串常量和字符常量中插入特殊字符,或者用于表示无法直接键入的字符。例如,\n
用于表示换行,\t
用于表示水平制表符,\\
用于表示反斜线等。不同编程环境和字符集可能会有一些额外的转义字符或特殊规则,下面是C语言标准中定义的常见转义字符。
转义字符 | 含义 |
---|---|
\\ |
反斜线 |
\' |
单引号 |
\" |
双引号 |
\a |
响铃 |
\b |
退格 |
\f |
换页 |
\n |
换行 |
\r |
回车 |
\t |
水平制表符(tab) |
\v |
垂直制表符 |
\? |
问号(用于避免与trigraph序列冲突) |
\0 |
空字符(NULL字符) |
\xhh |
十六进制字符(其中hh 是两位十六进制数字) |
\ooo |
八进制字符(其中ooo 是三位八进制数字) |
百分号是
%%
,如printf("12.5%%")
;
三个主要的操作系统(Unix/Linux、Windows和macOS)在处理文本文件时使用不同的行结束符:
- Unix/Linux:
- 行结束符:\n(换行符,ASCII码为10)。 Unix和Linux操作系统通常使用换行符 \n 来表示行结束。
- Windows:
- 行结束符:\r\n(回车符+换行符,即CR LF,ASCII码为13后跟10)。 Windows操作系统通常使用回车符 \r 后跟换行符 \n 来表示行结束。
- macOS:
- 行结束符:\r(回车符,ASCII码为13)。 早期的macOS系统(如Mac OS 9及更早版本)使用回车符 \r来表示行结束。但是,现代的macOS系统也可以识别 \n 作为行结束符,因此通常可以与Unix/Linux兼容。
2.2 格式控制
本都是缩写:
整数类型格式控制符:
格式控制符 | 描述 |
---|---|
%d |
以十进制形式输出有符号整数。 |
%i |
以十进制形式输出有符号整数。 (可以将其他进制转为十进制输出) |
%u |
以十进制形式输出无符号整数。 |
%o |
以八进制形式输出整数。 |
%x |
以十六进制形式输出整数(小写字母)。 |
%X | 以十六进制形式输出整数(大写字母)。 |
%ld | 以长整型十进制形式输出有符号长整数。 |
%lu | 以长整型十进制形式输出无符号长整数。 |
%lo | 以长整型八进制形式输出长整数。 |
%lx | 以长整型十六进制形式输出长整数(小写字母)。 |
%lX | 以长整型十六进制形式输出长整数(大写字母)。 |
%lld | 以长长整型十进制形式输出有符号长长整数。 |
%llu | 以长长整型十进制形式输出无符号长长整数。 |
%llo | 以长长整型八进制形式输出长长整数。 |
%llx | 以长长整型十六进制形式输出长长整数(小写字母)。 |
%llX | 以长长整型十六进制形式输出长长整数(大写字母)。 |
%hhd | 以有符号字符型十进制形式输出字符。 |
%hhu | 以无符号字符型十进制形式输出字符。 |
%hho | 以有符号字符型八进制形式输出字符。 |
%hhx | 以有符号字符型十六进制形式输出字符(小写字母)。 |
%hhX | 以有符号字符型十六进制形式输出字符(大写字母)。 |
%jd | 以intmax_t类型的十进制形式输出整数。 |
%ju | 以uintmax_t类型的十进制形式输出整数。 |
%jo | 以intmax_t类型的八进制形式输出整数。 |
%jx | 以intmax_t类型的十六进制形式输出整数(小写字母)。 |
%jX | 以intmax_t类型的十六进制形式输出整数(大写字母)。 |
%zd |
以size_t类型的十进制形式输出整数。(有符号) |
%zu |
以size_t类型的十进制形式输出整数。 (无符号) |
%zo | 以size_t类型的八进制形式输出整数。 |
%zx | 以size_t类型的十六进制形式输出整数(小写字母)。 |
%zX | 以size_t类型的十六进制形式输出整数(大写字母)。 |
%td | 以ptrdiff_t类型的十进制形式输出整数。 |
%tu | 以ptrdiff_t类型的十进制形式输出整数。 |
%to | 以ptrdiff_t类型的八进制形式输出整数。 |
%tx | 以ptrdiff_t类型的十六进制形式输出整数(小写字母)。 |
%tX | 以ptrdiff_t类型的十六进制形式输出整数(大写字母)。 |
浮点数类型格式控制符:
格式控制符 | 描述 |
---|---|
%f |
以浮点数形式输出实数。 |
%e | 以科学计数法形式输出实数(小写字母e)。 |
%E | 以科学计数法形式输出实数(大写字母E)。 |
%g | 以%e或%f中较短的形式输出实数。 |
%G | 以%E或%f中较短的形式输出实数。 |
%a | 以十六进制浮点数形式输出实数(小写字母a)。 |
%A | 以十六进制浮点数形式输出实数(大写字母A)。 |
字符类型和字符串类型格式控制符:
格式控制符 | 描述 |
---|---|
%c |
输出一个字符。 |
%s |
输出字符串。 |
指针类型格式控制符:文章来源:https://www.toymoban.com/news/detail-768041.html
格式控制符 | 描述 |
---|---|
%p |
输出指针的地址。 |
三、ASCII 码
ASCII
(American Standard Code for Information Interchange):美国信息交换标准代码,是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,并等同于国际标准 ISO/IEC 646。ASCII第一次以规范标准的类型发表是在1967年,最后一次更新则是在1986年,到目前为止共定义了128个字符。文章来源地址https://www.toymoban.com/news/detail-768041.html
Bin(二进制) | Oct(八进制) | Dec(十进制) | Hex(十六进制) | 缩写/字符 | 解释 |
---|---|---|---|---|---|
0000 0000 | 00 | 0 | 0x00 | NUL(null) | 空字符 |
0000 0001 | 01 | 1 | 0x01 | SOH(start of headline) | 标题开始 |
0000 0010 | 02 | 2 | 0x02 | STX (start of text) | 正文开始 |
0000 0011 | 03 | 3 | 0x03 | ETX (end of text) | 正文结束 |
0000 0100 | 04 | 4 | 0x04 | EOT (end of transmission) | 传输结束 |
0000 0101 | 05 | 5 | 0x05 | ENQ (enquiry) | 请求 |
0000 0110 | 06 | 6 | 0x06 | ACK (acknowledge) | 收到通知 |
0000 0111 | 07 | 7 | 0x07 | BEL (bell) | 响铃 |
0000 1000 | 010 | 8 | 0x08 | BS (backspace) | 退格 |
0000 1001 | 011 | 9 | 0x09 | HT (horizontal tab) | 水平制表符 |
0000 1010 | 012 | 10 | 0x0A | LF (NL line feed, new line) | 换行键 |
0000 1011 | 013 | 11 | 0x0B | VT (vertical tab) | 垂直制表符 |
0000 1100 | 014 | 12 | 0x0C | FF (NP form feed, new page) | 换页键 |
0000 1101 | 015 | 13 | 0x0D | CR (carriage return) | 回车键 |
0000 1110 | 016 | 14 | 0x0E | SO (shift out) | 不用切换 |
0000 1111 | 017 | 15 | 0x0F | SI (shift in) | 启用切换 |
0001 0000 | 020 | 16 | 0x10 | DLE (data link escape) | 数据链路转义 |
0001 0001 | 021 | 17 | 0x11 | DC1 (device control 1) | 设备控制1 |
0001 0010 | 022 | 18 | 0x12 | DC2 (device control 2) | 设备控制2 |
0001 0011 | 023 | 19 | 0x13 | DC3 (device control 3) | 设备控制3 |
0001 0100 | 024 | 20 | 0x14 | DC4 (device control 4) | 设备控制4 |
0001 0101 | 025 | 21 | 0x15 | NAK (negative acknowledge) | 拒绝接收 |
0001 0110 | 026 | 22 | 0x16 | SYN (synchronous idle) | 同步空闲 |
0001 0111 | 027 | 23 | 0x17 | ETB (end of trans. block) | 结束传输块 |
0001 1000 | 030 | 24 | 0x18 | CAN (cancel) | 取消 |
0001 1001 | 031 | 25 | 0x19 | EM (end of medium) | 媒介结束 |
0001 1010 | 032 | 26 | 0x1A | SUB (substitute) | 代替 |
0001 1011 | 033 | 27 | 0x1B | ESC (escape) | 换码(溢出) |
0001 1100 | 034 | 28 | 0x1C | FS (file separator) | 文件分隔符 |
0001 1101 | 035 | 29 | 0x1D | GS (group separator) | 分组符 |
0001 1110 | 036 | 30 | 0x1E | RS (record separator) | 记录分隔符 |
0001 1111 | 037 | 31 | 0x1F | US (unit separator) | 单元分隔符 |
0010 0000 | 040 | 32 | 0x20 | (space) | 空格 |
0010 0001 | 041 | 33 | 0x21 | ! | 叹号 |
0010 0010 | 042 | 34 | 0x22 | " | 双引号 |
0010 0011 | 043 | 35 | 0x23 | # | 井号 |
0010 0100 | 044 | 36 | 0x24 | $ | 美元符 |
0010 0101 | 045 | 37 | 0x25 | % | 百分号 |
0010 0110 | 046 | 38 | 0x26 | & | 和号 |
0010 0111 | 047 | 39 | 0x27 | ’ | 闭单引号 |
0010 1000 | 050 | 40 | 0x28 | ( | 开括号 |
0010 1001 | 051 | 41 | 0x29 | ) | 闭括号 |
0010 1010 | 052 | 42 | 0x2A | * | 星号 |
0010 1011 | 053 | 43 | 0x2B | + | 加号 |
0010 1100 | 054 | 44 | 0x2C | , | 逗号 |
0010 1101 | 055 | 45 | 0x2D | - | 减号/破折号 |
0010 1110 | 056 | 46 | 0x2E | . | 句号 |
0010 1111 | 057 | 47 | 0x2F | / | 斜杠 |
0011 0000 | 060 | 48 |
0x30 | 0 | 字符0 |
0011 0001 | 061 | 49 | 0x31 | 1 | 字符1 |
0011 0010 | 062 | 50 | 0x32 | 2 | 字符2 |
0011 0011 | 063 | 51 | 0x33 | 3 | 字符3 |
0011 0100 | 064 | 52 | 0x34 | 4 | 字符4 |
0011 0101 | 065 | 53 | 0x35 | 5 | 字符5 |
0011 0110 | 066 | 54 | 0x36 | 6 | 字符6 |
0011 0111 | 067 | 55 | 0x37 | 7 | 字符7 |
0011 1000 | 070 | 56 | 0x38 | 8 | 字符8 |
0011 1001 | 071 | 57 | 0x39 | 9 | 字符9 |
0011 1010 | 072 | 58 | 0x3A | : | 冒号 |
0011 1011 | 073 | 59 | 0x3B | ; | 分号 |
0011 1100 | 074 | 60 | 0x3C | < | 小于 |
0011 1101 | 075 | 61 | 0x3D | = | 等号 |
0011 1110 | 076 | 62 | 0x3E | > | 大于 |
0011 1111 | 077 | 63 | 0x3F | ? | 问号 |
0100 0000 | 0100 | 64 | 0x40 | @ | 电子邮件符号 |
0100 0001 | 0101 | 65 |
0x41 | A |
大写字母A |
0100 0010 | 0102 | 66 | 0x42 | B | 大写字母B |
0100 0011 | 0103 | 67 | 0x43 | C | 大写字母C |
0100 0100 | 0104 | 68 | 0x44 | D | 大写字母D |
0100 0101 | 0105 | 69 | 0x45 | E | 大写字母E |
0100 0110 | 0106 | 70 | 0x46 | F | 大写字母F |
0100 0111 | 0107 | 71 | 0x47 | G | 大写字母G |
0100 1000 | 0110 | 72 | 0x48 | H | 大写字母H |
0100 1001 | 0111 | 73 | 0x49 | I | 大写字母I |
01001010 | 0112 | 74 | 0x4A | J | 大写字母J |
0100 1011 | 0113 | 75 | 0x4B | K | 大写字母K |
0100 1100 | 0114 | 76 | 0x4C | L | 大写字母L |
0100 1101 | 0115 | 77 | 0x4D | M | 大写字母M |
0100 1110 | 0116 | 78 | 0x4E | N | 大写字母N |
0100 1111 | 0117 | 79 | 0x4F | O | 大写字母O |
0101 0000 | 0120 | 80 | 0x50 | P | 大写字母P |
0101 0001 | 0121 | 81 | 0x51 | Q | 大写字母Q |
0101 0010 | 0122 | 82 | 0x52 | R | 大写字母R |
0101 0011 | 0123 | 83 | 0x53 | S | 大写字母S |
0101 0100 | 0124 | 84 | 0x54 | T | 大写字母T |
0101 0101 | 0125 | 85 | 0x55 | U | 大写字母U |
0101 0110 | 0126 | 86 | 0x56 | V | 大写字母V |
0101 0111 | 0127 | 87 | 0x57 | W | 大写字母W |
0101 1000 | 0130 | 88 | 0x58 | X | 大写字母X |
0101 1001 | 0131 | 89 | 0x59 | Y | 大写字母Y |
0101 1010 | 0132 | 90 |
0x5A | Z |
大写字母Z |
0101 1011 | 0133 | 91 | 0x5B | [ | 开方括号 |
0101 1100 | 0134 | 92 | 0x5C | \ | 反斜杠 |
0101 1101 | 0135 | 93 | 0x5D | ] | 闭方括号 |
0101 1110 | 0136 | 94 | 0x5E | ^ | 脱字符 |
0101 1111 | 0137 | 95 | 0x5F | _ | 下划线 |
0110 0000 | 0140 | 96 | 0x60 | ` | 开单引号 |
0110 0001 | 0141 | 97 |
0x61 | a |
小写字母a |
0110 0010 | 0142 | 98 | 0x62 | b | 小写字母b |
0110 0011 | 0143 | 99 | 0x63 | c | 小写字母c |
0110 0100 | 0144 | 100 | 0x64 | d | 小写字母d |
0110 0101 | 0145 | 101 | 0x65 | e | 小写字母e |
0110 0110 | 0146 | 102 | 0x66 | f | 小写字母f |
0110 0111 | 0147 | 103 | 0x67 | g | 小写字母g |
0110 1000 | 0150 | 104 | 0x68 | h | 小写字母h |
0110 1001 | 0151 | 105 | 0x69 | i | 小写字母i |
0110 1010 | 0152 | 106 | 0x6A | j | 小写字母j |
0110 1011 | 0153 | 107 | 0x6B | k | 小写字母k |
0110 1100 | 0154 | 108 | 0x6C | l | 小写字母l |
0110 1101 | 0155 | 109 | 0x6D | m | 小写字母m |
0110 1110 | 0156 | 110 | 0x6E | n | 小写字母n |
0110 1111 | 0157 | 111 | 0x6F | o | 小写字母o |
0111 0000 | 0160 | 112 | 0x70 | p | 小写字母p |
0111 0001 | 0161 | 113 | 0x71 | q | 小写字母q |
0111 0010 | 0162 | 114 | 0x72 | r | 小写字母r |
0111 0011 | 0163 | 115 | 0x73 | s | 小写字母s |
0111 0100 | 0164 | 116 | 0x74 | t | 小写字母t |
0111 0101 | 0165 | 117 | 0x75 | u | 小写字母u |
0111 0110 | 0166 | 118 | 0x76 | v | 小写字母v |
0111 0111 | 0167 | 119 | 0x77 | w | 小写字母w |
0111 1000 | 0170 | 120 | 0x78 | x | 小写字母x |
0111 1001 | 0171 | 121 | 0x79 | y | 小写字母y |
0111 1010 | 0172 | 122 |
0x7A | z |
小写字母z |
0111 1011 | 0173 | 123 | 0x7B | { | 开花括号 |
0111 1100 | 0174 | 124 | 0x7C | | | 垂线 |
0111 1101 | 0175 | 125 | 0x7D | } | 闭花括号 |
0111 1110 | 0176 | 126 | 0x7E | ~ | 波浪号 |
0111 1111 | 0177 | 127 | 0x7F | DEL (delete) | 删除 |
到了这里,关于【C语言速查表】数据类型、转义与格式控制、ascii码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!