信息学奥赛一本通 1020:打印ASCII码 | OpenJudge NOI 1.2 07

【题目链接】

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;
}

上一篇:pat 计算华氏温度(python3)


下一篇:PTA 乙等 1020 月饼