精华内容
下载资源
问答
  • 语言规则限制:比如int是变长,long是定长,double还有精度问题等等; 操作系统:某个类型,Windows和Linux在32和64操作系统上的取值是不一致; 32和64系统在Windows下基本数据类型的大小都是一样的。...

    前言

    一般对于C/C++下int等基本数字类型,主要关注三个维度,长度、取值范围和最大值的宏定义。下面分三个维度说明下。

    有三个影响因素:

    • 语言规则限制:比如int是变长,long是定长,double还有精度问题等等;
    • 操作系统:某几个类型,Windows和Linux在32位和64位操作系统上的取值是不一致;
    • 编译器:编译器才是区分32位和64位的关键因素,因为64位操作系统也可以运行32位程序;但64位程序只能在64位操作系统上运行。

    目录

    1.长度

    2.取值范围

    3.最大值的宏定义

    4.参考文档:


    1.长度

    图表:C/C++基础数字类型的取值范围
    类型 取值范围 位数
    unsigned   int 0~4294967295 10位
    int 2147483648~2147483647 10位
    unsigned long 0~4294967295 10位
    long 2147483648~2147483647 10位
    long long -9223372036854775808~9223372036854775807 19位
    unsigned long long 0~1844674407370955161 19位
    __int64 -9223372036854775808~9223372036854775807 19位
    unsigned __int64 0~18446744073709551615 20位

    关于占用字节数,详情在这里:32位与64位下各类型长度对比,已讲的很好,我不再赘述。

      

    注:I表示int类型,L表示long类型,P表示pointer指针类型,32表示32位系统/编译器,64表示64位系统/编译器。

    2.取值范围

    首选,说一下C/C++下int等基本数字类型的长度和取值范围。

     

    3.最大值的宏定义

     

    C++中, 经常会使用, 某些类型的最大值, 如int的最大整数(INT_MAX), C的函数中, 包含了这些宏定义.

    头文件: #include <climits>


    维基百科上的相关说明:


    4.参考文档:

    32位与64位下各类型长度对比

    C++ - 内置类型的最大值宏定义

    https://www.runoob.com/cprogramming/c-standard-library-limits-h.html

    https://zh.wikipedia.org/wiki/Limits.h

    展开全文
  • 1.4,基本数据类型----short、int、long、char、float、double........................................... 13 1.4.1,数据类型与“模子”.......................................................................
  • 数据类型及长度 C语言只提供了下列种基本数据类型: char 字符型,占用一个字节,可以存放本地字符集(ANSI)中的一个字符 int 整型,通常反映了所有机器中整数的最自然长度 float 单精度...

     

    2章 类型、运算符与表达式

    1.数据类型及长度

    C语言只提供了下列几种基本数据类型:

    char     字符型,占用一个字节,可以存放本地字符集(ANSI)中的一个字符

    int      整型,通常反映了所有机器中整数的最自然长度

    float     单精度浮点型

    double   双精度浮点型

    此外,还可以在这些基本数据类型之前加一些限定符shortlong两个限定符用于限定整型。int通常代表特定机器中整数的自然长度,如32位的计算机,int类型长度就为4个字节。short类型通常为16位,即2个字节,long类型通常为32位,int类型可以为16位或32位。个编译器可以根据硬件特性自主选择合适的类型长度,但要遵循以下限制:shortint类型至少为16位,而long类型至少为32位,并且short类型不得长于int类型,而int类型不得长于long类型。

     

    signedunsigned可用于限定char类型和任何整型,分别表示有符号数和无符号数。

     

    long double类型表示高精度浮点数。同整型一样,浮点型的长度也取决于具体的实现。

     

     

    2.常量

    long类型的常量以字母lL结尾,如123456789L。如果一个整数太大以至于无法用int类型表示时,也就被当做long类型处理。无符号常量以字母uU结尾,如123U。后缀ulUL表明是unsigned long类型。

     

    浮点数常量包含一个小数点(123.4)或一个指数(1e-2,表示1×10-2),也可以两者都有。没有后缀的浮点数常量double类型。后缀fF表示float类型,而后缀lL则表示long double类型。

     

    整型数出了用十进制表示还可以用八进制和十六进制表示。带前缀0的整型常量表示八进制形式;前缀为0x0X,表示十六进制形式。八进制和十六进制的常量也可以使用后缀L表示long类型,使用后缀U表示unsigned类型。例如,0XFUL是一个unsigned long类型的常量,其值等于十进制15

     

    一个字符常量是一个整数。

    下面使用八进制和十六进制表示一个字符

    ‘/111’,表示一个字符,它的值是八进制0111,即十进制的73

    注意,只有斜线后边的数字个数小于等于3大于等于2,且每一位都在0-7之间它才表示一个八进制数。

    ‘/x11’,表示一个字符,它的值时十六进制0x11,即十进制的17

     

    ANSI C语言中的全部转义字符序列如下:

    /a  响铃符             //  反斜杠

    /b  退格符             /?  问号

    /f  换页符             /’   单引号

    /n  换行符             /”  双引号

    /r  回车符             /ooo 八进制数

    /t  横向制表符         /xhh 十六进制数

    /v  纵向制表符

     

    常量表达式是仅仅包含常量的表达式。这种表达式在编译时求值。他可以出现在任何常量可出现的地方。

     

    字符串常量也叫字符串字面值。是有双引号括起来的0个或多个字符组成的字符序列。

    编译时可以讲多个字符串常量连接起来,如下:

    “hello, ”  “world”

    等价于

    “hello, world”

    两个字符串之间可以存在多个空格。

     

    枚举常量是另外一种另外一种类型的常量。枚举是一个常量整数值的列表,例如:

     

     

    枚举为建立常量值与名字之间的关联提供了一种便利的方式。相对于#define语句来说,枚举的优势在于常量值可以自动生成。尽管可以声明enum类型的变量,但编译器不检查这种类型的变量中存储的值是否为该枚举的有效值。不过,枚举变量提供这种检查,因此枚举比#define跟具有优势。此外,调试程序可以以符号形式打印出枚举变量的值。

     

     

    1.   声明

    C语言中所有变量都必须先声明后使用。

    从概念上讲,外部变量和静态变量是在程序开始执行之前进行初始化,并且初始化表达式必须是常量表达式。若没有显式为外部变量和静态变量初始化,那么默认会被初始化为0。而对于自动变量,若为显式初始化,则它的值为未定义值(无效值)。

     

    任何变量的声明都可以使用const限定符限定。该限定符指定变量的值不能被修改。对于数组而言,const限定符指定数组所有元素的值都不能被修改。const限定符也可配合数组参数使用,它表明函数不能修改数组元素的值。

     

    4.运算符

    运算符按照优先级大小由上向下排列,在同一行的运算符具有相同优先级。第二行是所有的一元运算符。  

    运算符

    解释

    结合方式

    () [] -> .

    括号(函数等),数组,两种结构成员访问

    由左向右

    ! ~ ++ -- + - * & (类型) sizeof

    逻辑非,位运算非,增量,减量,正负号,间接,取地址,类型转换,求大小

    由右向左

    * / %

    乘,除,取模

    由左向右

    + -

    加,减

    由左向右

    << >>

    左移,右移

    由左向右

    < <= >= >

    小于,小于等于,大于等于,大于

    由左向右

    == !=

    等于,不等于

    由左向右

    &

    按位与

    由左向右

    ^

    按位异或

    由左向右

    |

    按位或

    由左向右

    &&

    逻辑与

    由左向右

    ||

    逻辑或

    由左向右

    ? :

    条件

    由右向左

    = += -= *= /= 

    &= ^= |= <<= >>=

    各种赋值

    由右向左

    ,

    逗号(顺序)

    由左向右

     

    我们要记住以下几点:

    u       任何单目运算符的优先级高于双目运算符的优先级

    u       何逻辑运算符的优先级要低于任何关系运算符

    u       移位运算符的优先级比算术优先级低,但是比关系运算符高

    u       逗号运算符的优先级最低,而赋值运算符的优先级仅高于逗号运算符

     

    一个小例子:

    printf("%d/n", 0<3<2);

    输出结果为:1

    为什么?

    因为关系运算符结合性是从左到右,那么0<3<2等价于(0<3)<20<3的值为1,然后1<2,所以最后的结果为1,即为真。

     

    按位运算符

    一元运算符~用于求整数的二进制反码,即分别将操作数各二进制位上的1变为0,0变为1.例如:

    x = x & ~077;

    x的后6位设置为0注意表达式x&~077与机器无关,他比形式为x&0177700的表达式要好,因为后者假定x16位的数值。这种可移植的方式并没有增加额外的开销,因为~077是常量表达式,可以在编译时求值。

     

    下面是几个有意思的函数:

     

     

     

    展开全文
  • 2 座位号 #include<stdio.h> C 语言程序设计答题纸(B) 2013.1 double value(int n,double x) { 考试课程 C 语言程序设计 考试日期 2013 年 1 月 成 绩 int i; double y=1; 任课教师姓名 上课时间 if(n>=0) 姓名 学号...
  • C++是一个更好的C,它保持了C的简洁、高效、接近汇编语言、具有良好的可读性和可移植性等特点,对C的类型系统进行了改革和扩充,因此C++比C更安全,C++的编译系统能检查出更多的类型错误。 C++语言最重要的特点是...
  • 狂人C程序员入门必备

    2014-01-17 13:32:44
    1.4 12C语言的“词” 小结 概念与术语 风格与习惯 常见错误 牛角尖 练习与自测 第2章 数据类型 2.1 什么是数据类型 2.1.1 “三个世界”理论 2.1.2 问题世界:“万物皆数” 2.1.3 代码世界:书写规则及含义 2.1.4 ...
  •     想必大家都知道Java的基础数据类型有:char、byte、short、int、long、float、double、boolean 这种,与C/C++等语言不同的是,Java的基础数据的位数是固定不变的。     Java作为一门面向对象的语言,...

    一些概念

        想必大家都知道Java的基础数据类型有:char、byte、short、int、long、float、double、boolean 这几种,与C/C++等语言不同的是,Java的基础数据的位数是固定不变的。
        Java作为一门面向对象的语言,自然少不了对象了,因此基础数据类型都对应存在一个基本类型封装器类,它们的封装器分别为:Character、Byte、Short、Integer、Long、Float、Double、Boolean。
        在JDk1.5之前,在基础数据类型与其封装器之间的转化必须手动进行,其中将基本数据类型转换为封装器类型需要调用封装类的静态方法T.valueOf(),T代表封装器类型的名称,而将封装器类型转换为基本数据类型需要调用它的实例方法xValue();x代表基础数据类型的名称,这个过程比较繁琐,故从JDK1.5开始,JDK提供了自动装箱的特性,不再需要手动进行了。所谓装箱指:将基本数据类型转换为对应的封装器类型,拆箱指:将封装器类型转换为对应的基本数据类型。eg:
    Integer a = 1;//装箱,底层实现:Integer a = Integer.valueOf(1);
    int b = a; //拆箱,底层实现:int b = a.intValue();
    eg:

    public class PackageAndUnpackageDemo{
        public static void main(String[] args) {
            Integer a = 1;//装箱,底层实现:Integer a = Integer.valueOf(1);
            int b = a;    //拆箱,底层实现:int b = a.intValue();
        }
    }

    反编译结果
    这里写图片描述
    从图片中我们可以看到,装拆箱确实是这样实现的。
        此外,为了提高封装器的效率,Java将常用的数据缓存起来放到封装器对象数组里面,装箱的时候判断如果数据在缓存的范围内则从缓存里面取出对象,否则将new一个出来。
    Integer相关的源码如下:
    这里写图片描述
    我们可以看到,当数字的范围在low与high之间时,直接从cache对象数组中获取,否则就new一个对象,cache的源码如下:
    这里写图片描述
    Integer的cache数组与其他的有些区别是,Integer可以自定义数组的上限,而其他封装器的cache是固定的。
    封装器的缓存的大小以及他们对应的基础数据类型的范围见下表:

    基本类型 封装器 字节数 最大值 最小值 缓存范围
    byte Byte 1byte 2^7 - 1 -2^7 -128~127
    short Short 2byte 2^15 - 1 -2^15 -128~127
    char Character 2byte 2^16 - 1 0 0~127
    int Integer 4byte 2^31 - 1 -2^31 -128~127
    long Long 8byte 2^63 - 1 -2^63 -128~127
    float Float 4byte 3.4e+38 1.4e-45 无缓存
    double Double 8byte 1.8e+308 4.9e-324 无缓存
    boolean Boolean 1byte/4byte/不明确 - - false、true

    看到这里您
    我们注意到Boolean与Byte全部被缓存了,boolean类型没有给出精确的定义,《Java虚拟机规范》给出了4个字节,和boolean数组1个字节的定义,具体还要看虚拟机实现是否按照规范来,所以1个字节、4个字节都是有可能的,这个在这里不做深究。
    看到这里想必您现在应该能够理解下面的一些现象吧:

    public class CacheDemo{
        public static void main(String[] args) {
            Integer a = 127;
            Integer b = 127;
            System.out.println(a == b);//true
            Integer c = 128;
            Integer d = 128;
            System.out.println(c == d);//false
            Integer e = -128;
            Integer f = -128;
            System.out.println(e == f);//true
            Integer g = -129;
            Integer h = -129;
            System.out.println(g == h);//false
        }
    }

    由于127与-128都在缓存数组缓存的范围内,所以他们是直接从缓存数组中取得的对象,故引用相同,而128与-129不在该范围内,所以是new出来的,故引用不相同。当然得到这个结果的前提条件是我们没有指定Integer缓存数组的上限,直接使用它的默认上限127。您可以通过-Djava.lang.Integer.IntegerCache.high=128 指定上限为128,那么运行结果就有所不同了。
    java CacheDemo

    true
    false
    true
    false

    java -Djava.lang.Integer.IntegerCache.high=128 CacheDemo

    true
    true
    true
    false
    

    到这里需要提醒一下大家的是,“Java中对引用类型而言 == 比较的是引用,而equals()比较的是内容”这句话其实严格意义上来讲不准确。
    我们不妨看一下对象之源Object中关于equals()的实现

    public boolean equals(Object obj) {
        return (this == obj);
    }

    OK,Object的equals()方法默认还是使用了 “==”,所以要是自定义的对象没有Override该方法与hashCode()方法,那么比较的也是引用而不是内容了。当然Java的大部分类都重写了该方法,但是还有一些类如StringBuffer,StringBuilder 没有重写该方法,这点需要注意。

    注意事项

    空指针异常

        自动的装拆箱给我们带来了很大的方便,大部分情况下我们都将封装器与基础数据类型混为一谈了,但是二者之间毕竟还是存在着一些差别,在某些场景下要是不注意,自动装拆箱这个语法糖也会给我们带来一些意想不到的后果。
        由于引用类型的默认值是null,而不能将null赋值给基本数据类型,在拆箱的过程中可能会导致空指针异常,这个需要我们格外注意要加以判断:
    如下面的情形:

    import java.util.List;
    import java.util.ArrayList;
    public class NullPointInUnpackageDemo{
        public static void main(String[] args) {
            List<Integer> list = new ArrayList<Integer>(3);
            list.add(0);
            list.add(1);
            list.add(null);
            for (int n:list){
                System.out.println("n="+n);
            }
        }
    }

    运行结果:

    n=0
    n=1
    Exception in thread "main" java.lang.NullPointerException
        at NullPointInUnpackageDemo.main(NullPointInUnpackageDemo.java:10)

    当然例子出现空指针异常的情况我们一眼就能够看出,但是实际开发过程可能由于疏忽或者不那么直接的拆箱行为,将会带来意想不到的错误,这是我们需要格外注意的。

    封装器带来的模糊性问题

        在方法的重载某些情形,封装器带来的使用可能会带来方法调用的模糊性问题,给我们带来一些意想不到的bug,比如下面的情形:

    public class BugInOverloading{
        public static void test(Integer num){
            System.out.println("Integer num");
        }
        public static void test(long num){
            System.out.println("long num");
        }
        public static void main(String[] args) {
            test(1);
        }
    }

        您能够一眼看出会调用哪个方法吗?好吧,结果可能与您想象中的可能有点出入,运行结果是

    long num

        也就是说它居然没有调用test(Integer num),反而直接向上转型为long 调用了test(long num),这不很费解吗?对于该现象的解释是:Java为了向下兼容,保证程序的正确性,在方法重载时先不考虑自动装拆箱,而是遵循最精确匹配的原则,找最匹配的类型,由于没有int类型的方法可以调用,但是有long类型的方法,那么根据这个原则,int向上转型为long了,而不是自动装箱,这点需要注意,额,时间不早了,就先这样吧,以上便是Java基本数据类型及其封装器的一些千丝万缕的纠葛。
    圉于博主的水平,理解可能有所偏差,还望各位大佬不吝指正!

    转载于:https://my.oschina.net/u/3341246/blog/855891

    展开全文
  • 1、介绍 C 语言种基础类型,主要是 char 类型的介绍,以及各种类型的字节大小等。类型CharShortFloatIntLong intLong longDouble字节(byte)1244488(bit)81632323264642、十进制,二进制,八进制,十六进制...

    1、介绍 C 语言的几种基础类型,主要是 char 类型的介绍,以及各种类型的字节大小等。

    类型

    Char

    Short

    Float

    Int

    Long int

    Long long

    Double

    字节(byte)

    1

    2

    4

    4

    4

    8

    8

    位(bit)

    8

    16

    32

    32

    32

    64

    64

    2、十进制,二进制,八进制,十六进制

    十进制转二进制:12→00001100

    128

    64

    32

    16

    8

    4

    2

    1

    12=8+4          1               1                          1                          1                  1                    0               0                1

    十进制转八进制:12=(1*8^1)+(2*8^0) 即为10

    十进制转十六进制:1610/16=100余10(A);100/16=6余4;6/16=0余6,1610转十六进制为64A

    3、原码,反码,补码,重点是负数的补码

    正数的原码,反码和补码一样    (计算机很笨,不会算减法

    因为计算机最开心的就是做加法,我们举个例子 7 和-7 ,假设是8位的变量
    7的  原码 0000 0111
           反码 0000 0111
           补码 0000 0111

    区别在负数的补码:对负数求补码先取绝对值十进制然后对其取反二进制1即可

    -12 的补码是:00001100→ 11110011 →11110100

    4、ASCII 的取值范围为什么是 0-127

    ASCII 的取值范围为什么是 0-127,因为为了提高代码的可移植性,无符号取 值范围是 0-255,有符号的取值范围-128-127,两个取值范围的交集就是 0-127, 所以 ASCII 的取值范围正好在这个地方。

     5、讲解第一个 C 语言程序”HelloWorld”,从头文件开始介绍


    6.简单介绍程序是如何从代码变成计算机可以识别运行的过程,

    .cpp .exe文件格式的转变过程:


    7、什么是变量?如何去定义变量?在函数内定义一个 int a=10,计算机干了什么?

    当计算机在函数里定义一个变量,例如int a=10;计算机会分配4个字节给变量来存储这个10(二进制的10:1010)在定义变量的时候,必须在函数里先定义再使用,定义变量必须使用标识符,即字母数字下划线,且不能以数字开头;变量的名字最好能见名思意,例:int age = 20(年龄)。

    8、显示隐类型转化?

    当不同类型变量之间发生赋值的时候,会发生一些转换。

    分别有显示类型转换隐示类型转换

    显示类型转换:float a = 15.2;int b = a;

    这时就会发出warning!!! 所以当在类型不同不能直接赋值、应该在赋值的时候加上int b = (int)a;即把a转换成int类型的变量再赋值给b

    隐示类型转换:在双目运算中,低类型的数据直接转化为高类型的数据,其中无符号整数类型高于有符号的整数类型,int数据类型之下的运算转换成int类型再处理。

    如:char 类型 short 类型的运算转换为 int 数据类型。

     long与double数据运算 先将long型转换成double型,结果为 double 型。 一个float型数据与一个浮点型的默认运算是double型,意味着两个float数的运算可优先转换为double型,结果的类型也可以是 float 型。

    例:float a = 15.2f;

    float c = a + 12.5;//此时会弹warning!!!double到float会发生数据截断

     

     

    《》《》回答上节的问题:了解 float 类型数据在内存中是如何存储的?《》《》

    float类型是4个字节,一个字节是8位,所以float是32位.

    1bit(符号位) 8bit(阶码)                22bit(尾数)

     

        31    30                      23 22                                                                        0

    先将一个float类型的数转化成二进制,例如13.625转化成1101.101,再用科学计数法表示成1.101101*2^6,从1101.101到1.101101小数点向左平移了3个,所以阶码就是平移的位数3+127=130 二进制位1000 0010 正数:所以符号位是0;尾数就是小数点后面的101101后面补零,所以结果就是                 0100 0001 0101 1010 0000 0000 0000 0000

     

    PS/*      */块注释         //行注释    #开头表示预处理

    int(函数返回值) main(函数名)()(形式参数列表)

    {   } 函数体                     字符串

    main函数可以不写返回值     一个汉字两个字节

    VS的快捷键加注释:ctrl+k+c   取消:ctrl+k+u

    float  零值是一个范围-0.000001f~0.000001f

    展开全文
  • java基础知识下载

    2009-06-05 20:50:09
    1. java中的数据类型划分 java语言的数据类型有简单类型和复合类型: 简单数据类型包括: 整数类型(Integer):byte, short, int, long 浮点类型(Floating):float,double 字符类型(Textual):char ...
  • 6•C语言允许直接访问物理地址,能进行(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。因此有人把它称为中级语言。 7•生成目标代码质量高,程序执行效率高。 8•与汇编语言相比,用C语言写的...
  • 但是,在《K&R》中并没有定义一个完整的标准C语言,后来由美国国家标准学会在此基础上制定了一个C 语言标准,于一九八三年发表。通常称之为ANSI C。 当代最优秀的程序设计语言  早期的C语言主要是用于UNIX系统。...
  • C是一门简洁精妙的语言,掌握基本语法容易,真正能够自如运用,就不那么简单了。你难免会遇到各种各样的问题,有些可能让你百思不得其解,甚至翻遍图书馆,也找不到问题的答案。《你必须知道的495个C语言问题》的...
  • 在Turbo C中单精度型占4个字节(32)内存空间,其数值范围为3.4E-38~3.4E+38,只能提供七有效数字。双精度型占8 个字节(64)内存空间,其数值范围为1.7E-308~1.7E+308,可提供16有效数字。 实型变量说明...
  • c++ 面试题 总结

    2009-09-16 08:44:40
    15.用C++写个程序,如何判断一个操作系统是16还是32的?不能用sizeof()函数 A1: 16的系统下, int i = 65536; cout ; // 输出0; int i = 65535; cout ; // 输出-1; 32的系统下, int i = 65536; cout ; ...
  • java基础入门教程

    热门讨论 2009-04-29 21:36:10
    今 年 6月 7日 ,由 SUN公 司 和 台 湾 经 济 事 务 部 信 息 发 展 局, 台湾信 息 技 术 研究 所 等 单 牵 头 ,成 立 了 一 个 "Java联 盟 ", 参 加 的 有 22个 在 台 湾相 当 著 名 的 计 算 机公 司 ,并 在 台 ...
  • C) 双精度类型double比单精度类型float具有更高的精度和更大的表示范围,但float类型具有速度快、占用内存小的优点。 D) 在Java中布尔值可以用true或false来表示,但是同时也可以用1或0来表示。 题目5:b 程序...
  • C++程序员面试宝典

    热门讨论 2013-04-01 13:36:19
    许多开发者对C/C++语言及其底层原理掌握不牢固,在面试过程中经常漏洞百出,无法取得好成绩。而招聘单位为了得到高素质的员工往往采用各种形式的面试考察求职者,这让面试难度大大增加。求职者要想成功应聘,不仅...
  • 1.4 新的64机上的64类型是什么样的? 3 指针声明 3 1.5 这样的声明有什么问题?char *p1, p2; 我在使用p2的时候报错了。 3 1.6 我想声明一个指针,并为它分配一些空间,但却不行。这样的代码有什么问题?...
  • More Effective C++

    2011-04-28 15:28:01
    我相信每一专业的 C++ 软体开发人员都应该读过并记忆 Effective C++ 和 More Effective C++ 两本书内的各种招式,以及其中重要(并且有时候不可思议)的语言面向。我强烈推荐这两本书给软体开发人员、测试人员、...
  • 题型: 编程题 语言: 无限制 Description 在计算机中,用float或double来存储小数有时不能得到精确值,若要精确表达一个浮点数的计算结果, 最好用分数来表示小数,有限小数或无限循环小数都可以转化为分数,无限...
  • 《你必须知道的495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    C是一门简洁精妙的语言,掌握基本语法容易,真正能够自如运用,就不那么简单了。你难免会遇到各种各样的问题,有些可能让你百思不得其解,甚至翻遍图书馆,也找不到问题的答案。 《你必须知道的495个C语言问题》的...
  • 题型: 编程题 语言: 无限制 Description 在计算机中,用float或double来存储小数有时不能得到精确值,若要精确表达一个浮点数的计算结果, 最好用分数来表示小数,有限小数或无限循环小数都可以转化为分数,无限...

空空如也

空空如也

1 2 3
收藏数 51
精华内容 20
关键字:

doublec语言几位

c语言 订阅