c++ 之 字符和字符串

字符

1、字符的分类

字符主要包括字母、数字、标点符号、控制字符等

在ASCII编码表中,每一个字符都用一个十进制数来表示

注:ASCII的全称是American Standard Code for Information Interchange,美国标准信息交换代码,该表由国际标准组织制定0

ASCII码表详情请猛戳我

2、字符的表示

在计算机中,所有的数据必须以数字的形式表示,字符页不例外,根据ASCII码表的规定,每个字符一个数字表示,而这个数字在0-127之间,在C/C++里,char/short/int都可以表示整数,由于字符的数值范围较小,平常都用char类型变量来代表字符,例如:

3、字符的显示

可以使用printf将一个字符显示到控制台,使用格式化字符串 %c 表示

例如:

4、字符常量

在C/C++代码中,直接用字符常量来表示一个字符的ASCII码,使用单引号表示,例如:

char ch = 'A';

上例中'A'就是字符常量,它是一种字面常量,表示一个整数65

字符常量在任何时候都和它的ASCII码是等价的,虽然在形式上它是写成了'A',但编译器在处理代码的时候总是把它当成65来处理

以下几种写法是等价的,都会输出一个字符'A'

#include <stdio.h>

int main(){

    printf("Got: %c \n", 65);   // 十进制
    printf("Got: %c \n", 'A');  // 字符
    printf("Got: %c \n", 0x41); // 十六进制

}

由于字符常量完全等价于一个整数,所以我们可以这样来写

#include <stdio.h>

int main(){

    char ch1 = 'A' + 1;     // 结果为66
    char ch2 = 'B' - 1;     // 结果为65
    char ch3 = 'C' - 'A';   // 结果为2

    printf("ch1: %d \nch2: %d \nch3: %d \n", ch1, ch2, ch3);

}

还可以用int和short来表示字符

int ch1 = 'A';
short ch2 = '9';

显示字符'Y'的ASCII码

#include <stdio.h>

int main(){

    printf("%d \n", 'Y');   // 'Y'是一个整数,所以可以用%d显示出来

}

字符数组

在C/C++里,用一个char型数组来表示一串字符,称为"字符数组",把这一串字符称为"字符串"

字符串的两种初始化方法

  • 想普通数组一样初始化
char str[6] = {'h', 'e', 'l', 'l', 'o', '\0'}    // 这样定义要以\0结尾
  • 特殊的初始化方法(常用)
char str[6] = "hello";

posted on 2016-08-20 21:42  奋斗中的码农  阅读(1312)  评论(0编辑  收藏  举报

导航