关于字符的ASCII码

关于ASCII码

在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像a、b、c、d这样的52个字母(包括大写)以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII编码,统一规定了上述常用符号用哪些二进制数来表示。

ASCII码 大写字母 ASCII码 小写字母 ASCII码 数字字符
65 A 97 a 48 0
66 B 98 b 49 1
67 C 99 c 50 2
68 D 100 d 51 3
69 E 101 e 52 4
70 F 102 f 53 5
71 G 103 g 54 6
72 H 104 h 55 7
73 I 105 i 56 8
74 J 106 j 57 9
75 K 107 k
76 L 108 l
77 M 109 m
78 N 110 n
79 O 111 o
80 P 112 p
81 Q 113 q
82 R 114 r
83 S 115 s
84 T 116 t
85 U 117 u
86 V 118 v
87 W 119 w
88 X 120 x
89 Y 121 y
90 Z 122 z

注意字符的比较运算。

同学们需要注意,字符是可以比较的。
怎么比较呢?比如下例样例。

'a' > 'b'

只需要注意一点:字符的比较是按照ASCII来比较。
所以上面的这个样例,计算机其实在比较:65 > 66。所以这个比较表达式的结果是:
我们来看一个样例:

#include<bits/stdc++.h>
using namespace std;

int main(){

	if('a' > 'b'){
		cout<<"a的ASCII码大";
	}else{
		cout<<"b的ASCII码大";
	}
	
	return 0;
} 

如何判断一个字符是否是数字字符?

判断一个字符是否是数字字符的表达式:字符 >= '0' && 字符<= '9'

//注意字符是单引号,字符串是双引号。
#include<bits/stdc++.h>
using namespace std;

int main(){

	char c = '8';
	if(c >= '0' && c <= '9'){
		cout<<"c是一个数字字符。";
	}else{
		cout<<"c不是一个数字字符。";
	}
	
	return 0;
} 

如何判断一个字符是否是小写字母字符?

判断一个字符是否是数字字符的表达式:字符 >= 'a' && 字符<= 'z'

//注意字符是单引号,字符串是双引号。
#include<bits/stdc++.h>
using namespace std;

int main(){

	char c = 'a';
	if(c >= 'a' && c <= 'z'){
		cout<<"c是一个小写字符。";
	}else{
		cout<<"c不是一个小写字符。";
	}
	
	return 0;
} 

如何判断一个字符是否是大写字符?

判断一个字符是否是数字字符的表达式:字符 >= 'A' && 字符<= 'Z'

//注意字符是单引号,字符串是双引号。
#include<bits/stdc++.h>
using namespace std;

int main(){

	char c = 'B';
	if(c >= 'A' && c <= 'Z'){
		cout<<"c是一个数字字符。";
	}else{
		cout<<"c不是一个数字字符。";
	}
	
	return 0;
} 

关于字母的大小写转换

很多时候,我们需要将字符'a'在输出的时候,转成大写,也就是输出'A'。
常用的方法是char('a'-32)。
原因很简单,计算机在计算四则运算,如果涉及到字符。那么电脑在计算的时候,就会转成字符对应的ASCII码。
关于char('a'-32)的计算。
第一步:'a'查表得知为97。
第二步:97-32得到65。
第三步:char(65),为强转的意思。也就是把数字65强转为字符。那么我们去看表里面。65对应的正好是 'A'。

关于数字字符转数字的情况

这里很多同学会比较迷糊,需要知道的是'\(0\)' 和 \(0\) 是不同的两个数据。
'\(0\)'是字符数字,表示字符0。
0就是我们平常的数学上的0。
有什么区别呢?
'\(1\)'+\(3\)的计算,是'\(1\)'的\(ASCII\)码加\(3\),即得到\(49+3 = 52\)
\(1+3\)的计算就是数学上的计算,得到 \(4\)
怎么相互转呢?
'\(0\)' - '\(0\)' = \(0\)
'\(1\)' - '\(0\)' = \(1\)
'\(2\)' - '\(0\)' = \(2\)
'\(3\)' - '\(0\)' = \(3\)
'\(4\)' - '\(0\)' = \(4\)
'\(5\)' - '\(0\)' = \(5\)
'\(6\)' - '\(0\)' = \(6\)
'\(7\)' - '\(0\)' = \(7\)
'\(8\)' - '\(0\)' = \(8\)
'\(9\)' - '\(0\)' = \(9\)

posted @ 2022-11-04 08:52  程易。  阅读(748)  评论(0)    收藏  举报