展开全部
char c; 字符型变量,实际上是1字节整型。
单引号括起的叫 字符常量,例如:
'0' 是字符常量,实际上1 字节整型量,它的数值等于 ASCII 字符 0 的编码,16进制 0x30
'9' 是字符常量,实际上1 字节整型量,它的数值等于 ASCII 字符 9 的编码。16进制 0x39
ASCII 字符 0,1,2,3,4,5,6,7,8,9 的编码 连续,从 0x30 到 0x39。
所以 当 c >= '0' 并且 c <='9' 时, c 必定 是 字符 0到9 中的 一个,就是数字。
'A' 是字符常量,实际上1 字节整型量,它的数值等于 ASCII 字符 A 的编码
'Z' 是字符常量,实际上1 字节整型量,它的数值等于 ASCII 字符 Z 的编码
ASCII 字符 A,B,C,D...Z 的编码 连续。
所以 当 c >= 'A' 并且 c <='Z' 时, c 必定 是 字符 A到Z 中的 一个,是大写字母。
类似地,当 c >= 'a' 并且 c <='z' 时, c 必定 是 字符 a到z 中的 一个,是小写字母。
=========
不用单引号的 0,1,2,3,4,5,6,7,8,9 是 数值,它们是4字节 int 型 整型量。
数值上,'0' 比 0 大得多,x= '0' - 0 = 48;
你可以用 printf("%d %#x %c\n",'0','0','0');
输出'0' 的 10进制值,16进制值,字符 看看
双引号括起的叫字符串,不在讨论范围以内。
单引号括起的叫 字符常量,例如:
'0' 是字符常量,实际上1 字节整型量,它的数值等于 ASCII 字符 0 的编码,16进制 0x30
'9' 是字符常量,实际上1 字节整型量,它的数值等于 ASCII 字符 9 的编码。16进制 0x39
ASCII 字符 0,1,2,3,4,5,6,7,8,9 的编码 连续,从 0x30 到 0x39。
所以 当 c >= '0' 并且 c <='9' 时, c 必定 是 字符 0到9 中的 一个,就是数字。
'A' 是字符常量,实际上1 字节整型量,它的数值等于 ASCII 字符 A 的编码
'Z' 是字符常量,实际上1 字节整型量,它的数值等于 ASCII 字符 Z 的编码
ASCII 字符 A,B,C,D...Z 的编码 连续。
所以 当 c >= 'A' 并且 c <='Z' 时, c 必定 是 字符 A到Z 中的 一个,是大写字母。
类似地,当 c >= 'a' 并且 c <='z' 时, c 必定 是 字符 a到z 中的 一个,是小写字母。
=========
不用单引号的 0,1,2,3,4,5,6,7,8,9 是 数值,它们是4字节 int 型 整型量。
数值上,'0' 比 0 大得多,x= '0' - 0 = 48;
你可以用 printf("%d %#x %c\n",'0','0','0');
输出'0' 的 10进制值,16进制值,字符 看看
双引号括起的叫字符串,不在讨论范围以内。
展开全部
用单引号为单个字符,如果是双引号,就代表是字符串!这句话表示是c的范围在字符0到字符9之间字符!如果满足这个条件就输出This is s digit
追问
1.百度一下了还是不太明白字符和字符串的意思,能通俗解释一下吗? 2.是不是因为是引用SCA码所以才加的引号?
追答
简单的来讲,字符就是一个单一的符号(asc码所对应的255个符号),字符串是一系列字母的组合,不是因为ASC码才加单引号的,而是C语言规定字符必须使用单引号,字符串使用双引号。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
字符用单引号 字符串用双引号 规定 记住
追问
1.百度一下了还是不太明白字符和字符串的意思,能通俗举例解释一下吗? 2.是不是因为是引用SCA码所以才加的引号?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询