C语言long是什么意思?

Python027

C语言long是什么意思?,第1张

1. long 是C语言的一个关键字,代表一种数据类型,中文为长整型。

2. long是long int的简写,也就是说,在C语言中long int类型和long类型是相同的。

3. 每个long型占4个字节,在32位编译系统下,long和int占的空间是相同的。这也导致了long型变量使用的越来越少了。

4. long型可以表示的整型数字范围为-2,147,483,648 ~ 2,147,483,647, 即-2^32 ~ 2^32-1。

在用在C的格式化输入输出时,long型的格式化字符为"%ld"。

5. long同其它整型类型一样,可以同unsigned 联合使用,形成unsigned long,即无符号长整型, 其格式化字符为"%lu"。

6. 在部分编译器下,比如gcc, 两个long合用,即long long类型,表示C语言目前最长的系统整型类型,每个long long类型占8字节,64位。其格式化字符为"%lld"。

C语言中输出long long型数据使用%lld格式输出的方法:

1、 long long 是C99标准对整型类型做的扩展,每个long long类型的变量占8字节,64位。其表示范围为-9223372036854775808~9223372036854775807。

2、long long 类型输出的时候,需要用printf函数,用%lld格式输出。 示例代码如下:long long a = 1234printf("a=%lld\n", a)。

3、输出的各种可用于%d上的格式控制,均可用于%lld上,比如%10lld,表示输出占十位宽度等。

扩展资料:

C语言基本特性

1、高级语言:它是把高级语言的基本结构和语句与低级语言的实用性结合起来的工作单元。 [11]

2、结构式语言:结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。

C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

3、代码级别的跨平台:由于标准的存在,使得几乎同样的C代码可用于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。C语言对编写需要进行硬件操作的场合,优于其它高级语言。

4、使用指针:可以直接进行靠近硬件的操作,但是C的指针操作不做保护,也给它带来了很多不安全的因素。C++在这方面做了改进,在保留了指针操作的同时又增强了安全性,受到了一些用户的支持,但是,由于这些改进增加语言的复杂度,也为另一部分所诟病。

Java则吸取了C++的教训,取消了指针操作,也取消了C++改进中一些备受争议的地方,在安全性和适合性方面均取得良好的效果,但其本身解释在虚拟机中运行,运行效率低于C++/C。一般而言,C,C++,java被视为同一系的语言,它们长期占据着程序使用榜的前三名。 [

特有特点

1、C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。

2、C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。

3、不同的变量类型可以用结构体(struct)组合在一起。

4、只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。

5、部份的变量类型可以转换,例如整型和字符型变量。

6、通过指针(pointer),C语言可以容易的对存储器进行低级控制。

7、预编译处理(preprocessor)让C语言的编译更具有弹性。

参考资料:百度百科-C语言

在c语言中,对于数值类型只有通过printf类函数输出这一种方式,比如printf,

sprintf,

fprintf等。这类函数输出时要求有格式符号,其中long

double的格式符号为%llf

以下是一个简单的参考代码,输出到标准输出设备。

#include

int main()

{

long double v = 1.23

printf("%llf\n", v)//采用%llf格式输出long double 类型

return 0

}

关于long

double,

需要说明的是,在原始的c标准中是没有这个类型的,c99中才添加了该类型。而在c99及后续的规范中,对于该类型规定的也并不详细,只是要求long

double类型在精度上需要不少于double的精度。于是就出现了有的编译器不支持long

double,

而支持的编译器在实现上也有所区别,目前常见的long

double有占用8字节,10字节,12字节和16字节四种,但输出格式都是相同的%llf。

如果想知道使用的编译器是如何实现的,可以用printf("%d",

sizeof(long

double))输出long

double占用的空间值。