C语言-字符类型

本文详细介绍了C语言中的字符类型、ASCII码的含义与应用、字符与整数的数学运算,以及signed和unsigned修饰符的区别,最后讨论了转义字符的使用。
摘要由CSDN通过智能技术生成

一、什么是字符类型

  C语言使用char类型来表示一个字符,并且C语言是没有字符串类型的,我们通常使用字符数组来表示字符串。

每个字符变量,在16位、32位或64位编译器中都是占用 1 个字节(=8位)

二、普通表达

字符型变量赋值时,需要用一对英文半角格式的单引号('')把字符括起来。

  例如:

char c = 'A'; // 定义一个char类型的变量c,并将'A'赋值给c

三、ASCll码值

1.什么是ASCll码

ASCII码:上个世纪60年代,美国制定了一套字符编码,对英语字符二进制位之间的关系,做了统一规定。这被称为ASCII码。ASCII码一共规定了127个字符的编码,比如空格“SPACE”是32(二进制00100000),大写的字母A是65(二进制01000001)。这128个符号(包括32个不能打印出来的控制符号),只占用了一个字节的后面7位,最前面的1位统一规定为0,也就是说,ASCII虽然用8位二进制编码表示字符,但是其有效位为7位

  常见的ASCII值与对应的字符如下:(ASCII数值范围为0-127)

在这里插入图片描述

2.实例

Ⅰ.两个字符类型可以做数学运算

char类型中的每个字符对应着一个ASCII码,因为ASCII码是一个数值,所以char类型的变量可以参与+-*/的运算。

  例如:

char a = 'a'; // ASCll码值为:97
char b = 'b'; // ASCll码值为:98
printf("%d", a + b); // a + b 结果为 195

Ⅱ.字符’65’和整数65

  前面我们已经了解了ASCll表,所以很显然,字符’65’就是字符’65’,而整数65还有另外一个身份,那就是字符’A’

char a = '65';
char b = 65;
printf("%c", a); // 打印为 65
printf("%c", b); // 打印为 A

  再比如:

char c='?'; // 定义c为字符型变量并使初值为字符'?'。'?'的ASCII代码是63,系统把整数63赋给变量c
printf("%d %c\n",c,c); // 用"%d"格式输出十进制整数63,用"%c"格式输出字符'?'

四、signed 和 unsigned 修饰

  根据C90标准,C语言允许在关键字char前面使用signed或unsigned

signed char c; // 范围为 -128 到 127
unsigned char c; // 范围为 0 到 255

C 语言规定 char 类型默认是否带有正负号,由当前系统决定,这一点与 int 不同, int 等同于 signed int 。这就是说, char 不等同于signed char ,它有可能是 signed char(范围-128 到 127) ,也有可能是 unsigned char (范围0 到255)。不管是哪种,范围都正好都能覆盖 0 到 127 的 ASCII 字符范围

五、转义字符

  使用反斜杠\来转义

字符形式含义
\n换行符(光标移动到下行行首)
\t水平制表符,光标移到下一个Tab位置
\'单引号字符 ’
\"双引号字符 "
\\反斜杠字符 ’\’
\r回车符,光标移到本行开头
\0null 字符,代表没有内容。注意,这个值不等于数字0。
\b退格键,光标回退一个字符,但不删除字符
  • 24
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值