c++ 之 字符和字符串

c++ 之 字符和字符串

字符

1、字符的分类
字符主要包括字母、数字、标点符号、控制字符等
在ASCII编码表中,每一个字符都用一个十进制数来表示
注:ASCII的全称是American Standard Code for Information Interchange,美国标准信息交换代码,该表由国际标准组织制定0
ASCII码表详情请猛戳我
2、字符的表示
在计算机中,所有的数据必须以数字的形式表示,字符页不例外,根据ASCII码表的规定,每个字符一个数字表示,而这个数字在0-127之间,在C/C++里,char/short/int都可以表示整数,由于字符的数值范围较小,平常都用char类型变量来代表字符,例如:
866929-20160820220322296-920827998.png
3、字符的显示
可以使用printf将一个字符显示到控制台,使用格式化字符串 %c 表示
例如:
866929-20160820221226671-877797101.png
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 奋斗中的码农 阅读(...) 评论(...) 编辑 收藏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值