携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第5天,点击查看活动详情
声明变量
与其他类型变量的声明方式相同,例如:
char response;
char itable,latan;
字符化常量和初始化
如果要把一个字符常量初始化为字母A,不必背下ASCII码,通过初始化把字母A赋值给grade即可:
char grade ='A';
在C语言中,我们把用单引号括起来的单个字符被称为字符常量。当编译器发现A,就可以转化为对应的ASCII码。用的时候一定要加单引号,其他都是错误的。
char cakes; //声明一个char变量
cakes = 'B'; //正确赋值格式
cakes = B ; //错误赋值,此时B是一个变量
cakes = "B"; //错误赋值,此时“B”是一个字符串
其实,字符以数值形式储存,所以可以用数字代码来赋值:
char grade = 65; //对于ASCII码来说是正确的,但编程方式不太好
虽然65是int型,但是它在char类型能表示范围内,所以将赋值给grate是可以的。因为65是字母A对应的ASCII码,相当于将A赋值给了grade。但是这样做的前提是可以系统使用ASCII码。建议用A代替65比较好,这样不会出现不必要麻烦。最好用字符常量,而不是数字代码。
非打印字符
单引号只适用于字符,数字和标点符号,浏览ASCII表会发现,有些ASCII字符打印不出来。例如,退格,换行等。有2种方法可以表示这些字符:
- 使用ASCII码
例如蜂鸣字符的ASCII值是7,可以这样写:
char beep = 7;
- 转义序列
使用特殊的符号序列表示特殊的字符。
| 转义序列 | 含义 |
|---|---|
| \a | 报警 |
| \b | 退格 |
| \f | 换页 |
| \n | 换行 |
| \r | 回车 |
| \t | 水平制表符 |
| \v | 垂直制表符 |
| \\ | 反斜杠 |
| \' | 单引号 |
| \" | 双引号 |
| \? | 问号 |
| \0oo | 八进制值 |
| \xhh | 十六进制值 |
我们来分析一下转义序列:
- \a出现在屏幕的效果是发出一声蜂鸣,但不会移动屏幕光标。
- \b,\f,\n,\r,\t和\v是常用的输入设备控制字符。观察他们最好看它们活跃的地方。换页符把活跃位置移动到下一页的开始处;换行符把活跃位置移至下一行的开始处;回车符把活跃位置移至下一页的开始处;水平制表符将活跃位置移至下一个水平制表点(一般为1,9,17,25等字符位置);垂直制表符把活跃位置移至下一个垂直制表点。
- \,',"用于打印,',"字符。
- \0oo,\xhh 用于特殊表示ASCII码。如果用八进制ASCII表示一个字符,可以在编码值前面加一个反斜杠并用单引号括起来。