编写程序以显示可打印字符和空白区域名称
为每个空白字符输出适当的名称,例如“换行符”,“空格”,“制表符”等。
提示
可以使用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