文章目录

  • ​​1、字符就是整数​​
  • ​​2、为什么C语言需要字符类型​​
  • ​​3、获取视频教程​​
  • ​​4、版权声明​​

1、字符就是整数

字符和整数没有本质的区别。可以给 char变量一个字符,也可以给它一个整数;反过来,可以给 int变量一个整数,也可以给它一个字符。

char 变量在内存中存储的是字符对应的 ASCII 码值。如果以 %c 输出,会根据 ASCII码表转换成对应的字符,如果以 %d 输出,那么还是整数。

int 变量在内存中存储的是整数本身,如果以 %c 输出时,也会根据 ASCII码表转换成对应的字符。

也就是说,ASCII 码表将整数和字符关联起来了。

char类型占内存一个字节,signed char取值范围是-128-127,unsigned char取值范围是0-255。

如果整数大于255,那么整数还是字符吗?

描述再准确一些,在char的取值范围内(0-255),字符和整数没有本质区别。

字符肯定是整数,0-255范围内的整数是字符,大于255的整数不是字符。

示例

/*
* 程序名:book68.c,此程序演示字符与整数的关系
* 作者:C语言技术网(www.freecplus.net) 日期:20190525
*/
#include <stdio.h>

int main()
{
char a = 'E';
char b = 70;
int c = 71;
int d = 'H';

printf("a=%c, a=%d\n", a, a);
printf("b=%c, b=%d\n", b, b);
printf("c=%c, c=%d\n", c, c);
printf("d=%c, d=%d\n", d, d);
}

运行效果

C语言字符型char和整型int的关系和示例_字符和整数的关系

在ASCII码表中,E、F、G、H 的值分别是 69、70、71、72。

2、为什么C语言需要字符类型

既然char的本质是整数,那C语言中为什么还需要char类型呢?

因为字符的个数不多,而char型变量占用的存储空间比int型变量小,所以用char型变量表示字符,为编程带来了方便。

作者:码农有道