一、C语言中的合法整型
首先C语言中的整型有三种表示方式:十进制、八进制和十六进制。(C语言中没有表示二进制的整型)
十进制:
如 int a = 63; //一个正常的整型
八进制:
如果想用8进制对变量进行赋值则这样
int a = 077; //八进制给整型赋值
以数字0开头,由0~7组成
十六进制:
int a = 0x3F; //十六进制给整型赋值
以0x开头,由0~F组成
所以我们对合法整数的判断,可以首先从进制判断入手,
- 若以0开头,则为八进制,不能出现大于等于8的数字;
- 若以0x开头,则为十六进制,数字的范围为0~F;
- 若都不是,则为十进制,要求数字为0~9。
二、C语言中的合法字符
C语言中的字符常量要求以单引号 ' ' 括起来,否则为非法字符。
除了直接表示的字符外,部分为转义字符比如
' ' // 换行 ' ' // 制表 '\' // 斜杆 '"' // 引号
还有一部分为用八进制或十六进制整型表示的字符,在对应数值前加上斜杠,注意C语言规定不允许使用斜杠加十进制表示字符!
'?' // 直接表示的?字符 'x3F' // 十六进制表示的?字符 '