|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
带你学C带你飞里变量的课后作业中代码题第2题
printf("打印五个字符:%c %c %c %c %c\n", 70, 105, 115, 104, 67);
其中的70,105,115,104,67这些是什么意思呢?
本帖最后由 jackz007 于 2021-3-15 01:37 编辑
这些数值都是 ASCII 编码。
凡是把数值按字符打印("%c")的,这个数值一定是字符的编码。
在电脑中,字符都是通过编码来表示的,其中,0~127 是 ASCII 码,电脑中用到的所有西文字符都包括在里面。例如,字符 '0' 的 ASCII 码是 48,'1' 的 ASCII 码是 49,字母 'A' 的 ASCII 码是 65,'B' 的 ASCII 码是 66,字母 'a' 的 ASCII 码是 97,'B' 的 ASCII 码是 98 等等。所以,从一定的意义上来说,字符就是数字,数字就是字符。
运行下面的代码就可以看到真相
【代码1】:
- #include <stdio.h>
- int main(void)
- {
- printf("%c : %d\n" , '0' , '0') ;
- printf("%c : %d\n" , '1' , '1') ;
- printf("%c : %d\n" , 'A' , 'A') ;
- printf("%c : %d\n" , 'B' , 'B') ;
- printf("%c : %d\n" , 'a' , 'a') ;
- printf("%c : %d\n" , 'b' , 'b') ;
- }
复制代码
【代码2】:
- #include <stdio.h>
- int main(void)
- {
- printf("%c : %d\n" , 48 , 48) ;
- printf("%c : %d\n" , 49 , 49) ;
- printf("%c : %d\n" , 65 , 65) ;
- printf("%c : %d\n" , 66 , 66) ;
- printf("%c : %d\n" , 97 , 97) ;
- printf("%c : %d\n" , 98 , 98) ;
- }
复制代码
编译、运行实况
- D:\00.Excise\C>g++ -o x x.c
- D:\00.Excise\C>x
- 0 : 48
- 1 : 49
- A : 65
- B : 66
- a : 97
- b : 98
- D:\00.Excise\C>
复制代码
通过编译、运行你会发现,虽然两个代码 "长相" 很不一样,但是,它们的运行结果完全相同,从而更加说明,数字就是字符,字符就是数字。
如果有兴趣,可以自行把ASCII 编码在 33 ~ 127 范围内的 ASCII 码字符都打印出来看看(0~32 都是不可见字符)。
|
|