设计C 语言程序,输出码值为32~127 的ASCII 码值、字符对照表,每8 列为一行 。

设计C 语言程序,输出码值为32~127 的ASCII 码值、字符对照表,每8 列为一行 。,第1张

每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 用程序算、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10211499.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存