一下选项中非法的字符常量是A,‘\102’B'\65' C'\xff' D'\019'?
A对,是个转义字符B错,‘65’这是两个字符,是个字符串,表示形式也错了C对,是个字符常量D错,看着是转义字符,\后应该是2位八进制数,但里面出现了8,所以错
转义字符,即反斜杠加数字或字母的形式(例如'\n'是换行符),转义字符本身就是一个字符。ABCD全是转义字符,D错误之处就在于它的数字部分019,在C语言里,一个数字是不需要以0开头的,一旦以0开头了,那么这个0所代表的意义是指八进制,例如01,是指八进制的1,因为八进制里是没有数字8和9的,所以09这样写是错误的,同理,D项的019这样写就错了,如果改为017那么就正确了。
同样的,C项以x开头代表了xff这个数是16进制,16进制里是有f的,数值上等于十进制里的15,如果C项改为xgg那么就错了,就是因为16进制里没有这个g。
数字前什么都不加,例如A和B项的102,65,C语言默认为十进制。
python非法常量是怎么回事?
非法常量就是不合法的常量,例如,数的格式写错了,例如数值范围超界了。 例如,8进制常量 用数字0开始,每位数只能是1到7: 007 -- 合法; 026 -- 合法; 008 -- 非法;
例如,16进制常量,用0x, 或 0X开始,最大到 f: 0x80ff -- 合法; x80ff -- 非法;
例如,字符常量,用单引号扩起: 'a', '1', '\n' -- 合法; "a",'\f' -- 非法 浮点数,1.0E-06,123.4 -- 合法; 1-E06 -- 非法
c语言不允许出现的常数?
1. 非法的数字表示:C语言中的数字常量必须遵循合法的表示规则。例如,数字常量不能以多个小数点开头或结尾,不能包含多个连续的小数点或指数标识符。
2. 非法的字符表示:C语言中的字符常量必须由单引号括起来,并且只能包含一个字符。例如,'AB'是一个非法的字符常量,因为它包含了多个字符。
3. 非法的转义序列:在C语言中,转义序列用于表示一些特殊字符,如换行符(\n)、制表符(\t)等。但是,有一些非法的转义序列是不允许出现的,例如'\a'表示警报字符,但在一些编译器中可能不支持。
4. 非法的前导零:在数字常量中,不能使用前导零来表示八进制或十六进制数。例如,'0123'是一个非法的八进制常量,应该写为'123'。
在 C 语言中,有一些常数是禁止使用的。以下是一些不允许在 C 语言中使用的常数:
1、0 和 0.0:这两个常数分别表示整数 0 和浮点数 0。在 C 语言中,0 被用作许多不同的含义,如空指针、逻辑***和文件结束符等。因此,将 0 作为普通的数值使用是不允许的。
2、-0 和 -0.0:这两个常数分别表示负整数 0 和负浮点数 0。和 0 一样,-0 被用作一些特殊的含义,如符号扩展的二进制表示的最小值。因此,将 -0 作为普通的数值使用也是不允许的。
3、1.0 和 -1.0:这两个常数分别表示整数 1 和整数 -1。在 C 语言中,1.0 和 -1.0 被用作一些特殊的含义,如比较浮点数相等性时的约定值和除数为负数的除法结果等。因此,将 1.0 和 -1.0 作为普通的数值使用也是不允许的。
4、NaN 和 NaN:这两个常数分别表示非数字(Not-a-Number)和负非数字。在 C 语言中,NaN 被用于表示无法表示的运算结果,如 0.0 除以 0.0 或使用不合法数学函数(如 log(0.0))时的结果。因此,将 NaN 和 -NaN 作为普通的数值使用也是不允许的。