C语言圣经学习心得 1.2.2 字符型变量

字符型变量(char)

一、定义

尽管编写代码时我们会用直观的字母或符号来表示字符,但每个字符本质上也是一个数值。字符变量一般用char表示,在内存中,它通常占1个字节,用于存储字符的ASCII码值(或其他字符编码方式)。一般char是有符号的,范围通常是从-128到127。在某些系统中,char可以被声明为无符号型,即 unsigned char,范围通常是从0到255。下面是ASCII码值0~127对应的字符。

17e6969f79c947799ff7972852453853.png

定义一个字符变量char ch = 'A'; (单引号表示一个字符)。ch在内存的数值用十六进制表示是41(代码中,通常在某数前面加0x来表明这个数是用十六进制,比如0x41,是十进制的65,即字符‘A’的ASCII码)。

因此,char也可直接定义成ASCII码值,例如:

int main() {

    char ch = 65; //或用十六进制表示:char ch =0x41,都表示字符A

    printf("Character representation of ch: %c\n", ch); //按字符格式打印ch

    return 0;

}

这样打印出来的结果也是A,只是不那么直观。

 

Tips:

下面展示了常用的printf()格式化打印从底层原理上看,所有变量都是二进制存储的数值,但printf()中可使用格式说明符,将同一数值按不同格式类型打印。例如,%c表示按字符格式打印参数,上面程序打印就显示字符A。如果你希望打印此字符变量的整数值而不是字符,可以使用 %d 格式说明符;%x则用于按16进制打印。举个例子:

6c26e9126690400e8db7c24b81acf283.png

457731c58a9b421886d80923a1daecca.png

如果需要依次打印多个变量的值,可以这样:printf(" %d\t%d\n", fahr, celsius); 来打印两个整数 fahr 与 celsius 的值,并在两者之间留一个制表符的空间(\t)。

二、示例

字符常用的加减运算,也是在ASCII码数值的基础上进行的。比如两字符相减‘9’-‘0’的含义就是57减去48,结果是整数值9;‘C’-‘A’即67 – 65,结果是2。举一个实际应用的例子:

a947c5e9a65a49eea4b46338a8c1fcf9.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值