char简介  

  char是C/C++中的基本数据类型,可容纳单个字符的一种基本数据类型。

  char占一个字节,也就是8个bit(二进制位),0000 0000 ~ 1111 1111,在无符号类型时char表示的范围是0~255,在有符号类型时char表示的范围是-128~127,可以表示256个整数。

注:  

  char这种数据类型和其他的基本数据类型有所不同,char在标准中是unsigned,是有符号的,也就是有正负之分的,而其他的基本数据类型默认是signed无符号类型的。

  字符类型里的整数被分成两组,每组128个:

    其中的一组里的字符两种表示方式之间的对应关系在所有计算机上都是一样的,它们对应整数的范围从0到127。

    另一组里的字符两种表示方式之间的对应关系在不同的计算机上可能不一样,它们对应的整数范围可能从-128到-1也可能从128到255。

  字符类型(char)是整数类型,在内存单元中以整数形式存放。所以字符类型也可以进行运算。

判断编译器默认的char符号:

#include <stdio.h>

int main(void)
{
char c = -;
if (c < ) {
printf("signed\n");
} else {
printf("unsigned\n");
}
return ;
}

ASCII码:

  说到char就会提到ASCII码。

  我们平常使用的是标准ASCII码,也叫基础ASCII码,使用7位二进制数来表示(剩下的一位为0,也就是0-127)。

  0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符)。

  32~126(共95个)其中48~57为0~9阿拉伯数字、65~90为26个大写英文字母、97~122为26个小写英文字母,其余的为一些标点符号和运算符号等;

  还有扩展ASCII码,许多基于X86的系统都支持使用扩展(或高)ASCII码,扩展ASCII码允许将每个字符的第8位用于确定附加的128个特殊符号字符、外来语字母和图形符号;扩展ASCII字符从128~255(0x80~0xff)的字符。

C语言数据类型char的更多相关文章

  1. Go语言 数据类型,流程控制

    Go语言 数据类型,流程控制 人生苦短,Let's Go ! package main // 必须要有一个main包 import "fmt" func main() { fmt. ...

  2. C语言数据类型_02

    C语言数据类型:

  3. C语言-数据类型

    数据类型 -基本数据类型 --char 字符型 --int  整型 --浮点型 ---float ---double -指针类型 --void* -空类型 -构架类型 --数组[] --结构体 str ...

  4. C语言数据类型的理解

    数据类型的定义: 作为一种语言,必然有所谓的语言组成要素,就像日常生活中人们之间的交流一样,首先会有字,字再成词组,再来就是句子,后来呢就是段落等等.当然不同的字,词,句这些在一起,就会有不同的表达效 ...

  5. R语言数据类型

    R语言数据类型[转!!]Zhao-Pace  https://www.cnblogs.com/zhao441354231/p/5970544.html   R语言用来存储数据的对象包括: 向量, 因子 ...

  6. R语言 数据类型

    R语言数据类型 通常,在使用任何编程语言进行编程时,您需要使用各种变量来存储各种信息. 变量只是保留值的存储位置. 这意味着,当你创建一个变量,你必须在内存中保留一些空间来存储它们. 您可能想存储各种 ...

  7. C#中数据类型char*,const char*和string的三者转换

    C#中数据类型char*,const char*和string的三者转换: . const char* 和string 转换 () const char*转换为 string,直接赋值即可. EX: ...

  8. C语言基础学习基本数据类型-Char类型

    char类型 char类型用于储存字母和标点之类的字符.但是在技术实现上char却是整数类型.为了处理字符,计算机使用一种数字编码,用特定的整数表示特定的字符.字符变量输入输出用%c符号.定义语法如下 ...

  9. C语言数据类型取值范围

    一.获取数据类型在系统中的位数 在不同的系统中,数据类型的字节数(bytes)不同,位数(bits)也有所不同,那么对应的取值范围也就有了很大的不同,那我们怎么知道你当前的系统中C语言的某个数据类型的 ...

随机推荐

  1. 拷贝构造函数[c++]

    拷贝构造函数何时会被调用? 1. 对象以值传递的方式传入函数参数 2.对象以值传递的方式从函数返回 3.对象需要通过另外一个对象进行初始化 下面我们来看代码: //#include <iostr ...

  2. How to get AutoCAD Mtext content

    #region 提取一个图层上的各类元素 [CommandMethod("BlockInLayerCAD")] public void BlockInLayerCAD() { Do ...

  3. springboot +Thymeleaf+UEditor整合记录

    1,ueditor官网下载:https://ueditor.baidu.com/website/download.html  下载相应的工具包和源码,ps:源码放到工程中 2,解压放到放到项目中,sp ...

  4. 吴裕雄--天生自然ShellX学习笔记:Shell test 命令

    Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值.字符和文件三个方面的测试. 实例演示: num1=100 num2=100 if test $[num1] -eq $[num2 ...

  5. node/静态路由/express框架中的express.static()和app.use()

    此篇文章转载于 express框架中的express.static()和app.use() Express框架在使用app.use中传入express.static设置静态路由时,这个文件夹下的所有文 ...

  6. Django专题-Cookie

      Cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响, ...

  7. Django专题之ORM

    ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述 ...

  8. linux安装java步骤

    本文转发自博客园-Q鱼丸粗面Q.博客园-郁冬的文章,内容略有改动 本文已收录至博客专栏linux安装各种软件及配置环境教程中 方式一:yum方式下载安装 1.查找java相关的列表 yum -y li ...

  9. 在拖放文件的同时检测shift键的状态

    老板要给原来文件拖放的功能加个扩展分类,于是想在文件拖放时判断shift键的状态来区分. 一般通过keydown和keyup来判断按下与否,但这都是需要控件事件触发,而在拖放的时候是没法触发key事件 ...

  10. selenium 2.x 为什么我录制的脚本回放时几乎必然失败呢?

    本人菜鸟一枚,最近自己在自学selenium,录制的脚本回放从未直接成功过! 我打开百度,搜索selenium,然后点击第一个结果——selenium的百度百科,但是提示打开错误! 录制的任何脚本都不 ...