c语言 如何输出ASCII码

要求是像图片中的样子

char y='X';

printf("%c ",y);   // 得 字符 X

printf("%d ",y);   // 得字符变量的ascii码,十进制数

printf("%x ",y);   // 得字符变量的ascii码,十六进制数

printf("%o ",y);   // 得字符变量的ascii码,八进制数

也可以先定义字符ch,输入字符,在把字符强制转换成整数就是该字符的ASCII码值,即int(ch)。

参考代码:

#include<iostream>

using namespace std;

int main()

{

char ch;

cin>>ch;

cout<<int(ch)<<endl;

return 0;

}

/*运行结果:

A

65

*/

拓展资料:

ASCII 码表述方法:

ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符。其中:

0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等;通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;ASCII值为8、9、10 和13 分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响。

32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字。

65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。

同时还要注意,在标准ASCII中,其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。

后128个称为扩展ASCII码。许多基于x86的系统都支持使用扩展(或"高")ASCII。扩展ASCII 码允许将每个字符的第8 位用于确定附加的128 个特殊符号字符、外来语字母和图形符号。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-10-31
第2个回答  推荐于2017-09-15
单字节ASCII 码 用 for (i=1;i<127;i++)printf("%c ",i); 就可以了。
你的显示像中文码。
这同你的系统语言设置和屏幕显示功能有关。
这是国标GB2312编码顺序。惊叹号以前那些字符显示与中文font文件还有关系,(例如,北京24点阵字体可以)。
GB2312编码 0xA3A1 是 惊叹号,右花括号 是 0xA3FD。
for (i=0xA3A1; i<=0xA3FD;i++) 用双字节显示 i; 就可以了。
如果要显示前后那些字符,把 循环 语句 初始和终止值改一下就可以了。
--------
如果你用 unicode 编码,则要 做一些 编码转换。网上有转换表。
惊叹号 是 0xff01, 右花括号 是 0xff5d
这段可能连续,转换比较简单.
-----
MessageBox 可以显示unicode
完整程序 (a.cpp):
#define UNICODE
#include <iostream>
using namespace std;
#include <windows.h>
#include <Winuser.h>
#pragma comment (lib, "User32.lib")
void main()
{
TCHAR s[200];
unsigned short int v;
int i;
for (i=0;i<100;i++) {
v= 0xff01 + i; s[i]=v;
}
s[i]=0x0000;
MessageBox(NULL,s,TEXT("msg"),MB_OK);
exit(0);
}
---
MS VC++ 6.0 编译器本回答被提问者和网友采纳
第3个回答  2013-11-27
#include<stdio.h>
void main()
{ int i;
for ( i=0;i<127;i++ )
{ printf("%c ",i+1);
if ( i%10==9 ) printf("\n");
}
printf("\n");
}
第4个回答  2013-11-27
#include <stdio.h>
int main()
{
int i;
char c=0;
for(i=1;i<=128;i++)
{
if(i%11!=0)
printf("%c ",c+i-1);
else
printf("\n");
}
return 0;
}
相似回答