怎样判断给出的数据是不是C语言的整型常量,如-012,0x35,123L,8E2

如题所述

-012、0x35、123L是,8E2不是。

在C语言中,整型常量可用以下三种形式表示:

1、十进制整数,即按日常接触的数字形式正常表达。如123、-120;

2、八进制整数,以0开头的数字进行表达。如0123表示八进制数123,即(123)8,其值为1*82+2*81+3*80,等于十进制数83。-011表示八进制数-11,即十进制数-9。

3、十六进制整数,以0x开头的数字进行表达。如0x123,代表十六进制数123,即(123)16,其值为1*162+2*161+3*160,等于十进制数291。-0x12等于十进制数-18。

扩展资料:

实型常量

在C语言中,实型常量只能用十进制形式表示。它有两种形式:小数形式和指数形式。

1、小数形式

正负号、0~9的数字和小数点组成。小数点前面和后面可以没有数字(不能同时省略)。如:-1.85、0.24、.426、-11.

2、指数形式

由十进制数加上阶码标志e或E以及阶码组成。其一般形式为aEn。其中a为十进制数,n为十进制整数(n为正数时“+”可以省略),其值为a×10ⁿ。

如:1.236e+2表示1.236×10² 。

参考资料来源:百度百科-整型常量

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-24
整型常量有3中:
十进制整型常量,如123L(末位可带L、U等表示长整型、无符号)
八进制整型常量,以0开头,如0123,有些资料说八进制没有负数,但-012也是允许的
十六进制数,以0x开头,例如0x35,同样-0x12也是允许的

8E2是指数形式,属于实型常量,不属于整型常量本回答被提问者采纳
第2个回答  2012-12-19
-012不是,因为在C/C++中,二进制、八进制和十六进制数都是无符号数。
8E2不是,这是浮点数。
第3个回答  2012-12-19
C好像没有这样的函数,需要自己写一个,C++ 可以用cin.good() 来判断
第4个回答  2012-12-19
直接判断咯
相似回答