码迷,mamicode.com
首页 > 其他好文 > 详细

C零基础课程-09-文字数据的定义和使用

时间:2019-10-10 11:32:21      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:return   class   world   def   如何   alt   控制   ref   argv   

什么是文字数据(单个字符与字符串)

之前课程中学习了数值型变量如何定义与使用,可以用于存放整数、小数。
C语言中的文字型数据,可以存放文字(如字母、标点符号)。
C语言中文字数据分为单个字符以及字符串。
单个字符由单引号括起来,字符串由双引号括起来。

'a'
"Hello, world"
int main(int argc, char* argv[])
{
    printf("%c\r\n", 'A');
    printf("%s\r\n", "Hello, World");
 return 0;
}

单个字符在内存中占用1个字节(因此我们可以使用char存储它),其储存的内容为ASCII码表中字符所对应的数值

int main(int argc, char* argv[])
{
    char chValue = 'A';
    printf("%c\r\n", chValue);
    chValue = 'Z';
    printf("%c\r\n", chValue);
 return 0;
}

ASCII码表

因为计算机内存中其实只能存数字。所以,字符类型,其实是按照ASCII码表的约定,存储ASCII码表中字符所对应的数字的值
技术图片

int main(int argc, char* argv[])
{
    char chValue = 65;
    printf("%c\r\n", chValue);
    chValue = 90;
    printf("%c\r\n", chValue);
 return 0;
}

字符串

使用双括号括起来的字符,是字符串,它的特点:

  • 在内存中,字符对应的数值,按顺序依次排列
  • C编译器会自动在字符串的尾部加上结束标志0(内存中的数值为0)

字符定义的几种方式

对于字符,可以以****后接数字的方式定义字符,其数字可以为八进制或者十六进制

int main(int argc, char* argv[])
{
 char chValue1 = '\015';
 char chValue2 = '\0';
 char chValue3 = '\x0C';
 char chValue4 = 101;
 return 0;
}
int main(int argc, char* argv[])
{
    char chValue1 = '\015'; //8进制
    char chValue2 = '\0'; //8进制
    chValue2 = '0'; //注意与上一行进行区分
    char chValue3 = '\x0C'; //16进制
    char chValue4 = 101; //10进制
    return 0;
}

ASCII码的扩展与转义字符

ASCII码扩展

C89标准时代的ASCII码只规定了0~127,之后扩展了ASCII码范围,使得128~255也有其意义。
但是因为控制台的设置编码方式不同,扩展的字符不一定能正常显示。

转义字符

有一些特殊的ASCII码,无法从键盘直接输入。直接记忆其数值不方便使用。
我们可以使用转义字符,以****开头,后接特殊的字母,这样的转义字符

  • 单引号,‘
  • 双引号, "
  • 反斜杠, \
  • 退格键,\b
  • 换行,\n
  • 回车,\r
  • 水平制表符, \t
#include <stdio.h>


int main(int argc, char* argv[])
{
    printf("%c\r\n", '\'');
    printf("%c\r\n", '\"');
    printf("%c\r\n", '\\');
    printf("abc\bdef\r\n");

    return 0;
}

C零基础课程-09-文字数据的定义和使用

标签:return   class   world   def   如何   alt   控制   ref   argv   

原文地址:https://www.cnblogs.com/shellmad/p/11646172.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!