c语言“实数,字符”的问题

c语言“实数,字符”的问题,第1张

第一个题,A错,不是常量,是逗号表达式,注意区分,别被它的外表蒙骗了,B表示转义字符,是字符常量,C是整形常量,D,是字符串常量,一般只要是字符串,双引号里面什么都可以,只要能用键盘打出来

第二道题D,正确,上面已经解释过,是字符串常量,A,错,是逗号表达式,B,错指数不能为double类型的,必须为整形,C,错斜杠这样表示'\\'

你看清楚题,第一题是要找错误的额,第二题是要找正确的

1,B

2,A

3,D

4,D

5,B

6,A

7,A

8,C

9,B

10,C

11,A

12,D

13,A

14,D

15,C

16,A

严格来说,C语言中没有“实型”(real type)这种数据类型。

C语言中非构造类型只有整型(int、short、long、long long和对应的unsigned修饰的类型,以及同义写法),以及浮点型(包括单精度浮点型float,双精度浮点型double,长双精度浮点型long double)两大类。其中float和double内部储存形式遵循IEEE 754标准,long double取决于编译平台。C语言中的浮点型数内部储存形式为指数计数法分段存储的二进制形式的小数,即使在规定大小和字长精度范围之内也不能严格无误差地表示所有十进制小数、有理数,更不用说实数。(而C语言源代码中除了16进制整数表示的实际存储形式以外,直接表示的所有浮点数都只能是十进制的,因此除非在二进制下也是有限小数(分数形式中分母是2的幂),且不是太长,否则在编译过程中即会产生误差。)

尽管如此,有时候float、double、long double这三者(或者前两者)会被不严格地统称为“实型”。

C语言中,数值常量的后缀(大小写同义)可以表达常量的类型,例如0UL表示unsigned long型数0。如果没有后缀,则通过具体的写法来确定。总的原则是尽可能避免精度损失。不过也不是范围越小越好,例如0是int型而不是char型常量。对于没有后缀的十进制小数(小数部分或整数部分之一完全不写的也算,当作省略了0),默认为double常量,例如31415等同于31415D。(如果要用float常量,应该使用31415f或31415F。)对于指数形式的,默认也是double,例如0329e2(或者0329E+2之类的也可以)。至于032910^2如果出现在源代码中,会被当做是一个表达式,先计算0329和10的积,结果再和2作^(位异或)运算。但由于积是double类型的,不能参与位运算,会给出编译错误。

871是int常量,不是“实型”常量。

871、871f、8710F、871d、8710D、871E+2、0871e3这类才是“实型”常量。

回答者: 幻の上帝 - 十四级 2010-1-16 19:52

其实,在现在的计算机中通常使用的都是32位编译器(除非你还使用Turbo C),这时int和long已经没有什么区别。(都是占4个字节,表示范围从-2147483648到2147483647)B没写L,默认是int。C和D都是实数。

有时,你也会看到一些老的代码中,在一些整型常后面加一个大写或小写的 L 字母。如:989L 这是什么意思呢?原来,一个常数如果其范围允许,那么计算机默认将其认为是 int 类型的,那么要让计算机把某个数认为是 long int类型,就可以在其后面加 L 或 l。不过,这在以前的16位机器才有意义了。现在,我们的机器都是32位,long int 和 int 完全一样,都是占用4个字节,所以,我们没有必要这样用了。但是long long 类型常量定义时就得写3LL,而unsigned long long 为 3ULL

1 B

A 012 C 123E4 00 D 1E3 234正确

2

A 5E-94 B-06 C123E 12E-4 D-E3错的 所以没有答案 这个运行一下就能证明

以上就是关于c语言“实数,字符”的问题全部的内容,包括:c语言“实数,字符”的问题、关于c语言中数的表示以下叙述正确的是、C语言实型常量判断等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10101203.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存