要进行计算机程序设计,不仅仅进行科学数值类型计算,还需要处理一些文本信息,这就需要字符类型。在C++中字符可以表示字母、符号等,在编程的时候,通常使用一对单引号括起来,例如:'A','a','B','b','0'等。字符在计算机内存中占1个字节。
(一)、字符变量:
定义字符变量的格式如下:
char 变量1,变量2,……,变量n;
例如char ch='A';程序运行起来之后,向计算机申请1个字节的存储空间,用于存储字符变量ch的值,但在内存存储的不是'A',存储空间中存储的是字符'A'对应的ASCII码值(65)。
(二)、ASCII码:
ASCII (American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。
它是最通用的信息交换标准,并等同于国际标准ISO/IEC 646。ASCII第一次以规范标准的类型发表是在1967年,最后一次更新则是在1986年,到目前为止共定义了128个字符。
标准ASCII码也叫基础ASCII码,使用7位二进制数(剩下的1位二进制数为0)来表示所有的大写和小写字母、数字0到9、标点符号,以及在美式英语中使用的特殊控制字符。
在编程中常用的ASCII码,'0'对应48,'1'对应49,后面数字字符的ASCII码值依次增加1,'A'对应65,'B'对应66,后面字母字符的ASCII码也是依次增加1,'a'对应97,同理从'b'开始ASCII码依次加1。
(三)、字符的输入输出
1、第一种方式:
字符输入函数getchar()
函数getchar()是接收从键盘输入的单个字符数据,其语法格式为:
字符变量=getchar();
通常把输入的字符赋给一个字符变量。其使用要点如下:
(1)getchar()只能接收一个字符;
(2)getchar()等待用户输入,直到按回车键才结束。
字符输出函数putchar()
putchar()函数的作用是输出单个字符,其语法格式为:
putchar(字符变量)
实战训练—字符输入输出
从键盘上输入一个字符,并将其输出。具体程序如下:
#include<bits/stdc++.h>
using namespace std;
int main() {char ch;//定义一个字符变量ch ch = getchar();//从键盘上读取字符并存储到ch中 putchar(ch);//输出字符ch return 0;
}
2、第二种方式:
可以使用cin和cout函数来实现字符的输入和输出。
注意:如果输入的字符是空格,回车,Tab,不可以使用cin函数来输入,因为cin函数遇到空格,回车,Tab结束。
实战训练—使用cin和cout函数来实现字符输入和输出,具体程序如下:
#include<bits/stdc++.h>
using namespace std;
int main() {char ch;//定义一个字符变量ch cin>>ch;//从键盘上读取字符并存储到ch中 cout<<ch;//输出字符ch return 0;
}
3、第三种方式:
可以使用scanf和printf函数来实现字符的输入和输出。
实战训练—使用scanf和printf函数来实现字符的输入和输出,具体程序如下:
#include<bits/stdc++.h>
using namespace std;
int main() {char ch;//定义一个字符变量ch scanf("%c",&ch);//从键盘上读取字符并存储到ch中 printf("%c",ch);//输出字符ch return 0;
}
除此之外需要注意:数字0和字符'0'不一样,字符'0'的ASCII码是48,所以字符'0'相当于数字48,例如('0'-48)这个表达式的结果为0,而(0-48)这个表达式的结果为-48。
实战训练—阅读以下程序,写出运行结果。
#include<bits/stdc++.h>
using namespace std;
int main() {char ch='a';//定义一个字符变量ch,并初始化为字符'a',内存中存储的值为97; printf("%d,%c\n",ch,ch);//以整数和字符形式输出ch,输出结果为97,a int i = ch+10;//字符和整数进行运算,先将char转换为对应的ASCII码值(97)并和整数(10)相加,将107赋值给整型变量i;printf("%d,%c\n",i,i);//输出i的整数值,并将i的值107作为ASCII值找到对应的字符('k')并输出,输出107,kreturn 0;
}