C语言:ASCII码表和字符操作

06-02 1339阅读

目录

目录

1. 引言        

2. ASCII码表

2.1 控制字符

2.2 可显示字符

3. 例子

3.1 相关函数

3.2 打印能够显示的 ASCII码

3.3 字母大小写转换

3.4 数字转数字字符


1. 引言        

        因为计算机只是认识 0 和 1组成的一串串的二进制数字,为了将人类认识的文本字符和控制字符在计算机中存储,所以要对这些文本字符和控制字符进行编码存入计算机中,当需要将这些字符显示给我们人类看的时候,对这些数字进行解码。

        ASCII (American Standard Code for Information Interchange),美国信息交换标准代码,就是一种字符编码,用于将文本字符和控制字符与数字进行映射。

2. ASCII码表

C语言:ASCII码表和字符操作

C语言:ASCII码表和字符操作

2.1 控制字符

       编码 [0, 31] 和 127 是控制字符,共 33 个字符是不可以打印的,其中编码 [0, 31] 这 32 个字符主要用于控制打印机等外围设备。 

2.2 可显示字符

        编码 [32, 126] 是可显示字符,也就是可以打印在屏幕上。记得以下几个编码规则,在 C语言对字符进行操作的时候,或许挺管用。

  • 大写字母 A ~ Z 的 ASCII码 65 ~ 90
  • 小写字母 a ~ z 的 ASCII码 97 ~ 122
  • 大写字母比小写字母的 ASCII码小 32 (0b00100000,0x20) ,比如: char c = 'a',小写字母变大写字母,c = c - 32 得到,也可以做位与操作,c = c & 0b11011111 得到
  • 数字字符 0 ~ 9 的 ASCII码 48 ~ 57,所以一个数字要转换成数字字符,只要将数字 加上 48 (0x30) 即可
  • 字符串的终止符为 '\0',ASCII 码为 0
  • 换行符 '\n' 的 ASCII码为 10 (0x0A)

    3. 例子

    3.1 相关函数

    #include

    void perror( const char *s );        // 依据最新的全局变量 errno 的值,输出错误信息到 stderr

    参数:

    s: 字符串首地址

    返回值:无

    说明:字符串 s 后会连接 “: ” 号,错误描述字符后会连接换行符 '\n'

    #include 
    int main() {
    	perror("Test");	// Test: No error
    	return 0;
    }

    #include

    int puts( const char *str );        // 将字符串输出到 stdou (t输出流)  [标准设备 (屏幕)] ,并换行

                                                    // 等价于 printf(str); printf("\n");

    参数: 

    str: 要输出的字符串首地址

    返回值:

    成功: 返回非负值。

    失败: 返回 EOF 并设置 stdout 的错误值和全局 errno, 可以通过 perror 函数打印错误信息

    说明:

    #define EOF    (-1)         // stdio.h 中有定义

    #include 
    #include 
    int main() {
    	int ret;
    	ret = puts("Hello World");    // 将字符串输出到标准输出流 stdout,并换行
    	if (ret == EOF) {
    		perror("puts()");
    		exit(EXIT_FAILURE);
    	}
    	return 0;
    }

    #include

    int putchar( int ch );        // 写字符 ch 到 stdout (标准输出流)

                                          // 等价于 putc(ch, stdout);

    参数:

    ch: 要写入的字符

    返回值

    成功:返回写入的字符

    失败:返回 EOF 并设置 stdout 的错误值和全局 errno, 可以通过 perror 函数打印错误信息

    #include 
    int main() {
    	putchar('a');	// 打印字符
    	return 0;
    }

    3.2 打印能够显示的 ASCII码

    #include 
    #include 
    int main() {
    	int ret = 0;
    	char temp = 0;
    	ret = puts("能显示的 ASCII 字符:");
    	if (ret == EOF) {
    		perror("puts()");
    		exit(EXIT_FAILURE);
    	}
    	for (int i = 32; i  
    

    C语言:ASCII码表和字符操作

    3.3 字母大小写转换

    #include 
    #include 
    int main() {
    	char str[] = "HelLO\0";
    	int ret = 0;
    	ret = puts(str);
    	if (ret == EOF) {
    		perror("puts()");
    		exit(EXIT_FAILURE);
    	}
    	// 都转为小写,小写字母的 ASCII码比大写字母大 32
    	char* p = str;
    	while (*p != 0) {
    		if (*p >= 65 && *p 
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

相关阅读

目录[+]

取消
微信二维码
微信二维码
支付宝二维码