【题目链接】
ybt 1020:打印ASCII码
OpenJudge NOI 1.2 07:打印ASCII码
【题目考点】
1. ASCII码表
ASCII码表是一张表,规定了0~127各数字对应的字符。
2. char类型
char类型是字符型,用于表示字符。其实质是有符号整型。
char类型变量占用一个字节,可以视为有符号整型变量,可以表示-128~127的数字。
char类型量就是一个数字,可以以数字形式输出,也可以以字符形式输出。
若以字符形式输出,输出的就是在ASCII码表中该数字对应的字符。
- char类型常量写法:‘字符’ (注意:单引号内只能有一个字符,而且该字符必须存在于ASCII码表中)
- char类型变量声明:char 变量名;
3. char类型输入
假设有char c;
- 使用cin输入:
cin>>c;
- 使用scanf()输入:
scanf("%c", &c);
- 使用getchar()输入:
c = getchar();
- 使用cin.get()输入:
c = cin.get();
4. char类型的输出
假设有char c = 'A';
- 使用cout输出:若表达式的类型是字符型,则输出字符。若是整型,输出数字。
cout<<(int)c<<' '<<c;//65 A
- 使用printf()输出:格式控制说明符为%c,输出字符。若是%d,输出数字。
printf("%d %c", c, c);//65 A
- 使用putchar()输出:
putchar(c);
- 使用cout.put()输出:
cout.put(c);
【题解代码】
解法1:使用cin,cout输入输出,使用强制类型转换
#include <bits/stdc++.h>
using namespace std;
int main()
{
char c;
cin>>c;
cout<<(int)c;
return 0;
}
解法2:使用scanf,printf输入输出
#include <bits/stdc++.h>
using namespace std;
int main()
{
char c;
scanf("%c", &c);
printf("%d", c);
return 0;
}
解法3:使用getchar()输入
#include <bits/stdc++.h>
using namespace std;
int main()
{
printf("%d", getchar());//getchar()获取一个字符型量,以整数形式输出
return 0;
}
解法4:使用cin.get()输入,将字符型量赋值给整型
#include <bits/stdc++.h>
using namespace std;
int main()
{
int v = cin.get();//cin.get()返回一个字符型量,其本质是数字,将其赋值给整型变量v,数字不变
cout<<v;//v是整型变量,会以数字形式输出
return 0;
}