下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

C语言基础:各字符型数据

作者:课课家教育     来源: http://www.kokojia.com点击数:2983发布时间: 2016-07-14 17:35:49

标签: 字符型常量字符串变量字符数据

大神带你学编程,欢迎选课

  C语言作为当时备受好评的编程语言,一直到现在都没有退出人们的视野。java之父说过“对于每一个计算机专业人士,他们所接触的第一种编程语言就是C语言。(C语言)有着如此多的令人惊奇的地方,这也使得学习过程非常有趣。”由此可以看出C语言所带来的影响。下面将对C语言基础中的字符型变量常量进行一个说明。

  1.字符和字符串类型数据

  计算机应用领域中有一个重要的部分,就是文字处理。这个领域的程序必须能使用和处理字符形式的数据。在C中,有两种字符型数据:字符还有字符串。打个比方,‘b’这种只有一个字母的是字符,而‘bed’这种连续的就是字符串。每一个字符都有对应的ASCII码,一个字符的存储占用一个字节,所以ASCII码形式上是0-255之间的整数。因此C语言中字符型数据和整型数据可以通用。例如,字符"B"的ASCII码值用二进制数表示是1000010,用十进制数表示是66,在计算机中的存储如下图。由图可见,字符"B"的存储形式实际上就是一个整型数66,所以它可以直接与整型数据进行算术运算、混合运算,可以与整型变量相互赋值,也可以将字符型数据以字符或整数两种形式输出。以字符形式输出时,先将ASCII码值转换为相应的字符,然后再输出;以整数形式输出时,直接将ASCII码值作为整数输出。(在文章的最下面有ASCII码对照表)

C语言基础:各字符型数据_字符型常量_字符串变量_字符数据_课课家

  2.字符型常量

  字符常量也称为字符常数。在C语言中,字符常量就是被括在一对单引号中的一个字符。例如:'c'、's'、'x'、'B'、'b'、'$'、'?'等都是字符常量,要注意的是空格字符是‘ ’,‘D’和‘d’是不同的字符常量。以上形式的字符常量是可以显示的字符,但还有一些难以用一般形式表示的不可显示字符,C语言提供了一种特殊的字符常量,即用一个转义标识符"\\"开头,后续需要的转义字符来表示。

  下面列举一些常用的转义字符的字符常量:

  转义字符表

  转义字符是一种特殊的字符常量,它的意思是将转义符“\\”后面字符原来的含义进转换,变成某种特殊的系统中约定的含义。像‘\\f’中的f已经不再代表字符常量,因为前面加上了‘\\’,所以f就变成了换页符。转义字符‘\\ddd’并不是直接写ddd,而是在后面填上1-3位的八进制数,例如“\\015”。其中015是八进制字符串,它在ASCII码中表示的是回车,也表示为十进制13的字符。转义字符"\\x1f"是"\\xdd"形式的转义字符,其中"1f"是十六进制字符串,它表示了ASCII码表中编码为十进制31的字符,也就是▼。

  再举一个可运行的代码行例子:

  printf("a=%f\n",a);

  其中“\n”就是换行的转义字符,基本上每一个程序中都会有这样的代码行。

  3.字符型变量

  上面说了字符型常量,现在所说的字符型变量是用于存放字符常量的,字符型变量是用来保存单字符的一种变量,所以一个字符型变量占用1个字节的内存。字符型变量的关键字是 char,使用时只需在说明语句中指明字符型数据类型和相应的变量名即可。

  例如:

  char c1,c2;/先说明c1,c2是字符型变量/

  c1='c';c2='d';/先后把c1,c2赋值为c,d/

  4.字符串常量

  字符串常量和字符型变量相差了一个字,字符串常量就是用来保存多个字符的变量。字符串常量要用到双引号来作为边界符的作用,但它并不是字符串常量中的一部分。

  例如: "hey my friend!",这是一个合法的字符串变量。

  刚刚接触C的初学者很容易混淆一个概念,"a"和'a',要注意的是这两个是两个完全不用的数据,前者是字符串变量因为用双引号,后者是字符常量。或许你还会有一个问题就是如果在字符串变量中添加双引号要怎么添加?这种情况要在所添加的双引号前面加上"\\"将其转义,使之作为双引号字符起作用。

  例如:

  printf ("He says:\\"hey my friend!\\"");

  C对字符串常量的长度没有限制,程序会自动在字符串的结尾加上一个"\\0"作为字符串常量的结束标志。在输出字符串的时候,程序遇到这个标志才会终止输出。

  说到这里,我们会发现字符常量和字符串常量有两个方面的不同:字符常量是用单引号括起的单个字符,而字符串常量是用双引号括起的一串字符;从存储方式看,字符常量在内存中占一个字节,而字符串常量除了每个字符各占一个字节外,其字符串结束符'\\0'也要占一个字节。例如:字符常量'a'占一个字节,而字符串常量"a" 占2个字节,如下图。

字符常量和字符串常量存储的不同

  5. 字符数据的代码示例

  计算字符'A'与整型数据25的和。  

  c语言简单计算代码示例

  程序运行的输出结果如下:   A,65,Z,90

  上述程序中a变量的值是'A',实际存放的是'A'的ASCII码65,上文说过它可直接与十进制整型常量25相加,所得整型数据90赋值给变量b,而90是大写字符'Z'的ASCII码,所以可以将a、b变量分别以字符型和整型两种格式输出。有这个例子我们可以知道,字符型数据和整型数据是可以通用的。

      ASCII码表:

ASCII码对照表

      这里简单的介绍和说明了C语言中各字符型数据的用处、和它们之间的关联。在C语言的编程中,字符型数据也是很重要的,最好能熟练的掌握ASCII码和字符类型的转换和应用。希望本文对于刚刚入门C语言的朋友有一定的帮助。

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程