• 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 
    ", 65);   // 十进制
        printf("Got: %c 
    ", 'A');  // 字符
        printf("Got: %c 
    ", 0x41); // 十六进制
    
    }
    

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

    #include <stdio.h>
    
    int main(){
    
        char ch1 = 'A' + 1;     // 结果为66
        char ch2 = 'B' - 1;     // 结果为65
        char ch3 = 'C' - 'A';   // 结果为2
    
        printf("ch1: %d 
    ch2: %d 
    ch3: %d 
    ", ch1, ch2, ch3);
    
    }
    

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

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

    显示字符'Y'的ASCII码

    #include <stdio.h>
    
    int main(){
    
        printf("%d 
    ", 'Y');   // 'Y'是一个整数,所以可以用%d显示出来
    
    }
    

    字符数组

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

    字符串的两种初始化方法

    • 想普通数组一样初始化
    char str[6] = {'h', 'e', 'l', 'l', 'o', ''}    // 这样定义要以结尾
    
    • 特殊的初始化方法(常用)
    char str[6] = "hello";
    
  • 相关阅读:
    【bzoj3566】[SHOI2014]概率充电器 树形概率dp
    【bzoj1419】Red is good 期望dp
    【bzoj2698】染色 期望
    【bzoj2134】单选错位 期望
    【bzoj1022】[SHOI2008]小约翰的游戏John 博弈论
    【bzoj3170】[Tjoi 2013]松鼠聚会 旋转坐标系
    【bzoj2338】[HNOI2011]数矩形 计算几何
    【bzoj2085】[Poi2010]Hamsters Hash+倍增Floyd
    【bzoj1014】[JSOI2008]火星人prefix Splay+Hash+二分
    【bzoj2795】[Poi2012]A Horrible Poem Hash+分解质因数
  • 原文地址:https://www.cnblogs.com/CongZhang/p/5791317.html
Copyright © 2020-2023  润新知