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. Tomcat server.xml常用配置 含有外带文件及默认host

    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE server-xml [<!ENTITY ...

  2. python 2.7编译安装

    一 官网下载python2.7源码: python安装pip python -m ensurepip --default-pip

  3. ActiveMQ消息队列集群的搭建

    1.准备activemq apache-activemq-5.12.0-bin.tar 2.解压文件 3.并将文件cp一份命名为activemq1 进入conf文件进行修改 修改属性为brokerNa ...

  4. 吴裕雄--天生自然TensorFlow2教程:numpy [ ] 索引

    import tensorflow as tf a = tf.ones([1, 5, 5, 3]) a.shape a[0][0] numpy : 索引 a = tf.random.normal([4 ...

  5. 第二季第十一天 html5语义化标签 css透明度

    span不能设置宽高背景 HTML5语义化标签 <section>标签所包裹的是有一组相似的主题的内容,可以用这个标签来实现文章的章节.标签式对话框中的各种标签页等类似的功能. <s ...

  6. ZJNU 2135 - 小智的宝可梦

    因为成环 所以可以枚举第1只与第n只喂的次数 然后第1只和第2只的次数就固定了,以此类推,则所有宝可梦喂的次数都固定了 最后处理完检查是否全为0,不是则进行下一次枚举,是则直接输出Yes 如果所有枚举 ...

  7. JS专题-FormData

    var formData = new FormData(); <form id="coords" class="coords" onsubmit=&quo ...

  8. StartDT AI Lab | 智能运筹助力企业提升决策效率、优化决策质量

    在人工智能和大数据时代,越来越多的云上数据和越来越智能的模型开始辅助人们做出各种最优决策,从运营效率.成本节约.最优配置等方方面面,实现降本增效,进一步提升商业效率.京东.美团.滴滴.顺丰等众多知名厂 ...

  9. 详解python可迭代对象、迭代器和生成器

    可迭代对象 什么是可迭代对象?顾名思义就是可以迭代的一个对象,再通俗点就是可以被for循环遍历的对象,如常用的list.str等数据类型.我们可以使用isinstance来判断这个数据是否是可迭代对象 ...

  10. 史上最强maven配置详情

    史上最强maven配置详情 优点 对第三方依赖库进行了统一的版本管理 统一了构建过程 统一了项目的目录结构 构建 清理 : mvn clear 编译 : mvn compile 测试 : mvn te ...