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

发布网友

我来回答

5个回答

热心网友

-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² 。

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

热心网友

整型常量有3中:
十进制整型常量,如123L(末位可带L、U等表示长整型、无符号)
八进制整型常量,以0开头,如0123,有些资料说八进制没有负数,但-012也是允许的
十六进制数,以0x开头,例如0x35,同样-0x12也是允许的

8E2是指数形式,属于实型常量,不属于整型常量

热心网友

-012不是,因为在C/C++中,二进制、八进制和十六进制数都是无符号数。
8E2不是,这是浮点数。

热心网友

C好像没有这样的函数,需要自己写一个,C++ 可以用cin.good() 来判断

热心网友

直接判断咯

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com