易百教程

编写程序以显示可打印字符和空白区域名称

编写程序以显示可打印字符和空白区域名称

为每个空白字符输出适当的名称,例如“换行符”,“空格”,“制表符”等。

提示

可以使用ctype.h中的isgraph()函数来确定字符是否可打印。

实现示例代码

#include <stdio.h>
#include <ctype.h>

int main(void)
{
  char ch = 0;  /* 字符代码值 */
  for(int i = 0 ; i < 128 ; ++i)
  {
    ch = (char)i;
    if(i%2 == 0)
      printf("\n");
    printf("  %4d",ch);
    if(isgraph(ch))
      printf("               %c",ch);
    else
    {
      switch(ch)
      {
        case '\n':
           printf("          新行\n");
           break;
        case ' ':
           printf("          空格\n");
           break;
        case '\t':
           printf("          水平制表符\n");
           break;
        case '\v':
           printf("          水直制表符\n");
           break;
         case '\f':
           printf("          换页符\n");
           break;
        default:
           //printf("");
           break;
      }
    }

  }
  printf("\n");
  return 0;
}

执行上面示例代码,得到以下结果:

hema@ubuntu:~/book$ gcc main.c
hema@ubuntu:~/book$ ./a.out

     0     1
     2     3
     4     5
     6     7
     8     9          水平制表符

    10          新行
    11          水直制表符

    12          换页符
    13
    14    15
    16    17
    18    19
    20    21
    22    23
    24    25
    26    27
    28    29
    30    31
    32          空格
    33               !
    34               "    35               #
    36               $    37               %
    38               &    39               '
    40               (    41               )
    42               *    43               +
    44               ,    45               -
    46               .    47               /
    48               0    49               1
    50               2    51               3
    52               4    53               5
    54               6    55               7
    56               8    57               9
    58               :    59               ;
    60               <    61               =
    62               >    63               ?
    64               @    65               A
    66               B    67               C
    68               D    69               E
    70               F    71               G
    72               H    73               I
    74               J    75               K
    76               L    77               M
    78               N    79               O
    80               P    81               Q
    82               R    83               S
    84               T    85               U
    86               V    87               W
    88               X    89               Y
    90               Z    91               [
    92               \    93               ]
    94               ^    95               _
    96               `    97               a
    98               b    99               c
   100               d   101               e
   102               f   103               g
   104               h   105               i
   106               j   107               k
   108               l   109               m
   110               n   111               o
   112               p   113               q
   114               r   115               s
   116               t   117               u
   118               v   119               w
   120               x   121               y
   122               z   123               {
   124               |   125               }
   126               ~   127