知识点一:字符常量
1)定义:字符常量由单引号包括;
a)类似于'a' , 'b' , 'c' , '1' , '2'。这样的都是字符常量;
b)字符常量通常只写一个字符,如果需要多个字符,请使用字符串"ab";
2)字符类型的占位符为 %c;
#include <stdio.h>
int main()
{
printf("%c%c%c%c%c%c%c%c%c%c%c", 'h', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd', '\n');
return 0;
}
知识点二:探究字符类型占用空间
1)字符常量的大小
#include <stdio.h>
int main()
{
printf("sizeof a= %d\n", sizeof('a'));
printf("sizeof b= %d\n", sizeof('b'));
printf("sizeof c= %d\n", sizeof('c'));
printf("sizeof d= %d\n", sizeof('d'));
printf("sizeof e= %d\n", sizeof('e'));
return 0;
}
字符类型常量在C编译器将字符常量看做整型,因此占用4个字节;
2)字符变量的大小;
#include <stdio.h>
int main()
{
char c = 'A';
printf("sizeof char= %d\n", sizeof(char));
printf("sizeof c= %d\n", sizeof(c));
return 0;
}
字符类型的变量仅占用1个字节;
知识点三:整数与字符的对应关系——ASCII
1)计算机没必要直接存储字符,可以用某个数值来代表某个字符。 而这个映射关系,被称作美国信息交换标准代码(American Standard Code for Information Interchange)。我们一般将其简称为 ASCII;
知识点四:字符类型与字符变量
1)定义一个字符变量;
char c1 = 'a';
char c2 = '\n';
char c3 = '1';
2)用字符占位符,打印这三个变量。输出结果为三个字符;
#include <stdio.h>
int main()
{
char c1 = 'a';
char c2 = '\n';
char c3 = '1';
printf("c1=%c c2=%c c3=%c", c1, c2, c3);
return 0;
}
3)用整型占位符,打印这三个变量。输出结果为这三个字符在ASCII中所对应的数值;
#include <stdio.h>
int main()
{
char c1 = 'a';
char c2 = '\n';
char c3 = '1';
printf("c1=%d c2=%d c3=%d", c1, c2, c3);
return 0;
}
知识点五:字符串常量占用空间
1)一个字符占用一个字节的大小,下述字符串会多一个字节,因为在字符串结尾处,为了标记这个字符串已经结束了,会在字符串会多占用一个字节,并在这个字节 里面填数值0,用于标识字符串结束;
#include <stdio.h>
int main()
{
printf("sizeof HelloWorld = %d\n", sizeof("HelloWorld"));
return 0;
}
知识点六:转义字符
1)\数值 被称作转义字符;
2)转义字符虽然写法上有多个字符,实际上它对应ASCII表中的一个字符;
3)由于直接在字符串中写0会被认为是字符0,而 \数值 这种写法,可以让我们输入数值0。但是,这个数 值不是用十进制来表示的,而是用八进制;
#include <stdio.h>
int main()
{
printf("\110\145\154\154\157");
return 0;
}
这一串字符被打印成了Hello,这进一步证明了:转义字符虽然写法上有多个字符,实际上它对应ASCII 表中的一个字符;
4)接下来,我来介绍一个特殊的数值,十进制10,八进制12;
#include <stdio.h>
int main()
{
printf("Hello\12World");
return 0;
}
如上图所见,它和 \n 的效果一致,\12 就是我们之前一直在用的换行 \n;
5)由于记数值是比较麻烦的,为了方便使用一些常用到的数值可以用字母来替代;
转义序列 | 含义 | 八进制 | 十进制 |
\a | 报警 | 7 | 7 |
\b | 退格 | 10 | 8 |
\f | 换页 | 14 | 12 |
\n | 换行 | 12 | 10 |
\r | 水平制表 | 15 | 13 |
\t | 垂直制表 | 11 | 9 |
\v | 13 | 11 |
*有一些字符无法直接在键盘上输入,这一类字符被称为 不可见字符 。就像上面的表中列出的字符,这些 字符可以用斜杠加数值来表示,也可以使用斜杠加助记字母来表示。
*ASCII表中,数值为十进制0到31所对应的字符为不可见字符。