C语言中ASCII码的场景和注意事项

一、ASCII码简介

ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号,以及在美式英语中使用的特殊控制字符。
来源:百度百科

二、使用场景

(一)字符比较
#include <stdio.h>
int main() {
    char ch1 = 'a';
    char ch2 = 'b';
    if (ch1 < ch2) {
        printf("ch1 < ch2\n");
    } else {
        printf("ch1 >= ch2\n");
    }
    return 0;
}

输出:ch1 < ch2,因为'a'的ASCII码值小于'b'

(二)大小写转换
#include <stdio.h>
int main() {
    char ch = 'A';
    char lower = ch + 32; // 大写转小写
    printf("大写:%c\n", ch);
    printf("小写:%c\n", lower);
    return 0;
}

输出:

大写:A
小写:a

‘A’ 的ASCII码值加上32,等于 ‘a’ 的ASCII码值

(三)字符和数字转换
#include <stdio.h>
int main() {
    char ch = '5';
    int num = ch - '0'; // 字符转数字
    printf("字符:%c\n", ch);
    printf("数字:%d\n", num);
    return 0;
}

输出:

字符:5
数字:5

整形 num 存的是ch-'5'的ASCII码值,相当于'5'-'0'的ASCII码值,然后%d直接打印出来

(四)字符数组操作
#include <stdio.h>
int main() {
    char str[] = "hello world";
    char target = 'l';
    int count = 0;
    for (int i = 0; str[i] != '\0'; i++) {
        if (str[i] == target) {
            count++;
        }
    }
    printf("字符'%c'出现次数:%d\n", target, count);
    return 0;
}

输出:字符'l'出现次数:3

三、注意事项

(一)字符的范围

ASCII码只能表示128个字符,超出范围的字符(如中文)无法表示。

(二)字符和整数容易混淆
char ch = 'a';
int num = ch; // num 是 'a' 的 ASCII 码值
printf("%d\n", num); // 输出 97

注意字符和其ASCII码值的区别。

(三)编码环境的影响

不同环境可能使用不同编码,需确保编码一致性。

(四)字符运算受到限制
char ch = 'a';
char result = ch + 26; 
printf("%c\n", result); 

字符运算需谨慎,避免结果超出有效范围。

本篇内容旨在简单的讲解ASCII码的各种使用场景和方式以及注意事项。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值