大家好,今天小编关注到一个比较有意思的话题,就是关于c语言非法字符常量的问题,于是小编就整理了3个相关介绍c语言非法字符常量的解答,让我们一起看看吧。
一下选项中非法的字符常量是A,‘\102’B'\65' C'\xff' D'\019'?
转义字符,即反斜杠加数字或字母的形式(例如'\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语言默认为十进制。
A对,是个转义字符B错,‘65’这是两个字符,是个字符串,表示形式也错了C对,是个字符常量D错,看着是转义字符,\后应该是2位八进制数,但里面出现了8,所以错
"A"为什么不是合法的C语言字符常量?
A对,是个转义字符 B错,‘65’这是两个字符,是个字符串,表示形式也错了 C对,是个字符常量 D错,看着是转义字符,后应该是2位八进制数,但里面出现了8,所以错
如何判断C语言中的合法常量?
判断C语言中的合法常量方法如下:
1,整型分前缀(0、0x)和后缀(u、l),每种进制中用的数字不同;
3,字符与字符串主要注意转义字符后面是否合法。
字符常量可以赋值给字符变量,如34;char b='a';",但不能把一个字符串常量赋给一个字符变量,同时也不能对字符串常量赋值!
实型常量又称实数或浮点数。在C语言中可以用单精度型和双精度型两种形式表示实型常量,分别用类型名float和double进行定义 。
实型常量在一般的微型集中占用4个字节,一般形式或者指数形式,数值范围都是-1038~1038,有效数字是7位。指数形式即指数形式的实数。它是由尾数部分、小写字母e或大写字母E、指数部分组成,形式如“尾数E指数”或“尾数e指数”。
尾数部分可以是十进制整数或一般形式的十进制实数,指数部分是十进制的短整数(可以带“+”号或“-”号)。
数的正负用前面的“+”(可以省略)号或“-”号来区分。
指数形式的实数它的数值可以用公式计算:尾数*10指数C语言语法规定,字母e或E之前必须要有数字,且e或E后面的指数必须为整数。如e3、5e3.6、.e、e等都是非法的指数形式。注意:在字母e或E的前后以及数字之间不得插入空格。