所有栏目

c语言默认变量类型

已输入 0 字
优质回答
  • c语言的变量有三种类型:char,int,float,double

    其中char为字符类型的变量是八位的,最前一位作为符号位,后面七位作为数据位.它的存储范围在-128到127之间.

    int整数类型的变量是16位的,最前一位为符号位,后面的15位作为数据位.它的存储范围在-215到215-1.也就是-32768到32767.它不包扩小数点以后的数,在一般编译器中给int类型赋予带有小数的数.编译器会自动去掉小数点后面的数保留整数部分.

    float为浮点数类型.首先要说明的是浮点数有两部分组成,第一部分是指数,也就是多少次幂嘛.第二部分是由尾数组成也就是一个数科学表示发之后除去幂那部分剩下的(呵呵!!!)如1.33333.那么c中的浮点数就有三部分.32位的浮点数第一位就是第一部分它决定数的符号.第二部分是八位的指数.第三部分是23位的尾数.所以浮点数具有6到7位的存储精确度.范围为3.4e-38到3.4e+38的数值.注:3.1415926e+7表示3.1415926.0.在给浮点数赋值的时候可以采用如下方法.123.45和1.2345e2是等价的.

    double为双精度型变量.c编译器通常用64位来存储双精度性变量.它的精确度能够达到14到15位.64位中第一位是符号位.后面的11位是指数位.最后的52位是尾数.它的范围是-1.7e-308到1.7e+308.

    类型标识符:unsigned,short,register,long和signed.

    其中unsigned提示编译器不要保留符号位,这样可以扩大数据类型正数的范围.比如unsigned int的范围就变位0到65535了.

    short类型用在有的编译器不能给太大的存储范围,需要给一个比较低的溢出界限.比如有的编译器就用的是32位来存储int类型.用short来标识它可以保证int是用16位来标识的.

    register表示一个变量可能会用得很频繁.需要很快得存取速度所以指定的把它存到寄存器当中.

    long表示不希望用16位来存储整形变量时可以用long指定它用32位来存储可以得到更大得表示范围.

    当然还有long unsigned int 这样得类型.

    用户自定义数据类型

    用户可以使用typedef来自己定义自己需要得数据类型.如下例:

    typedef unsigned long int myint;

    myint num1;

    这样num1就是unsigned long int类型的了.

    2023-10-24 02:12:10
  • 有时,你也会看到一些老的代码中,在一些整型常后面加一个大写或小写的 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的代价是很容看错。

    实型数还可以使用科学计数法,或曰指数形式,如:

    1、23e4、或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类型的取值范围内。

    2023-10-24 02:12:10
  • C语言中全局变量其默认储存类型都是extern,而局部变量的默认储存类型是auto。

    记着:

    全局变量extern

    局部变量auto

    2023-10-24 02:12:10
最新问题 全部问题