2.5.1字符常量 字符常量是指用一对单引号括起来的一个字符。如‘a’,‘9’,‘!’。字符常量中的单引号只起定界浸染并不暗示字符自己。单引号中的字符不能是单引号(’)和反斜杠(\),它们特有的暗示法在转义字符中介绍。) @. w1 l4 y; p9 x$ T
在CC说话中,字符是按其所对应的ASCII码值来存储的,一个字符占一个字节。例如:字符ASCII码值(十进制)!33048149957A65B66a97b983 P3 ]6 @4 Q1 C
注重字符'9'和数字9的区别,前者是字符常量,后者是整型常量,它们的寄义和在计
3 ^1 n, @8 r5 h C! \ 算机中的存储体例都截然分歧。; m: G& b* b3 c& N6 A9 B9 D
因为C说话中字符常量是按整数(short型)存储的,所以字符常量可以像整数一样在轨范中介入相关的运算。例如:- B5 e' K8 F9 L8 v& }. [4 q) w
'a'-32;/*执行结不美观97-32=65*/
2 \% ]) A4 d; N. Q( { 'A' 32;/*执行结不美观65 32=97*/
- R) [) D. K' d0 Y$ r- h; d '9'-9;/*执行结不美观57-9=48*// b; ~3 |* {7 u) W: t" q8 g) j
2.5.2字符串常量
+ L$ a5 J: T8 y0 K/ X, S+ }$ E 字符串常量是指用一对双引号括起来的一串字符。双引号只起定界浸染,双引号括起的字符串中不能是双引号(")和反斜杠(\),它们特有的暗示法在转义字符中介绍。例如:# P* i% X( J; c- J; n9 V2 Y! B
"China","Cprogram","YES&NO","33312-2341","A"
" G1 z+ X$ T8 N' r) x. R3 u 等。C说话中,字符串常量在内存中存储时,系统自动在字符串的末尾加一个“串竣事标识表记标帜”,即ASCII码值为0的字符NULL,常用\0暗示。是以在轨范中,长度为n个字符的字符串常量,在内存中据有n 1个字节的存储空间。例如,字符串China有5个字符,作为字符串常量"China"存储于内存中时,共占6个字节,系统自动在后面加上NULL字符,其存储形式为: ; R( s( ~" ^4 z- @
! {8 Q5 i9 k- E7 \
要出格注重字符串与字符串常量的区别,除了暗示形式分歧外,其存储性质也不不异,字符'A'只占1个字节,而字符串常量"A"占2个字节。
+ z" W: D- ?# Z7 h 2.5.3转义字符
" P4 ?/ j& A6 F' E f) d 转义字符是C说话中暗示字符的一种非凡形式。凡是使用转义字符暗示ASCII码字符集中不成打印的节制字符和特定功能的字符,如用于暗示字符常量的单撇号('),用于暗示字符串常量的双撇号(")和反斜杠(\)等。转义字符用反斜杠\后面跟一个字符或一个八进制或十六进制数暗示。表2-4给出了C说话中常用的转义字符。& ?3 t2 q: u( }6 P, Q" J
5 G8 g: Y) A6 F/ R" h
+ [+ g0 E& _- n$ a, s 字符常量中使用单引号和反斜杠以及字符常量中使用双引号和反斜杠时,都必需使用转义字符暗示,即在这些字符前加上反斜杠。4 |9 [, z/ G6 R* b3 z' ]
在C轨范中使用转义字符\ddd或者\xhh可以便利矫捷地暗示肆意字符。\ddd为斜杠后面跟三位八进制数,该三位八进制数的值即为对应的八进制ASCII码值。\x后面跟两位十六进制数,该两位十六进制数为对应字符的十六进制ASCII码值。3 l! ?$ [# [9 l: U' F9 Z% F4 r
使用转义字符时需要注重以下问题:; f! t8 `' D; G) ?3 b4 F+ w' [
:1)转义字符中只能使用小写字母,每个转义字符只能看作一个字符。
H+ b, \2 P- F3 q6 M5 @: D 。2)\v垂直制表和\f换页符对屏幕没有任何影响,但会影响打印机执行响应操作。3)在C轨范中,使用不成打印字符时,凡是用转义字符暗示 |