初识C语言之详解char类型

一、预备知识

  1. 字符的定义:字符指类字形单位或符号,包括字母、数字、运算符号、标点符号和其他符号,以及一些功能性符号。在C语言中,用单引号括起来的单个字符被称为字符常量。用双引号括起来的内容被称为字符串字面量或字符串常量。注意:双引号中的字符和编译器自动加入末尾的\0字符,都作为字符串存储在内存中

  2. ASCII编码表:
    ASCII表


从ASCII表中可知,标准ASCII吗的范围是0~127.
0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符)32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字。
65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。
注意:ASCII表不需要记忆全部内容,只需要知道字符零的ASCII值以及大写A和小写a的ASCII值。当需要用到其他ASCII码时,直接查表即可。

  1. 宽窄字符与一个字符所占的字节数有关。如果一个字符只占一个字节,那么它就是窄字符;一个宽字符通常占两个字节。

二、char类型

  1. char类型用于存储字符。从本质上看,char类型存储的是整数而不是字符。因为计算机使用数字编码处理字符,即用特定的整数表示特定的字符。最常用的数字编码是ASCII编码。
    注意:在C语言中,只有 char 类型的窄字符才使用 ASCII 编码,char 类型的窄字符串、wchar_t 类型的宽字符和宽字符串都不使用 ASCII 编码!
    对于窄字符串,C语言并没有规定使用哪一种特定的编码,只要选用的编码能够适应当前的环境即可,所以,窄字符串的编码与操作系统和编译器有关。
    但是,可以肯定的说,在现代计算机中,窄字符串已经不再使用 ASCII 编码了

  2. C语言规定:无论时候32位操作系统还是64位操作系统,把1字节定义为char类型占用的位数

  3. C语言中如int、long、short等不指定signed或unsigned时都默认为signed,但char在标准中不指定为signed或unsigned,编译器可以编译为带符号的,也可以编译为不带符号的。

4.一般情况下,取值范围如下:
char : -128 ~ -127
signed char: -128 ~ -127
unsigned char : 0 ~ 255

三、声明与初始化

1、声明

声明char类型变量的方式与声明int类型变量的方式是相同的,代码如下:

char ch;//声明一个char类型的变量告诉编译器在内存中开辟一个字节大小的空间
char ch1, ch2; //声明两个char类型的变量,分别为ch1,ch2

2、字符常量和初始化

在C语言中,用单引号括起来的单个字符被称为字符常量。但是C语言把字符常量视为int类型。
字符变量初始化,代码如下:

char grade = 'a'; //声明一个char类型的变量,并为其赋值
char grade = a;  // 错误!此时T是一个变量
char grade = "a";  //错误!此时"a"是一个字符串

3、非打印字符

观察ASCII表会发现,一些ASCII字符是不能直接打印出来的,这是需要借助转义序列。C语言提供两种表示转义序列:

  1. 使用ASCII码表示,如换行符的ASCII值是10,代码如下:
char ch = 10;
  1. 使用特殊符号表示转义序列的含义,代码如下:
char ch = '\n'; // 把换行符赋值给字符常量

写在最后:本人编程初入门,上述讲解如有错误,请各位读者多多指教。

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值