
C语言黑客学员必修课之八.doc
2页C语言:黑客学员必修课之八字符变量 字符变量的取值是字符常量,即单个字符字符变量的类型说明符是char字符变量类型说明的格式和书写规则都与整型变量相同 例如: char a,b; 每个字符变量被分配一个字节的内存空间,因此只能存放一个字符字符值是以ASCII码的形式存放在变量的内存单元之中的如x的 十进制ASCII码是120,y的十进制ASCII码是121对字符变量a,b赋予'x'和'y'值: a='x';b='y';实际上是在a,b两个单元内存放120和121的二进制代码: a 0 1 1 1 1 0 0 0 b 0 1 1 1 1 0 0 1 所以也可以把它们看成是整型量 C语言允许对整型变量赋以字符值,也允许对字符变量赋以整型值在输出时, 允许把字符变量按整型量输出,也允许把整型量按字符量输出 整型量为二字节量,字符量为单字节量,当整型量按字符型量处理时, 只有低八位字节参与处理 main(){ char a,b; a=120; b=121; printf("%c,%c\n%d,%d\n",a,b,a,b); } a ■ b ■ a <-- 120 b <--- 121 显示程序结果 char a,b; a=120; b=121; 本程序中说明a,b为字符型,但在赋值语句中赋以整型值。
从结果看,a,b值的输出形式取决于printf函数格式串中的格式符,当格式符为"c"时,对应输出的变量值为字符,当格式符为"d"时,对应输出的变量值为整数 void main(){ char a,b; a='x'; b='y'; a=a-32; b=b-32; printf("%c,%c\n%d,%d\n",a,b,a,b); } a,b被说明为字符变量并赋予字符值 把小写字母换成大写字母 以整型和字符型输出 本例中,a,b被说明为字符变量并赋予字符值,C语言允许字符变量参与数值运算,即用字符的ASCII 码参与运算由于大小写字母的ASCII 码相差32,因此运算后把小写字母换成大写字母然后分别以整型和字符型输出 。
