C字语言--符常量及字符变量

知识点一:字符常量

          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所对应的字符为不可见字符。

猜你喜欢

转载自blog.csdn.net/m0_73463638/article/details/126951218
今日推荐