先看一个例子
#include<stdio.h> main() { char a=3; printf("I"); printf("%c",a); printf("China\n"); }结果 有没有好奇心是怎么来的?这里先留着
字符类型数据 在C语言中,字符类型数据包括字符形式,字符串形式。
【字符形式】
使用单引号括起来的一个字符,类型说明符位“char”。 例:‘a’(√)、’#’(√)、’\101’(√)、‘7’(√)、‘ab’(❌)、’’(❌)、’’’(❌)、’’’’(❌)、“a”(❌) 注释:’\101’中的\是一个转义字符,\使101本身的意义发生了转变,如果在程序中输出,则输出的是一个字符 '7’不再是一个整型数据7,而是一个字符型数据 'ab’是因为单引号中的字符只能有一个,不能是一串字符。
!!!注意:
字符型数据只能用单引号括起来,不能用双引号或者其它类型的括号。单引号不属于字符中的一部分,只起到界定的作用。单引号中的字符只能有一个,;不能是一串字符。字符区分大小写。单引号中的字符可以是数字、字母等C语言字符集中中可显示字符,但除了\、’、"。【转义字符】C语言用于表示ASCII码字符集中不可打印的控制符和特定功能的字符。 常用的转义字符如下: ‘\t’,表示水平制表位(horizontal tab),它的作用是将光标移到最接近8的倍数的位置,使得后面的输入从此开始。换句话说,让所有的数据都紧跟在制表符后面输出。和\n相当于在程序中按了一下“Enter”回车键比较,\t 就相当于在编程的时候按一下Table键,使光标以8个字符为基准进行跳跃 。
下面给出一个例子:
#include <stdio.h> main() { int a=1,b=2,c=3; printf("按列输出\n"); printf("变量a\t变量b\t变量c\t\n"); printf("%d\t%d\t%d\t\n",a,b,c); }结果: 这段代码很好理解啦!这里就不一一解释。
转义字符将反斜杠后面的字符换成另外的含义,是一种特殊的字符。 注意:
使用不可打印字符时,可以用转义字符来表示。转义字符只能用“\”来引导,若它后面的字符和\不能构成转义字符,则\不起转义作用,,将被忽略。要获得\、’、"必须使用转义字符的方式。转义字符中只能使用小写字母。转义字符是一个字符,例如:\n是一个字符而不是\和n两个字符。\v垂直制表符和\f换页符在屏幕中的显示没有任何影响,但会影响打印机的操作。 【字符串形式】双引号括起来的有效字符序列 例如:“abc”(√)、“123456”(√)、"\#?"(√)、“a”(√)、‘abc’(❌)、‘a*’’(❌) 注意:1.字符串型数据只能用双引号括起来,不能用单引号或其它类型的括号。2.双引号不属于字符中的一部分,只起到界定作用。3.双引号中的字符可以是零个,也可以是一串字符序列,若有零个字符,则字符串的长度为0,称为空串。4.字符区分大小写。字符类型数据的存储 【字符形式】字符型数据是按照其所对应的ASCII码值来存储的,一个字符占一个字节。 例如: 'a’在内存中的存储: 'a’的ASCII码值为:97,二进制为:01100001,然后存放在内存中,占用一个字节 ‘+‘在内存中的存储: ‘+‘的ASCII码值为:43,二进制为:00101011,然后存放在内存中,占用一个字节 【转义字符】转义字符在内存中也可以用ASCII码值来表示。 例如:转义字符’\b’:ASCII码值为13,二进制表示为:00001101 转义字符’\n’:ASCII码值为10,二进制表示为:00001010 ASCII码虽然用8位二进制表示字符,但是其有效位为7位。字符的运算 'A’和’a’哪个大? 编写一段程序,看看哪个大 #include <stdio.h> main() { char c1,c2; c1='A'; c2='a'; if(c1>c2) printf("%c\n",c1); else printf("%c\n",c2); }结果 【字符类型数据的运算】 ASCII码表中规定了每个字符对应的编码,所以每个字符都有其对应的整型数据。 字符型数据也可以看成是一种特殊的整型。在ASCII码表中可表示的字符范围内,字符型数据和整型数据可以互相赋值,也可以参与运算,字符型数据的运算其实就是其对应的ASCII码值的运算。 字符型在内存中只占用一个字节,而基本整型在内存中占用4个字节。 【字符串形式】字符串的存储方式为:串中的每个字符占用一个字节,并在最后一个字符后面存入一个字符”\0“作为字符串结束的标志。 例如:"Hello world!"在内存中的存储方式:
字符串长度为12,双引号内的每个字符占用一个字节,字符按顺序连续存储,自动在最后加入字符串的结束标志,因此在内存中占13个字节空间。
最后来总结: 字符和字符串的区别: 【定界符不同】 字符——’ ’ 字符串——" " 【长度不同】 字符——长度为1 字符串——有效字符+\0,还可以是0 【存储方式不同】 字符——一个字节 字符串——存储空间不确定
这一篇字好多,敲的辛辛苦苦,哈哈哈!!!