每8列为一行这个比较难,因为一屏的宽度有限,一行显示6列还差不多:
#include "stdioh"
#define MAX 10
#define R 16
char getHex(int num)
{
char arr[MAX];
char chars[] = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
int i = 0, len;
char temp;
while(num)
{
arr[i++] = chars[num%R];
num /= R;
}
len = i;
for(i=0; i<len/2; i++)
{
temp = arr[i];
arr[i] = arr[len-i-1];
arr[len-i-1] = temp;
}
arr[len] = '\0';
return arr;
}
void list()
{
int ch, j;
int value;
for(ch=32; ch<48; ch++)
{
printf("%4c",'|');
for(j=0; j<6; j++)
{
value = ch + 16 j;
printf("%3s%4d%2c%2c", getHex(value), value, value, '|');
}
printf("\n");
}
}
int main(char argv, int args)
{
list();
return 0;
}
C语言中char类型占一个字节,属于有符号数,按补码进行数据存放。
如果用程序,来获取取值范围,可以设置两个变量来存储最大值和最小值,另设一个unsigned char型变量,从一个字节的0(00000000)开始累加,直到变成255(11111111),统计其中的最大和最小值。
参考代码:
#include <stdioh>int main()
{
unsigned char i;
char min, max;
max=min=0;
for( i=0;i<255;i++ )
{
if ( min>(char)i ) //按有符号数进行比较
min=i;
if ( max<(char)i ) //按有符号数进行比较
max=i;
}
printf("min=%d max=%d\n", min, max );
return 0;
}
运行结果:
min=-128 max=127
以上就是关于设计C 语言程序,输出码值为32~127 的ASCII 码值、字符对照表,每8 列为一行 。全部的内容,包括:设计C 语言程序,输出码值为32~127 的ASCII 码值、字符对照表,每8 列为一行 。、C语言中怎么计算一个类型的取值范围如 char 用程序算、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)