c语言存储类型
A. 7、在c语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为 。
5种基本数据类型的存储空间长度的排列顺序为:char<int<long int<=float<double。
char(字符型)的存储空间大小为1个字节,int(整数型)的存储空间大小为2个字节,long int(长整数型)的存储空间大小为4个字节,float(单精度型)的存储空间大小为4个字节,double(双精度型)的存储空间大小为8个字节。
所以char<int<long int<=float<double,结果选择A。
(1)c语言存储类型扩展阅读:
强制类型转换是通过类型转换运算来实现的。其一般形式为:(类型说明符)(表达式)其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。
自动转换是在源类型和目标类型兼容以及目标类型广于源类型时发生一个类型到另一类的转换。例如: (float) a 把a转换为浮点型,(int)(x+y) 把x+y的结果转换为整型。
B. 写出c语言数据类型的标识符及存储长度。
c语言基本数据类型有浮点型和整型
32位系统下各类型的 字节长度
一字节为8个bity位
整型:
基本整形 int 4
短整型 short int 2
长整型 long int 4
双长整型 long long (int) 8(c99增加的)
字符型 char 1
布尔型 bool 1(c99增加的)
注:C99中提供了一个头文件 <stdbool.h> 定义了bool代表_Bool,true代表1,false代表0。只要导入 stdbool.h ;如果是C99之前的标准,需要我们自己定义bool,如 typedef enum {false = 0, true = 1} bool;
浮点型:
单浮点型 float 4
双浮点型 double 8
C. C语言的基本类型在内存中怎么储存的
1、整型数据:所有整数(正负零)在内存中都是以补码的形式存在。对于一个正整数来说,它的补码就是它的原码本身。对于一个负整数来说,它的补码为原码取反再加1。
2、字符型数据:把字符的相对应的ASCII码(整数,映射关系见ASCII码表)放到存储码单元中,而这些ASCII代码值在计算机中同样以二进制补码的形式存放的。
3、实型数据:也叫浮点数,在计算机中也是以二进制的方式存储,关键在于如何将十进制的小数转化为二进制来表示。
(3)c语言存储类型扩展阅读
C语言存储数据使用注意事项
C语言中(包括C++/Java)实际存储浮点数都不是这样直接存储“整数二进制+小数二进制”就完事的,这只是第一步。转化二进制以后还要进行处理,实际的存储标准是IEEE754
遇见一直“乘不净”的浮点数,最终能取多少位取决于编译器对应的浮点类型数据的分配字节,字节数越多越精确。故double要比float精确不仅仅是整数部分上限更高,小数部分也能取到更低的位数,故而更精确。
尽量避免大的浮点数和小浮点数运算,由于浮点数存储的特点,常常会使小的浮点数丢失且判断两个浮点数或一个浮点数和整数,常量是否相等,使用abs(x-y)<0.000001这种形式。
D. C语言中有哪些存储类型
四种变量存储类型。说明符如下:
auto static extern register
一、auto
auto称为自动变量。
局部变量是指在函数内部说明的变量(有时也称为自动变量)。用关键字auto进
行说明, 当auto省略时, 所有的非全程变量都被认为是局部变量, 所以auto实际上
从来不用。
二、static
static称为静态变量。根据变量的类型可以分为静态局部变量和静态全程变量。
1. 静态局部变量
它与局部变量的区别在于: 在函数退出时, 这个变量始终存在, 但不能被其它
函数使用, 当再次进入该函数时, 将保存上次的结果。其它与局部变量一样。
2. 静态全程变量
Turbo C将大型程序分成若干独立模块文件分别编译, 然后将所有模块
的目标文件连接在一起, 从而提高编译速度, 同时也便于软件的管理和维护。静态
全程变量就是指只在定义它的源文件中可见而在其它源文件中不可见的变量。它与
全程变量的区别是: 全程变量可以再说明为外部变量(extern), 被其它源文件使用,
而静态全程变量却不能再被说明为外部的, 即只能被所在的源文件使用。
三、extern
extern称为外部变量。为了使变量除了在定义它的源文件中可以使用外, 还要
被其它文件使用。因此, 必须将全程变量通知每一个程序模块文件, 此时可用
extern来说明。
四、register
register称为寄存器变量。
E. 局部变量的储存类别是什么变量,静态局部变量和寄存器变量
C语言存储类型有四种,分别是auto, extern, register, static。
1、局部变量,在没有任何修饰的情况下,存储类型为auto。
即定义局部变量int a;和auto int a;是相同的。
auto为缺省类型。
2、静态局部变量。
静态局部变量是指有static修饰的局部变量,比如
static int a;
其存储类型为static。
3、寄存器变量。
是指用register修饰的变量,比如:
register int a;
其存储类型为register。