C语言中常量的默认类型

作者&投稿:田眨 (若有异议请与网页底部的电邮联系)
C语言中的常量有哪些类型?~

用#define定义的是宏(符号常量),用const关键字定义的特定类型的常量.

宏会在程序编译之前由预处理器在程序文本中进行替换.

C语言中的常量一般分为两类整型常量和浮点数常量。

整型常量的默认数据类型是int类型,即有符号整型。
浮点数常量的默认类型是double类型,即长浮点数类型。

注意:整型常量中有一类特殊的常量,即字符常量,有字符常量,引申出字符串常量。字符常量的默认类型是char类型,即有符号字符类型,字符串常量的类型,一般为const int类型。同时,不同的编译器,略有不同,但一般遵守该规则。

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

实型数还可以使用科学计数法,或曰指数形式,如:123e4、或123E4 都表示 123 * 104,即 1230000。

我们学过的实数数据类型有:float,double,long double。在C++中,默认的常数类型是double。比如你写:

1.234;

那么,C++按double类型为这个数分配内存,也就是说为它分配8个字节。如果要改变这一点,可以通过加后缀字母来实现。

加 f 或 F,指定为float类型。

加 l 或 L, 指定为double类型。

以下示例:

12.3f //float类型

12.3 //默认类型(double)

12.3L //long double类型

12.3e400 //long double类型,因为值已不在double类型的取值范围内

是的,那个F 大小写没什么关系。

是的


C语言中长整型常量特征?
1.长整型:有符号整数;满足sizeof(long)>=sizeof(int),一般32位平台sizeof(long)为4;此外由于sizeof(short)<=sizeof(int),所以sizeof(long)>=sizeof(short)。2.常量:不能被修改。常量在C语言中是数值字面量。字面量后缀为L或l,表示long,例如1234L、0l。如果不带后缀,默认为int字面...

c语言 数字后面的L是什么意思
这些后缀跟是在字面量(literal,代码中的数值、字符、字符串)后面,常量(constant)是值不变的量,二者不是一个概念。C语言中,运算和运算数的类型是无法分割的,运算数类型决定了运算效果是什么。字面量要参与运算,也离不开类型。在大多数场景下默认类型的表现符合编程者的预期。所以有时会甚至...

在c语言中为什么5.6\/2要写成2.800000?
在C语言中,数字常量的表示可以采用不同的格式。当使用小数点表示浮点数时,C语言默认使用双精度(double)类型。在执行除法操作时,如果操作数中有一个是浮点数(如5.6),则结果也将是浮点数。在你提供的例子中,5.6\/2的结果是2.8。然而,当该结果作为浮点数表示时,默认情况下会以双精度(...

C语言中的数值常量有哪些?
C语言中的数值常量如下:一、字符常量。形如: ‘ a ’ 、‘ b ’ 、‘ 1 ’、 ‘ \\aaa ’、 ‘ \\xbb ’ 。其中aaa是一个八进制的数,是ascii值;bb是一个十六进制的数,是ascii值。字符常量的类型为:char。二、整型常量。形如: 1 、-2 、123 、0b1001 、1101 、0x7FFF FFFF、...

C语言的数据类型分为几种?
short、int、long、char、float、double 这六个关键字代表C 语言里的六种基本数据类型。在不同的系统上,这些类型占据的字节长度是不同的:在32 位的系统上 short 占据的内存大小是2 个byte;int占据的内存大小是4 个byte;long占据的内存大小是4 个byte;float占据的内存大小是4 个byte;double占据...

C语言中的常量有那些类型?
整体上分两类,一类是整型常量,一类是浮点型常量。细致上分,整型常量还包括字符常量、字符串常量。①. 整型常量 如6,27,-299 ②. 浮点型常量 如5.43,-2.3,5.43F(单精度)、2.3f(小写的f也可以)③. 字符常量 如‘6’,‘a’,L'中'(宽字符常量)④. 字符串常量 如“6...

C语言中 unsigned int a=-1 printf(“-1=%d\\n”,a); 为什么输出值_百度...
输出值为-1。原因:1、在C语言中整型常量的数据类型默认为int,所以unsigned int a = -1中,-1的类型是int类型。实际上是有一个隐式转换,即将int类型转成unsigned int类型。 这个转换的意义不大,因为没有超出unsigned类型的表示范围,所以a的机器码依然是-1的机器码。2、printf输出函数的控制字符...

c语言中什么样的常量是合法的常量?
2、\/*合法的*\/215u\/*合法的*\/0xFeeL\/*合法的*\/078\/*非法的:8不是八进制的数字*\/032UU\/*非法的:不能重复后缀*\/浮点常量由整数部分、小数点、小数部分和指数部分组成。3、常量的概念:常量是指在程序运行过程中,其值不能被改变的量。C语言中常量:直接常量和符号常量。4、C语言中的常量是...

C语言,实型常量???
小数形式:小数形式是由数字和小数点组成的一种实数表示形式,例如0.123、.123、123.、0.0等都是合法的实型常量。注意:小数形式表示的实型常量必须要有小数点。指数形式:在C语言中,则以“e”或“E”后跟一个整数来表示以“10”为底数的幂数。2.3026可以表示为0.23026E1、2.3026e0、23.026...

在C语言中,整型常量和整数是一个意思吗?
C语言中 整型常量 和 整型常数 是一个意思。整型常量 有十进制, 八进制(0开头),十六进制 形式(0x开头)。有用L 结尾,U 结尾, LL 结尾 表示 long int, unsigned, long long int (i64) 的。不同类型的数据,有各自规定的数据范围。--- C语言中 还有其它类型的 常量,例如字符型字面...

和政县13989299071: 求助,整数常量默认是int类型是在哪里规定的 -
矣胆凡慕: C语言中的常量一般分为两类整型常量和浮点数常量.整型常量的默认数据类型是int类型,即有符号整型. 浮点数常量的默认类型是double类型,即长浮点数类型.注意:整型常量中有一类特殊的常量,即字符常量,有字符常量,引申出字符串常量.字符常量的默认类型是char类型,即有符号字符类型,字符串常量的类型,一般为const int类型.同时,不同的编译器,略有不同,但一般遵守该规则.

和政县13989299071: 有关c语言的常量类型: -
矣胆凡慕: 1. int 2. double,另外这是一个常量表达式; int 3. 非法. 4. double 5. char[4] 6. 非法. 1. 整数字面量没有后缀的情况下可能会是int/long/long long/其它扩展整数类型. 2. 没有后缀的浮点数字面量的类型始终是double.对一个整数字面量添加后缀f是非法的,故09f是非法的. 3. 字符串字面量的类型是字符数组,其尺寸取决于包含的字符个数.

和政县13989299071: 程序中 常量的表示方式 -
矣胆凡慕: 1.数值常量:例如 a = b + 5;,这里的5就是常量.在常量后加上恰当的后缀可以表示特定类型的常量,例如1.0f是float常量.不带后缀的浮点数默认类型为double. 2.符号常量:用#define替换为数值常量,只存在于编译期.例如 #define A 5 定...

和政县13989299071: c语言常量数据一般是什么类型,比如int b=1; float a=3.145+b; -
矣胆凡慕: C语言代码如下:#include #define Pi 3.14void main(){int a=3,b=2;float c=2.5;printf("%0.5f\n",(float)(a+b)/3+(int)c);}输出(float)(a+b)/3+(int)c的值(保留五位小数):3.66667运算过程:首先计算a+b的值,得5,再转换为单精度类型,然后除以3,得1.66666……,接着c的值强制转换为整型数2,2+1.66666……=3.66666……≈3.66667.所以(float)(a+b)/3+(int)c的值(保留五位小数)为3.66667.

和政县13989299071: C语言中的常量有那些类型? -
矣胆凡慕: 整型常量、实型常量和字符型常量和字符串常量,另外还有符号常量和有名常量.

和政县13989299071: 字符常量的类型是int型 -
矣胆凡慕: 在C语言中 char short int 本来默认就是int型变量,只是其取值范围不一样而已!所以一般你在编译器 这样写 char ch = 0x20 ;编译器不会报错,因为20没有越过CHAR型的边界;当越界是就会弹出警告. 你想想为什么?0X20肯定是 int型变量,而char只是int的一个特例类型!

和政县13989299071: E - 3是合法的c语言常量吗 -
矣胆凡慕: C语言的常量有整数常量,实型常量,字符常量,符号常量等.1、整数常量 整数常量是指直接实用的整形常数,又称整形常数或者整数,例如,1,-9等.整数常量可以是长整形、短整型、符号整型和无符号整型. a)八进制数 八进制整数必须...

和政县13989299071: 在C语言中常量主要表现为哪四种 -
矣胆凡慕: 整型常量,浮点型常量,字符常量,字符串常量,你也可以把true和false也看成常量

和政县13989299071: C语言实型常量 -
矣胆凡慕: 我觉得这两个是正确的实型常量阿 引用如下: 严格来说,C语言中没有“实型”(real type)这种数据类型. C语言中非构造类型只有整型(int、short、long、long long和对应的unsigned修饰的类型,以及同义写法),以及浮点型(包括单精度浮...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网