(四)C语言中的字符类型
C语言中的字符型数据分为字符和字符串数据两类。**字符数据是指由单引号括起来的单个字符,**如‘a’、‘2’、‘&’等;字符串数据是指由双引号括起来的一串字符序列,如“good”、“0132”、“a”等。
1、基本类型定义
类型说明符: char
2、字符型数据的存储与取值范围
字符型数据的取值范围为ASCII码字符集中的可打印字符。一个字符型数据的存储占1个字节,存储时实际上存储的是对应字符的ASCII码值(即一个整数值)

ASCII编码(American Standard code for information interchage)美国信息交换标准代码

ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符。
其中:
0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等;通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;ASCII值为8、9、10 和13 分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响。

32~126(共95个)是字符(32是空格),其中48-57为0到9十个阿拉伯数字。

65-90为26个大写英文字母,97-122号为26个小写英文字母,其余为一些标点符号、运算符号等。

同时还要注意,在标准ASCII中,其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。

后128个称为扩展ASCII码。许多基于x86的系统都支持使用扩展(或"高")ASCII。扩展ASCII 码允许将每个字符的第8 位用于确定附加的128 个特殊符号字符、外来语字母和图形符号。

3、字符型数据的表示方法
字符型数据在计算机中存储的是字符的ASCII码值的二进制形式,一个字符数据的存储占用1个字节。**因为ASCII码在形式上就是0~255之间的整数,因此C语言中字符型数和整型数可以通用。**例如,字符’a’的ASCII码值用二进制表示是1100001,用十进制表示是97,字符‘a’的存储形式实际上就是一个整型数97,所以它可以直接与整型数进行运算,可以与整型变量相互赋值,也可以将字符型数据以字符或整数两种形式输出。以字符形式输出时,先将ASCII码值转换为相应的字符,然后再输出;以整数形式输出时,直接将ASCII码值 作为输出。

C语言在语法上共提供了三种字符类型,分别是char、signed char、unsigned char,二进制长度均为8位,值域分别是
-128-127、-128-127、0~255。若不指定字符变量的类型,则默认为signed char类型。因为字符型数据主要是用来处理字符的,故对它不能用long或short类型修饰符修饰。

字符数据:
用单引号括起来的单个字符数。如‘A’,‘%’,‘:’,‘9’等,而‘12’或‘abc’是不合法的字符。
字符串数据:
用双引号括起来的单个或一串字符数,如“good”、“0132”、“w1”、“a”等。注意,“a”是字符串而不是字符数。
为了便于C程序判断字符串是否结束,系统对每个字符串数存储时都在末尾添加一个结束标志——ASCII码值为0的空操作符‘\0’,
它既不引起任何动作也不会显示输出,所以存出一个字符串的字节数应该是字符串的长度加1。

例题:
编写一个程序,当输入小写字母时,字母能自动转换为大写字母;当输入大写字母时,程序能自动转换为小写字母;当输入非字母时,不进行任何转换;当输入非字母“#”时,程序结束。
分析:
因为大写字母比其相对应的小写字母的ASCII码小32,所以如果变量c的值是大写字母(c>=‘A’&&c<=‘Z’),将其转化为小写字母的公式为c=c+32;如果变量c的值是大写字母(c>=‘a’&&c<=‘z’),将其转化为小写字母的公式为c=c-32。
源程序:

#include<stdio.h>
void main()
{char   c;do{scanf("%c",&c);if(c>='a'&&c<='z')printf("%c",c-32);else if(c>='A'&&c<='Z')printf(''%c",c+32)}while(c!='#')
}

(四)C语言中的字符类型相关推荐

  1. 2.3 Go语言中的字符型和常量定义

    字符类型 字符类型也是常用的类型之一,Go语言中的字符类型使用string关键字,我们对最早的hello, world示例进行改造. package mainimport "fmt" ...

  2. C语言学习(十二)C语言中的字符(宽字符与窄字符)、从字符谈谈C语言的编码、转义字符

    C语言学习(十二)C语言中的字符(宽字符与窄字符).从字符谈谈C语言的编码.转义字符 目录 C语言学习(十二)C语言中的字符(宽字符与窄字符).从字符谈谈C语言的编码.转义字符 英文字符 字符的表示 ...

  3. 刨根问底:C++中宽字符类型(wchar_t)的编码一定是Unicode?长度一定是16位?

    转发的:https://www.ituring.com.cn/article/111027的文章 刨根问底:C++中宽字符类型(wchar_t)的编码一定是Unicode?长度一定是16位? cons ...

  4. c语言中的文件类型只有文本文件一种,C语言中的文件类型只有哪两种_后端开发...

    pycharm能干嘛_后端开发 PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试.语法高亮.Project管理.代码跳转.智能提示 ...

  5. c语言中指针的类型,学习C语言中的指针类型

    摘要:结合我院学生十年来参加全国计算机等级考试(C语言部分)情况,通过分析成绩分布与题型关系,我们发现指针方面的题型失分率最高.在此基础上结合教学实际,本文提出学习指针知识的方法和顺序过程,并将其应用 ...

  6. Java快速入门学习笔记2 | Java语言中的基本类型

    有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...

  7. Go语言中的字符和字符串

    Go语言中的字符 在Go语言中,没有字符类型,字符类型是rune类型,rune是int32的别称. 下面用一个简单的程序来演示字符类型: package mainimport ("fmt&q ...

  8. C语言中没有string类型

    C语言中没有string类型 搞懂个事的根本核心是:C语言的数组类型里,唯一和字符串沾边的就只有char型数组了. 所以,理所当然的,我们就会想到用二维字符型数组来建立--把字符串当做数组里的一个元素 ...

  9. C语言中的字符函数和字符串函数

    目录 前言 1.常用函数介绍 1.1 strlen 1.2 stycpy 1.3 strcat 1.4 strcmp 1.5 strncpy 1.6 strncat 1.7 strncmp 1.8 s ...

最新文章

  1. Java 日志框架适配/冲突解决方案(值得收藏)
  2. Hyper-V 2节点集群高可用的限制
  3. @RequestMapping 和 @GetMapping @PostMapping 区别
  4. [ SAP ]MM Valuation System
  5. 字中字效果-html5实例
  6. UVA-10791 数学
  7. php单进程锁定,强制PHP命令行脚本单进程运行的方法
  8. 中国风歌曲介绍及推荐
  9. 找回foxmail下的邮箱密码
  10. win7 计算机休眠,WIN7如何关闭睡眠和休眠方式(真正的)
  11. ASP.NET的图片上传和显示
  12. 2019年蚂蚁金服面经(已拿Offer)!附答案!!
  13. [ 大数据分析 ] 大数据分析与处理方法介绍
  14. 盈一指风华,浅梦一程。生命的美丽
  15. 综合算法03—FrankWolfe_BPR配流算法
  16. Mairadb数据库的备份和恢复
  17. Shopify开店建站营销推广卖家平台后台中文指南 – Abandoned checkout recovery/挽救弃单
  18. 常用的数据可视化工具
  19. windows下批量删除指定类型文件
  20. Oracle数据库数据同步到mysql数据库(Oracle数据库备份dmp如何同步到mysql)

热门文章

  1. django设置cookie
  2. 观点|词云指北(上):谈谈词云算法的发展
  3. linux 桌面 retina,如何在MacBook Pro Retina上安装Linux
  4. 抖音运营规则讲解系列(3):色情低俗内容具体划分丨国仁网络
  5. ACCESS窗体中图表控件按条件使用代码设定柱图颜色
  6. 保姆级硬核教程:图解Transformer
  7. 服装店3天锁定1000多会员,净赚60万,让客户疯狂的成交!
  8. 超市用了小程序,生意火爆了!
  9. 联想xp怎么打开无线网络连接服务器,ThinkPad如何使用windows网络管理器配置无线网络(XP)...
  10. android多渠道打包(动态改变地址打包,只需改下版本号)