1.3字符型常量
(一)字符常量定义:了解什么是字符型常量,真的很重要
- 用单撇号括起来的一个字符 ,例如: ‘D’ ‘x’ ‘a’ ‘?’ ‘$’
- ’a’ 和 'A’是不同的字符常量
- 特殊的字符:
- 转义字符的使用
#include<stdio.h>
void main()
{
printf("_ab_c\t_de\rf\\tg\n");
printf("h\ti\b\bj_k\n");
}
运算结果为:
(二)字符变量
概念: 字符型变量用来存放字符常量,它只能放一个字符。
//定义形式
char c1,c2;
//它表示c1和c2为字符型变量,可以存放一个字符
c1='a';c2='b';
在所有的编译系统中都规定,以一个字节来存放一个字符,或者说一个字符变量在内存中占一个字节。
(三)【存储形式及其使用方法】-重要
解析:将一个字符串放到一个字符变量中,实际上并不是把该字符本身放到内存单元中去,而是将该字符的相应的ASCII代码放到存储单元中。
【将你输入的字符串用编号排好码,等使用的时候系统再将编号对应的你输入的字符串输出,只不过我们常用的字符串已经被提前录入好了】
例如:字符 ’ a ’ 的ASCII代码为十进制数 97,
’ b ’ 的ASCII代码为十进制数98,在内存变量c1、c2的值如图3-8(a)所示。实际上是以二进制形式存放的。
3.1 向字符变量赋予整数
#include<stdio.h>
void main()
{
char c1,c2;
c1=97;
c2=98;
printf("%c%c\n",c1,c2); //%c 是输出字符时使用的格式符
printf("%d%d\n",c1.c2); //%d 是输出整数形式
}
输出结果为:
a b
97 98
【解析】:字符型数据和整型数据是通用的。它们既可以用字符形式输出(%c),也可以用整数形式输出(%d)。
- 但是字符数据只占一个字节 【0~255】
3.2 大小字母的转换
#include<stdio.h>
void main()
{
char c1,c2;
c1 = 'a';
c2 = 'b';
c1 = c1 - 32;
c2 = c2 - 32;
printf("%c%c",c1,c2);
//结果为 A=65 B=66
//因为 a b 的 ASCII 字符码-32 等于 A B
}
C语言对字符数据做这种处理使程序设计时增大了自由度
int i;
char c;
i='a';
c=97;
//这样也是合法的
3.3 字符串常量
【区别:】
- 字符常量是 ‘ ’ 单撇号
- 字符串常量是 “ ” 双撇号
//第一种形式
printf(" How do you do. ")
//第二种形式
printf("A");
printf("a");
printf("$123.45");
不要将字符常量与字符串常量混淆,主要看撇号是单是双。
字符串=存储字符数+1 (1=’ \0 ‘),’ \0 '字符是系统自动加上的。实际上字符串“a”包含2个字符。