2.2 数据类型之字符型

这篇来简单说说C语言中的char类型.

1.简单介绍字符型

这节内容在书中3.4章

在C语言中,char"从技术层面看是整数型,因为char实际上储存的是整数而不是字符"(50页).

一般来说char被定义为8位的存储单元,所以16位,32位,64位系统都可以使用.ASCII码的范围是0~127(2^7-1),所以8位用来存储还是比较富裕的.但是对于别的语言,比如汉语,8位的范围是远远不够的.所以存在Unicode类型编码,目前已经存储10多万个字符.

1.定义char类型变量

char c1 = 'A' ; //1
char c2 = 65  ; //2
char c3 = '\n'; //3

第一种是标准的形式,第二种则是直接赋值为数字.虽然合法但是不推荐.第三种是定义了一个换行符.

2.输出一个char变量,以及转义序列

1.输出

#include <stdio.h>

int main (void) {
	printf("char:   %c\n",'B'); //1
	printf("int:    %c\n", 66); //2
	printf("others: %c", '\n'); //3 第一个参数没有\n
	printf("%d", 123) ;         //4
	return 0;
}

运行结果

char:   B
int:    B
others:
123

2中65对应的就是B的ASCII值,直接输出也是可以的.前提是以%c 来转换.

3中输出了一个换行符,但是在第一个参数中没有与1, 2一样加上\n.

4的运行结果在新的一行,证明3中的\n确实输出了.

2.转义序列

在printf()中,转义序列扮演了关键角色,它可以把我们要输出的字符串进行换行,制表等操作.下面的表格列举了一些转义序列以及转义序列的含义.(52页)

转义序列含义
\a警报(ASCI C),比如让主机的蜂鸣器发出警报.
\b退格(Backspace)
\f换页
\n换行
\r回车(Enter)
\t水平制表符(Tab)
\v垂直制表符
\\反斜杠 \
\'单引号 '
\"双引号 "
\?问号 ?
\0oo八进制值(oo应该为有效的八进制数字,o取值范围0~7)
\xhh十六进制值(xx应该为有效的十六进制数字,取值范围0~F)

 

我们来试试后面6个的实际效果是什么样的.

# include <stdio.h>

int main (void) {
	printf("反斜杠:  \\\n");
	printf("单引号:  \'%c\'\n", 'A');
	printf("双引号:  \"%d\"\n", 123456);
	printf("问号:  \?\n");
	printf("八进制值: \070\n");
	printf("十六进制值: \x4e\n"); 
	return 0;
}

运行结果:

反斜杠:  \
单引号:  'A'
双引号:  "123456"
问号:  ?
八进制值: 8
十六进制值: N

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值