精华内容
下载资源
问答
  • c语言double类型数据的输入和输出

    千次阅读 2019-09-23 22:54:28
    执行上面语句时,发现double类型的输入不能使用%f进行输入,得用%lf才能正常得到a值。 而在输出double类型时却可以用%f,这是因为printf("%f",a);在执行时C自动将double型参数转换成flaot型。 故double型...

    double a;
    scanf("%f",&a);   //应用scanf("%lf",&a);
    执行上面语句时,发现double类型的输入不能使用%f进行输入,得用%lf才能正常得到a的值。

    而在输出double类型时却可以用%f,这是因为printf("%f",a);在执行时C自动将double型的参数转换成flaot型。

    故double型的输入输出形式如下:



    double a;
    scanf("%lf",&a);
    printf("%f",a);

    转载于:https://www.cnblogs.com/Davirain/p/10417633.html

    展开全文
  • VS Code写C语言输出long double类型数据不正确问题 在学习《C Primer Plus》一书时遇到一个例题 #include <stdio.h> int main(void) { float aboat = 32000.0; double abet = 2.14e9; long double dip =...

    VS Code写C语言输出long double类型数据不正确的问题


    在学习《C Primer Plus》一书时遇到一个例题

    #include <stdio.h>
    
    int main(void)
    {
        float aboat = 32000.0;
        double abet = 2.14e9;
        long double dip = 5.32e-5;
    
        printf("%f can be written %e\n", aboat, aboat);
        printf("And it's %a in hexadecimal, powers of 2 notation\n", aboat);
        printf("%f can be written %e\n", abet, abet);
        printf("%Lf can be written %Le\n", dip, dip);
    
        return 0;
    }
    

    利用VS Code进行调试会发现变量dip的输出不正确。在确认是使用C99/C11,以及断点检查确认5.23e-5被赋值给变量dip之后,还是存在输出不正确的问题。
    在查阅相关资料之后,发现有使用Dev-C++也存在相同的问题,尝试使用别人给出的解决方案之后,问题立马被解决了。

    解决方案:
    在代码的最开始加上一行

    #define __USE_MINGW_ANSI_STDIO 1
    

    问题产生原因:
    VS Code默认使用了系统crt的printf函数。

    相关文章:知乎 - long double 怎样输出?

    展开全文
  • C语言基本数据类型输入输出格式

    千次阅读 2020-10-06 17:23:01
    首先看一下C语言的基本数据类型 在C语言中,用int关键字来表示基本的整数类型。后3个关键字(long、short和unsigned)和C90新增的signed用于提供基本整数类型的变式,例如unsigned short int和long long int。char...

    首先看一下C语言的基本数据类型

    在C语言中,用int关键字来表示基本的整数类型。后3个关键字(long、short和unsigned)和C90新增的signed用于提供基本整数类型的变式,例如unsigned short int和long long int。char关键字用于指定字母和其他字符(如,#、$、%和*)。另外,char类型也可以表示较小的整数。float、double和long double表示带小数点的数。。_Bool类型表示布尔值(true或false),_complex和_Imaginary分别表示复数和虚数。

    接下来介绍一下printf函数,printf()函数可以根据参数中“%”符号后的格式来显示一个值。

    基本数据类型的显示

    数据类型 printf函数显示格式
    int %d
    char %c
    字符串 %s
    short %hd
    long %ld
    unsigned int %u
    float %f
    double %f
    long long %lld

    显示八进制和十六进制


    在C程序中,既可以使用和显示不同进制的数。不同的进制要使用不同的转换说明。以十进制显示数字,使用%d;以八进制显示数字,使用%o;以十六进制显示数字,使用%x。另外,要显示各进制数的前缀0、0x和0X,必须分别使用%#o、%#x、%#X。

    例如下面程序:

    #include <stdio.h>
    int main(void)
    {
        int x = 100;
        printf("dec = %d; octal = %o; hex = %x\n", x, x, x);
        printf("dec = %d; octal = %#o; hex = %#x\n", x, x, x);
        return 0;
    }

     编译并运行该程序,输出如下:
    dec = 100; octal = 144; hex = 64
    dec = 100; octal = 0144; hex = 0x64

    科学计数法显示

    printf()函数使用%f转换说明打印十进制记数法的float和double类型浮点数,用%e打印指数记数法的浮点数。如果系统支持十六进制格式的浮点数,可用a和A分别代替e和E。打印long double类型要使用%Lf、%Le或%La转换说明。

     小结:

    基本数据类型
    关键字:
    基本数据类型由11个关键字组成:int、long、short、unsigned、char、float、double、signed、_Bool、_Complex和_Imaginary。


    有符号整型:

    有符号整型可用于表示正整数和负整数。
    int ——系统给定的基本整数类型。C语言规定int类型不小于16位。
    short或short int ——最大的short类型整数小于或等于最大的int类型整数。C语言规定short类型至少占16位。
    long或long int ——该类型可表示的整数大于或等于最大的int类型整数。C语言规定long类型至少占32位。
    long long或long long int ——该类型可表示的整数大于或等于最大的long类型整数。Long long类型至少占64位。
    一般而言,long类型占用的内存比short类型大,int类型的宽度要么和long类型相同,要么和short类型相同。例如,旧DOS系统的PC提供16位的short和int,以及32位的long;Windows 95系统提供16位的short以及32位的int和long。

    无符号整型:
    无符号整型只能用于表示零和正整数,因此无符号整型可表示的正整数比有符号整型的大。在整型类型前加上关键字unsigned表明该类型是无符号整型:unsignedint、unsigned long、unsigned short。单独的unsigned相当于unsignedint。

    字符类型:
    可打印出来的符号(如A、&和+)都是字符。根据定义,char类型表示一个字符要占用1字节内存。出于历史原因,1字节通常是8位,但是如果要表示基本字符集,也可以是16位或更大。char ——字符类型的关键字。有些编译器使用有符号的char,而有些则使用无符号的char。在需要时,可在char前面加上关键字signed或unsigned来指明具体使用哪一种类型。

    布尔类型:
    布尔值表示true和false。C语言用1表示true,0表示false。_Bool ——布尔类型的关键字。布尔类型是无符号 int类型,所占用的空
    间只要能储存0或1即可。

    实浮点类型:
    实浮点类型可表示正浮点数和负浮点数。
    float ——系统的基本浮点类型,可精确表示至少6位有效数字。
    double ——储存浮点数的范围(可能)更大,能表示比 float 类型更多的有效数字(至少 10位,通常会更多)和更大的指数。
    long long ——储存浮点数的范围(可能)比double更大,能表示比double更多的有效数字和更大的指数。

    展开全文
  • ...在C语言中: ... 1)用 scanf() 函数输入 double 类型的变量时,转换说明中转换字符(占位符)只能用 lf,即%lf,写成 %f 无法正确输入double数据;  2)用 printf() 函数输出 doubl


    https://blog.csdn.net/clxjoseph/article/details/8731363


    在C语言中:

            1)用 scanf() 函数输入 double 类型的变量时,转换说明中的转换字符(占位符)只能用 lf,即%lf,写成 %f 无法正确输入double型数据;

            2)用 printf() 函数输出 double 类型的变量时,转换说明中的转换字符(占位符)可用 %lf 或%f,皆能正确输出,且输出结果一致。

            为简单与一致性起见,在对 double 类型的变量输入输出时,建议都用 %lf 占位符




    展开全文
  • <p>double funcos( double e, double x ); <p>int main() <p>{<!-- --> <p>double e, x; <p>scanf("%lf %lf", &e, &x); <p>printf("cos(%.2f) = %.6f\n", x, funcos(e, x)); <p>...
  • double类型精确到小数点后15~16位 这是没错 但是呢 编译器默认精确到小数点后六位输出 所以只需要控制占位.mf中m大小就好了 超过7位当然float就不适合了。 当然, 如果不考虑内存话, 最好浮点数用double类型...
  • 我在用VS2015对一个double类型的数据进行输出我写是 double num =1324; printf("%lf",num); 其中没有考虑输出格式问题就使用了%lf,输出一点都没有,当我换成%f时候也没有出现问题,但是当我换成了...
  • c语言double十六进制输出

    千次阅读 2017-03-14 13:18:53
    自己用%x printf输出double类型数据时,只有32位,用sizeof显示是64位,后来看到6楼回答,加上I64就可以了 “回复于: 2007-10-25 14:25:23 printf("%x\n", ch); 其中%x 表示无符号十六进制整数, 多长...
  • 下面是各种数据类型的输出占位符: short/int : %d long: %ld; (long 是int得修饰,不能算是一种单独的数据类型,只是比int多了四个字节存储空间) long long: %lld char : %c float/double : %f float...
  • c语言基本数据类型和输入输出函数

    千次阅读 2013-07-18 14:43:58
    C基本数据类型 char,int,float,double,signed,unsigned,long,short,void // boolean 1个字节 byte 1个字节 short 2个字节 ...// c语言数据类型比java少一些,在c语言中没有boolean类型的数据
  • C语言数据输出要严格按照数据的类型选择相应输出方法输出, double型不能按整形输出,不然输出是乱码, 整形不能按浮点型输出,不然输出0.000000000
  • 在学习C语言数据类型之前,我们先来回顾一下Java中基本数据类型和其特点一:基本数据类型1.在Java中有八大基本数据类型和一个引用数据(String)类型如下:byte 1字节 char 2字节 short 2字节 int 4字节 float 4...
  • char printf("%c",'a'); short printf("%hd",4); int printf("%d",3); long printf("%ld",49); float printf("%f",4.77); double printf("%lf",3.1345); ...
  • 背景:今天在用c语言写程序时遇到了一个问题:printf("%lf",double(r));竟然输出乱码(0.000000),浏览了几十个网页之后,大致找到了问题...结论:在c语言中,double类型的读入必须用"%lf";输出必须用"%f" ...
  • C语言中printf用%d输出float类型数据,或以%f输出int型数据结果 IEEE754标准 单精度(32位)/双精度(64位)浮点数解码 float double 有效位数
  • C语言——数据类型

    2017-12-26 21:35:25
    C语言的类型整数 char、short、int、long、long long 浮点数 float、double、long double 逻辑 bool 指针自定义类型输入输出整数 char %c short %hd int %d (十进制) %o(八进制) %x(十六进制) long %ld
  • char //字符数据类型 short //短整型 int //整形 long //长整型 long long //更长整形 float //单精度浮点数 double //双精度浮点数 在C语言中,变量分为局部变量和全局变量。 局部变量:一般将定义在函数中变量...
  • C语言数据类型

    2017-09-09 09:15:13
    C 中类型种类整数类型大小和范围注:int类型...注:long double类型的存储大小同样和编译器有关,VC++ 分配8字节,Turbo C2.0中分配为16字节Void 类型经典面试题a)一个整型数(An integer) b) 一个指向整型数指针
  • C语言基本数据类型

    2017-03-14 00:08:39
    基本数据类型 不需要刻意记,用到时候sizeof就可以知道大小是多少。 输出的方式还是需要记一下。 #include #include <stdlib.h>//引入头文件 //编译时候去找对应函数,名字不能一样,c++可以,它有命名空间。...
  • 1.C语言的基本数据类型...short、int、long、char、float、double 这六个关键字再加上两个符号说明符signed和unsigned就基本表示了C语言的最常用的数据类型。 2.格式字符用以指定输出项的数据类型输出格式。 引用...
  • C语言入门-数据类型

    2019-09-27 19:26:00
    一、C语言的类型 整数:char、short、int、long、longlong 浮点型:float、double、long double 逻辑:bool 指针 自定义类型 类型有何不同 类型名称:int、long、double 输入输出的格式化:%d、%ld、%lf 所表达的...
  • 涉及到的知识点有:编码风格、c语言的数据类型、常量、计算机里面的进制、原码反码补码、int类型、整数的溢出、大端对齐与小端对齐、char类型(字符类型)、 浮点类型float \ double \ long double类型限定、字符...
  • C语言 printf数据输出小数转换

    千次阅读 2020-01-31 22:58:58
    使用printf输出小数 标准模板为 % [标志] [数字] .[数字].[类型] ...#表示数据输出的进制 八进制话前缀为0 ,比如 %o表示数值为八进制。 十六进制前缀为0x 表示为%x %后第一个数字 表示输出...
  • c语言学习--数据类型

    2019-05-01 09:12:56
    1.数据类型 分别有 整数(char,short,int,long)浮点数(flout,double)逻辑(bool)指针,自定义类型 1.1浮点类型:float 输入时可以%f,输出时可以是%f或者%e double 输入时可以是%lf,输出时可以是%f或者%e ...

空空如也

空空如也

1 2 3 4 5 ... 17
收藏数 338
精华内容 135
关键字:

c语言的double类型数据输出

c语言 订阅