【数据类型】char类型

目录

一、介绍

二、字符常量(character constant)和初始化

三、 非打印字符


一、介绍

1、功能:用于储存字符;表示较小的整数

  • 字符:用特定的整数表示

比如:ASCII码

  • 范围:0~127
  • 只需7位二进制数即可

2、本质:整数类型(因为char类型实际储存的是整数)

3、存储空间:8bit == 1byte

4、可在char前面加上signed或unsigned来指明具体使用哪一种类型


二、字符常量(character constant)和初始化

1、定义:用单引号括起来的单个字符

char broiled; //声明char类型变量
broiled = 'T; //‘T’是一个字符常量
broiled = T; //error, T是一个变量
broiled = "T"; //“T”是一个字符串

 2、字符是以数值形式储存的,可使用数字代码值来赋值

char broiled = 65;

3、C语言将字符常量视为int类型而非char类型

  • 可以把4个独立的8位ASCII码储存在一个32位存储单元中
  • 只有最后8位有效
#include <stdio.h>

int main() {
    char ch = 'FATE'; //32位,4字节
    printf("%c\n", ch); //E,仅最后1byte有效

    return 0;
}

三、 非打印字符

1、单引号只适用于字符、数字、标点符号

%c:待打印的字符%d:字符对应的ASCII码

'字符'

字符

对应的ASCII码

'数字'

位于个位的数字

对应的ASCII码

'标点符号'

标点符号

对应的ASCII码

数字

对应的ASCII值

数字

#include <stdio.h>

int main() {
    char a = 'a';
    printf("%c,%d\n", a, a); //a, 97
    char a = '12';
    printf("%c,%d\n", a, a); //2, 50
    char a = '.';
    printf("%c,%d\n", a, a); //.,46
    char a = 65;
    printf("%c,%d\n", a, a); //A, 65
}

2、表示方法

  • ASCII码
    • 蜂鸣字符的ASCII值为7,char beep = 7;
  • 使用转义序列表示一些特殊的字符
    • 必须用单引号把转义序列括起来

转义序列 /

转义字符

含义

\a

警报(ANSI C)

不改变活跃位置

\b

退格

输出控制字符

把活跃位置移至上一个字符处,覆盖输出

\f

换页

输出控制字符

把活跃位置移至下一页的开始处

输出到打印机上时才会产生前面描述的效果

\n

换行

输出控制字符

把活跃位置移至下一行的开始处

\r

回车

输出控制字符

把活跃位置移至当前行的开始处,覆盖输出

\t

水平制表符

输出控制字符

把活跃位置移至下一个水平制表点

(通常是第1个、第9个、第17个、第25个等字符位置)

\v

垂直制表符

输出控制字符

把活跃位置移至下一个垂直制表点

输出到打印机上时才会产生前面描述的效果

\\

反斜杠(\)

\'

单引号

\"

双引号

\?

问号

\0oo

八进制值

(oo必须是有效的八进制数,

即每个o可表示0~7中的一个数)

\xhh

十六进制值

(hh必须是有效的八进制数,

即每个o可表示0~f中的一个数)

                活跃位置(active position):显示设备(屏幕、电传打字机、打印机等)中下一个字符将出现的位置;屏幕光标位置 == 活跃位置

  • 无论是普通字符还是转义序列,只要是双引号括起来的字符集合,就无需用单引号括起来
    • 字符串:双引号中的字符集合
  • 尽量使用转义序列,这样写不仅好记,可移植性更高
  • '007'更清晰地表达程序员使用字符编码的意图,因为007可以嵌入C的字符串中
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值