3.5字符型数据 3.51字符常量P48 字符常量是用单撇号括起来的一个字符 1.普通字符(可显示字符) a’,D,“$,“?,屮(只能单字符单引号) 2.转义字符如“n 在程序中这些符号用表3.3所示的“转义字符”表示。 因为C语言区分大小写,所以“a'与‘A'是不同的字符常量 错误:‘ABC’“A
3.5.1字符常量 P48 字符常量是用单撇号括起来的一个字符. 1. 普通字符(可显示字符) ‘a’, ‘D’, ‘$’, ‘?’, ‘!’ (只能单字符单引号) 2. 转义字符 如‘\n’ 在程序中这些符号用表3.3所示的“转义字符”表示。 因为C语言区分大小写,所以‘a’与‘A’是不同的字符常量. 错误:‘ABC’ “A” ‘’’ ‘”’ ‘\’ 3.5 字符型数据
转义字符例题分析 “r”使当前 位置回到本 行开头,自此 Example:P49例3.5 输出的字符 maint 0{ (包括空格和 跳格所经过 printf((ab_clt_ delrfItgln”);的位置)将取 代原来屏幕 printf("hItlab bj 上显示的字 符 运行结果f g de k 8列 8列 8列
转义字符例题分析 Example: main(){ char ch; ch=‘\362’; printf(“%c,%d”,ch,ch); } 运行结果: ≥,-14 ch = 3628=24210=111100102 111100102 化为原码为 10001110= -1410 Example: #include <string.h> main(){ printf( “a\n\”\x41\n”); printf(“%d\n”,strlen(“a\n\”\x41”)); } 运行结果: a “A 4 注:strlen为求字符串字节数函数(不计结束标志‘\0‘)。 Example: P49例3.5 main(){ printf( “_ _ a b _ c \ t _ d e \ r f \ t g \ n ”); printf( “h \ t I \ b \ b j _ _ _ k” ); } 运行结果: _ _ f_ _ _ _ a b _ c _ _ _ _ _ g d ed e h _ _ _ _ _ _ _ lj _ _ _ k 8列 8列 8列 “\r”使当前 位置回到本 行开头,自此 输出的字符 (包括空格和 跳格所经过 的位置)将取 代原来屏幕 上显示的字 符
什么时候要使用转义字符? 转义字符只在特殊情况下才使用: ·C程序中需要实现某些特写打印或显示动作时 如 printf((“123t56n”) C程序中需要打印或显示以下三个字符时 l(斜杠)"(双引号)·(单引号) 如 printf((You' re aa bad egg!”); C程序中需要打印或显示ASC表中非键盘字 符时 如 printf(“Look6andW80P);
什么时候要使用转义字符? 转义字符只在特殊情况下才使用: • C程序中需要实现某些特写打印或显示动作时 如 printf(“123\t56\n”); • C程序中需要打印或显示以下三个字符时 \ (斜杠) " (双引号) ' (单引号) 如 printf(“You’re a \”a bad egg!\” ” ); • C程序中需要打印或显示ASCII表中非键盘字 符时 如 printf(“ Look \16 and \x80 !”);
352字符变量 个字符变量在内存中占一个字 字符的存储(P50:是将字符的ASC码存放到存储单元中 而不是把该字符本身放到存储单元中 例如:a的ASc码:97在内存中的存储|0110001 那么字符的存储形式与整数的存储形式相似,这样使字符 数据和整型数据之间可以通用. 例如:a’若以%的形式输出—97 若以‰的形式输出-a 整型和字符型均可为 unsigned(无符号型)P43图34 此时int的范围0~65535char的范围0~255 Let's try.o
3.5.2字符变量 一个字符变量在内存中占一个字 字符的存储(P50):是将字符的ASCII码存放到存储单元中 而不是把该字符本身放到存储单元中. 例如:‘a’ 的ASCII码:97,在内存中的存储 那么字符的存储形式与整数的存储形式相似,这样使字符 数据和整型数据之间可以通用. 例如:‘a’ 若以%d的形式输出---97 若以%c的形式输出---a 01100001 • 整型和字符型均可为unsigned (无符号型)P43图3.4 此时 int 的范围 0~65535 char 的范围 0 ~255 Let’s try…