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";
c++ 之 字符和字符串的更多相关文章
- Core Java 总结(字符和字符串类问题)
所有代码均在本地编译运行测试,环境为 Windows7 32位机器 + eclipse Mars.2 Release (4.5.2) 2016-10-17 整理 字符,字符串类问题 正则表达式问题 J ...
- Java语言程序设计(基础篇) 第四章 数学函数、字符和字符串
第四章 数学函数.字符和字符串 4.2 常用数学函数 方法分三类:三角函数方法(trigonometric method).指数函数方法(exponent method)和服务方法(service m ...
- 20151012 C# 第一篇 字符与字符串
20151012 字符与字符串: Char.String等类来表示 字符类Char 1. 字符类Char 表示一个 Unicode 字符,(Unicode字符是计算机通用的字符编码,对不同语言中的每个 ...
- Swfit 字符与字符串
Swfit 字符与字符串 OC 定义字符 char charValue = 'a'; Swift 定义字符 var charValue:Character = "a" Unicod ...
- js使用split函数按照多个字符对字符串进行分割的方法
这篇文章主要介绍了js使用split函数按照多个字符对字符串进行分割的方法,实例分析了split函数的使用技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了js使用split函数按照多个 ...
- Python使用split使用多个字符分隔字符串
Python的str类有split方法,但是这个split方法只能根据指定的某个字符分隔字符串,如果要同时指定多个字符来分隔字符串,该怎么办呢? 幸运的是python的re模块中提供的split方法可 ...
- windows核心编程---第二章 字符和字符串处理
使用vc编程时项目-->属性-->常规栏下我们可以设置项目字符集合,它可以是ANSI(多字节)字符集,也可以是unicode字符集.一般情况下说Unicode都是指UTF-16.也 ...
- [CLR via C#]14. 字符、字符串和文本处理
一.字符 在.NET Framewole中,字符总是表示成16位Unicode代码值,这简化了国际化应用程序的开发. 每个字符都表示成System.Char结构(一个值类型) 的一个实例.System ...
- C语言中的字符和字符串
C语言在中常常出现字符和字符串,而一串字符或者字符串其实就是数组 字符数组的定义 char arr[]={'h','e','l','l','o','\0'}; 而定义字符串: char arr1[]= ...
- Swift字符与字符串
学习来自<极客学院:Swift中的字符串和集合> 工具:Xcode6.4 直接上基础的示例代码,多敲多体会就会有收获:百看不如一敲,一敲就会 import Foundation /**** ...
随机推荐
- VMware上实现LVS负载均衡(NAT)
本文LVS的实现方式採用NAT模式.关于NAT的拓扑图请參照我的上一篇文章.本文纯粹实验.NAT在生产环境中不推荐使用.原因是Load Balancereasy成为瓶颈! 1.VMware9上安装Ce ...
- CoDel Test Script
This TCL script is retrieved from http://www.pollere.net/CoDel.html in November 2013 :) # Codel test ...
- Log4Qt使用(三)在DailyRollingFileAppender类中增加属性mMaxBackupIndex
在Log4Qt中存在一个比较大的问题,当使用 DailyRollingFileAppender对日志进行输出时,会无限输出文件,也就是说,当系统运行很久时,日志文件有可能很大,大到无法想象.因此,很多 ...
- ssh免密码登陆远程服务器
ssh免密码登陆远程服务器 在使用windows下的cygwin或者在linux下使用Terminal进行远程服务器登陆测试的时候总是会要求输入账号密码,对于此我们可以使用ssh将公钥放在服务器上的方 ...
- Java线程同步与死锁认识
讲下自己的认识,算小小的总结吧! synchroized 具有同步线程的功能,它的处理机制类似于给参数里面的对象赋一个标记值,来表明当前状态,当程序里面某个线程执行synchroized里面的代码段时 ...
- Xcode简易基础篇,以新手角度去操作
声明:此Newlife XCode非Mac的XCode,避免误会. 日常用的Newlife X组件的相关资源,不限于XCode,只是以XCode组件为主: 1.QQ群:1600800 2.博客 : h ...
- Canvas--2
Canvas2(关键词:setLineDash .rect .strokeRect .clearRect .arc.sin .strokeText ) 绘制其他样式: lineCap 结束端点的设 ...
- ZOJ 1642
题意:有两个字符串,每个串由n个字符组成,每个字符有一个价值,Roy每次指定串2中的一个字符,他的得分增加的值为这个字符的价值,然后把两个串中这个字符前面的那部分(包括这个字符)删掉,重复进行这样的操 ...
- 3步学会用gulp
1.安装gulp 安装gulp到全局:npm install -g gulp 安装gulp到某个项目:npm install --save gulp 注意:请先安装nodejs(自带npm) 2.创建 ...
- 让Mac OS X中的PHP支持GD
GD库已经是近乎于是现在主流PHP程序的标配了,所以也必须让Mac OS X中的PHP支持GD.在网上搜索了好多,最终按照这个方式成功实现,如何让Mac OS X支持PHP,请查看<让PHP跑在 ...

