精华内容
下载资源
问答
  • printf输出格式大全

    2019-01-21 22:24:16
    经典的C语言下,打印屏幕函数printf输出格式总结,当然在VC下也可借鉴
  • c语言常用到的printf输出格式汇总。printf函数称为格式输出函数,其关键字最末一个字母f即为“格式”(format)之意。其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。
  • printf输出格式

    千次阅读 2019-08-29 09:45:55
    printf作为C语言中的一种可以自定义输出格式的,非常方便使用,下面是一些常见的printf输出格式: (1)%md %md可以使不足m位的int类型变量以m位进行右对齐输出,其中高位用空格补齐;如果变量本身超过m位,保持...

    printf作为C语言中的一种可以自定义输出格式的,非常方便使用,下面是一些常见的printf输出格式:

    (1)%md

    %md可以使不足m位的int类型变量以m位进行右对齐输出,其中高位用空格补齐;如果变量本身超过m位,保持原样:

    程序代码:

    #include<cstdio> 
    int main(){
    	int a=123,b=1234567;
    	printf("%6d\n",a);
    	printf("%6d\n",b);
    	return 0;
    }

    运行结果:

     

    (2)%0md

    %0md只是在%md中间多加了0.和%md的唯一不同点在于,当变量不足m位时,将前面补足够数量的0而不是空格。

    程序代码:

    #include<cstdio> 
    int main(){
    	int a=123,b=1234567;
    	printf("%06d\n",a);
    	printf("%06d\n",b);
    	return 0;
    }

    运行结果:

    (3)%.mf

    %.mf可以让浮点数保留m位小数输出,这个“保留”使用的是精度“四舍六入五成双”的规则。很多题目会要求浮点数的输出保留XX位小数(或者精确到小数点后XX位)就可以使用这种输出格式。

    程序代码:

    #include<cstdio> 
    int main(){
    	double a=12.34567;
    	printf("%.0f\n",a);
    	printf("%.1f\n",a);
    	printf("%.2f\n",a);
    	printf("%.3f\n",a);
    	printf("%.4f\n",a);
    	return 0;
    }

    运行结果:

     

    “四舍六入五成双”的规则:

    (1)被修约的数字小于5时,该数字舍去;

    (2)被修约的数字大于5时,则进位;

    (3)被修约的数字等于5时,要看5前面的数字,若是奇数则进位,若是偶数则将5舍掉,即修约后末尾数字都成为偶数;若5的后面还有不为“0”的任何数,则此时无论5的前面是奇数还是偶数,均应进位。

    展开全文
  • Printf 输出格式总结

    千次阅读 多人点赞 2020-04-18 23:30:51
    ① 首先介绍printf输出正型数,输出的形式为printf(“%d”,n);n为变量,n必须被int 或 long int 或 short int 定义。 相信下面几个表达方式,就能说明问题吧: %d=int, %ld=long, %lld=long long。 ② printf输出...

    ① 首先介绍printf输出正型数,输出的形式为printf(“%d”,n);n为变量,n必须被intlong intshort int 定义。

    相信下面几个表达方式,就能说明问题吧:
    %d=int,
    %ld=long,
    %lld=long long。
    ② printf输出浮点数,浮点数也就是数学上的整数,当用doublefloat定义一个数,就需要利用%f输出,输出的形式为printf(“%f”,n)。

    ③ 当定义的数在运算后非常大时,就可以用科学计数法,输出的形式为printf(“%e”,n)。

    ④ 定义字符时需要输出字符,printf也可以输出字符,输出的形式为printf(“%c”,n); n必须是由char定义的。

    ⑤ 在输出字符串时,其格式是**%s**,输出的形式为printf(“%s”,n),这里的n是字符串的首地址。
    *char *a = “hello” 中的a是指向第一个字符‘a’的一个指针
    char a[20] = “hello” 中数组名a也是执行数组第一个字符‘h’的指针
    把字符串加到指针所指的字串上去,出现段错误,本质原因存放在常量区,是无法修的。而数组是存放在栈中,是可以修改的。两者区别如下:
    ”读“ ”写“ 能力
    *char a = “abcd”; 此时"abcd"存放在常量区。通过指针只可以访问字符串常量,而不可以改变它。
    而char a[20] = “abcd”; 此时 "abcd"存放在栈。可以通过指针去访问和修改数组内容。

    赋值时刻
    char *a = “abcd”; 是在编译时就确定了(因为为常量)。
    而char a[20] = “abcd”; 在运行时确定
    存取效率
    char a = “abcd”; 存于静态存储区。在栈上的数组比指针所指向字符串快。因此慢
    而char a[20] = “abcd”; 存于栈上。快

    ⑥ 输出的形式为printf(“%.2f”,n)就是保留两位小数的意思,我是可以换的比如保留3位小数,输出的形式为printf(“%.3f”,n)。
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述

    展开全文
  • C printf输出格式控制

    千次阅读 2019-02-17 16:59:10
    输入输出函数(printf 和 scanf)是C语言中非常重要的两个函数,也是学习C语言必学的两个函数。在C语言程序中,几乎没有一个程序不需要这两个函数,尤其是输出函数(printf),所以这两个函数必须要掌握。 如果在...

    原文地址:http://c.biancheng.net/view/159.html

    输入输出函数(printf 和 scanf)是C语言中非常重要的两个函数,也是学习C语言必学的两个函数。在C语言程序中,几乎没有一个程序不需要这两个函数,尤其是输出函数(printf),所以这两个函数必须要掌握。

    如果在程序中要使用 printf 或者 scanf,那么就必须要包含头文件 stdio.h。因为这两个函数就是包含在该头文件中的。

    输出函数的功能是将程序运行的结果输出到屏幕上,而输入函数的功能是通过键盘给程序中的变量赋值。可以说输入输出函数是用户和计算机交互的接口。其中 printf 的功能很强大,用法很灵活,比较难掌握;而 scanf 的用法相对比较固定,但也有很多需要注意的地方。

    本节我们先讲解 printf 的用法,稍后再讲解 scanf。

    printf 的格式

    printf 函数的原型为:

    # include <stdio.h>
    int printf(const char *format, ...);

    在讲每一个函数的时候都会先把它的函数原型写出来,这个原型你们现在看不懂不要紧,等到学完C语言之后再来看这个原型就会发现它是很有参考意义的!它对深刻理解函数有着很大的价值。

    printf 的格式有四种:

    1) printf("字符串\n");

     
    1. # include <stdio.h>
    2. int main(void)
    3. {
    4. printf("Hello World!\n"); // \n表示换行
    5. return 0;
    6. }

    其中\n表示换行的意思。它是一个转义字符,前面在讲字符常量的时候见过。其中 n 是“new line”的缩写,即“新的一行”。

    此外需要注意的是,printf 中的双引号和后面的分号必须是在英文输入法下。双引号内的字符串可以是英文,也可以是中文。

    2) printf("输出控制符",输出参数);

     
    1. # include <stdio.h>
    2. int main(void)
    3. {
    4. int i = 10;
    5. printf("%d\n", i); /*%d是输出控制符,d 表示十进制,后面的 i 是输出参数*/
    6. return 0;
    7. }

    这句话的意思是将变量 i 以十进制输出。

    那么现在有一个问题:i 本身就是十进制,为什么还要将 i 以十进制输出呢?

    因为程序中虽然写的是 i=10,但是在内存中并不是将 10 这个十进制数存放进去,而是将 10 的二进制代码存放进去了。计算机只能执行二进制 0、1 代码,而 0、1 代码本身并没有什么实际的含义,它可以表示任何类型的数据。所以输出的时候要强调是以哪种进制形式输出。所以就必须要有“输出控制符”,以告诉操作系统应该怎样解读二进制数据。

    如果是%x就是以十六进制的形式输出,要是%o就是以八进制的形式输出,大家自己试一下。

    3) printf("输出控制符1 输出控制符2…", 输出参数1, 输出参数2, …);

     
    1. # include <stdio.h>
    2. int main(void)
    3. {
    4. int i = 10;
    5. int j = 3;
    6. printf("%d %d\n", i, j);
    7. return 0;
    8. }

    输出控制符 1 对应的是输出参数 1,输出控制符 2 对应的是输出参数 2……编译、链接、执行后我们看一下输出结果:
    10 3

    注意一下,为什么 10 和 3 之间有一个空格?因为上面 %d 和 %d之间有空格,printf 中双引号内除了输出控制符和转义字符\n外,所有其余的普通字符全部都原样输出。比如:

     
    1. # include <stdio.h>
    2. int main(void)
    3. {
    4. int i = 10;
    5. int j = 3;
    6. printf("i = %d, j = %d\n", i, j);
    7. return 0;
    8. }

    这时我们再编译、链接、执行一下:
    i = 10, j = 3

    i=,、空格和j=全都原样输出了。此外需要注意的是:“输出控制符”和“输出参数”无论在“顺序上”还是在“个数上”一定要一一对应。

    4) printf("输出控制符 非输出控制符",输出参数);

    这实际上就是上面那个例子。这时候会有一个问题:到底什么是“输出控制符”,什么是“非输出控制符”?很简单,凡是以%开头的基本上都是输出控制符。

    输出控制符

    常用的输出控制符主要有以下几个:

    控制符说明
    %d按十进制整型数据的实际长度输出。
    %ld输出长整型数据。
    %mdm 为指定的输出字段的宽度。如果数据的位数小于 m,则左端补以空格,若大于 m,则按实际位数输出。
    %u输出无符号整型(unsigned)。输出无符号整型时也可以用 %d,这时是将无符号转换成有符号数,然后输出。但编程的时候最好不要这么写,因为这样要进行一次转换,使 CPU 多做一次无用功。
    %c用来输出一个字符。
    %f用来输出实数,包括单精度和双精度,以小数形式输出。不指定字段宽度,由系统自动指定,整数部分全部输出,小数部分输出 6 位,超过 6 位的四舍五入。
    %.mf输出实数时小数点后保留 m 位,注意 m 前面有个点。
    %o以八进制整数形式输出,这个就用得很少了,了解一下就行了。
    %s用来输出字符串。用 %s 输出字符串同前面直接输出字符串是一样的。但是此时要先定义字符数组或字符指针存储或指向字符串,这个稍后再讲。
    %x(或 %X 或 %#x 或 %#X)以十六进制形式输出整数,这个很重要。

    %x、%X、%#x、%#X 的区别

    一定要掌握 %x(或 %X 或 %#x 或 %#X),因为调试的时候经常要将内存中的二进制代码全部输出,然后用十六进制显示出来。下面写一个程序看看它们四个有什么区别:

     
    1. # include <stdio.h>
    2. int main(void)
    3. {
    4. int i = 47;
    5. printf("%x\n", i);
    6. printf("%X\n", i);
    7. printf("%#x\n", i);
    8. printf("%#X\n", i);
    9. return 0;
    10. }

    在 VC++ 6.0 中的输出结果:
    2f
    2F
    0x2f
    0X2F

    从输出结果可以看出:如果是小写的x,输出的字母就是小写的;如果是大写的X,输出的字母就是大写的;如果加一个#,就以标准的十六进制形式输出。

    最好是加一个#,否则如果输出的十六进制数正好没有字母的话会误认为是一个十进制数呢!总之,不加#容易造成误解。但是如果输出 0x2f 或 0x2F,那么人家一看就知道是十六进制。而且%#x%#X中,笔者觉得大写的比较好,因为大写是绝对标准的十六进制写法。

    如何输出 %d、\ 和双引号

    printf 中有输出控制符%d,转义字符前面有反斜杠\,还有双引号。那么大家有没有想过这样一个问题:怎样将这三个符号通过 printf 输出到屏幕上呢?

    要输出%d只需在前面再加上一个%,要输出\只需在前面再加上一个\,要输出双引号也只需在前面加上一个\即可。程序如下:

     
    1. # include <stdio.h>
    2. int main(void)
    3. {
    4. printf("%%d\n");
    5. printf("\\\n");
    6. printf("\"\"\n");
    7. return 0;
    8. }

    在 VC++ 6.0 中的输出结果是:
    %d
    \
    ""

    小结

    printf 是C语言中非常重要的一个函数。经过上面的学习我们发现,其实它并不难。只要多编程多练习,很快就能掌握。

    其次学完本节之后要知道为什么需要“输出控制符”。因为计算机中所有的数据都是二进制 0、1 代码,所以输出的时候要用“输出控制符”告诉计算机以什么形式将二进制数据显示出来。

    输出控制符中,%d、%f、%s、%c 是最常用的,它们分别是输出整数、实数、字符串和字符的控制符。%.mf 虽然用得不多,但一定要重视。

    最后 %x、%X、%#x、%#X 四种用法的区别只需要了解一下即可。

    展开全文
  • printf输出格式总结

    万次阅读 多人点赞 2018-08-29 00:07:59
    printf函数称为格式输出函数,其关键字最末一个字母f即为“格式”(format)之意。其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。 1 printf函数调用的一般形式 printf函数是一个标准库函数,它的函数...

     

    printf函数称为格式输出函数,其关键字最末一个字母f即为“格式”(format)之意。其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。


    1 printf函数调用的一般形式

    printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用 printf 函数之前必须包含stdio.h文件。printf函数调用的一般形式为:

    printf(“格式控制字符串”, 输出表列)


    其中格式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。如:
    (1) “%d”表示按十进制整型输出;
    (2) “%ld”表示按十进制长整型输出;
    (3) “%c”表示按字符型输出等。
    非格式字符串原样输出,在显示中起提示作用。输出表列中给出了各个输出项,要求格式字符串和各输出项在数量和类型上应该一一对应。

     

    2 格式字符串


    (1) 类型
    类型字符用以表示输出数据的类型,其格式符和意义如下表所示:

    格式字符意义
    d以十进制形式输出带符号整数(正数不输出符号)
    o以八进制形式输出无符号整数(不输出前缀0)
    x,X以十六进制形式输出无符号整数(不输出前缀Ox)
    u以十进制形式输出无符号整数
    f以小数形式输出单、双精度实数
    e,E以指数形式输出单、双精度实数
    g,G以%f或%e中较短的输出宽度输出单、双精度实数
    c输出单个字符
    s输出字符串

     

    (2) 标志
    标志字符为 -、+、# 和空格四种,其意义下表所示:

     

     

    标 志意义
    -结果左对齐,右边填空格
    +输出符号(正号或负号)
    空格输出值为正时冠以空格,为负时冠以负号
    #对c、s、d、u类无影响;
    对o类,在输出时加前缀o;
    对x类,在输出时加前缀0x;
    对e、g、f 类当结果有小数时才给出小数点。

     

    (3) 输出最小宽度
    用十进制整数来表示输出的最少位数。若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。

    (4) 精度
    精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。

    (5) 长度
    长度格式符为h、l两种,h表示按短整型量输出,l表示按长整型量输出。

     

     

     

    #include<stdio.h> 
    #include<string.h> 
    
    int main() 
    { 
        char c, s[20]; 
        int a=1234;
        float f=3.141592653589; 
        double x=0.12345678912345678; 
        strcpy(s, "Hello,World"); 
        c='\x41'; 
        
        printf("a=%d\n", a);     //按照十进制整数格式输出,显示 a=1234
        
        printf("a=%d%%\n", a);  //输出%号 结果 a=1234%
        
        printf("a=%6d\n", a);   //输出6位十进制整数 左边补空格,显示 a= 1234
        
        printf("a=%06d\n", a);  //输出6位十进制整数 左边补0,显示 a=001234
        
        printf("a=%2d\n", a);   //a超过2位,按实际输出 a=1234
        
        printf("a=%-6d\n", a);  ///输出6位十进制整数 右边补空格,显示 a=1234
        
        printf("f=%f\n", f);    //浮点数有效数字是7位,结果 f=3.141593
        
        printf("f=%6.4f\n", f);  //输出6列,小数点后4位,结果 f=3.1416
        
        printf("x=%lf\n", x);   //输出长浮点数 x=0.123457
        
        printf("x=%18.16lf\n", x);//输出18列,小数点后16位,x=0.1234567891234567
        
        printf("c=%c\n", c);     //输出字符 c=A
        
        printf("c=%x\n", c);     //以十六进制输出字符的ASCII码 c=41
        
        printf("s[]=%s\n", s);   //输出数组字符串s[]=Hello,World
        
        printf("s[]=%6.9s\n", s); //输出最多9个字符的字符串 s[]=Hello,Wor
        
        return 0;
    }

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    本文转自:

    https://blog.csdn.net/sinat_34009734/article/details/51646469

     

    展开全文
  • C语言printf输出格式总结

    千次阅读 多人点赞 2019-04-17 17:43:56
    格式化规定符: %d 十进制有符号整数  %u 十进制无符号整数 %f 浮点数 %s 字符串 %c 单个字符 %p 指针的值 %e 指数形式的浮点数   %x  %X 无符号以十六进制表示的整数 %0 无符号以八进制表示的整数   ...
  • C语言的printf输出格式控制

    千次阅读 2018-09-05 22:12:46
    C语言的printf输出格式控制  printf大家都耳熟能详,但是能真正将其用法弄透的估计很少见。 转一篇,改天整理。  1.转换说明符  %a(%A) 浮点数、十六进制数字和p-(P-)记数法(C99)  %c 字符  %d 有...
  • C++---常用printf输出格式

    千次阅读 2019-11-17 00:18:52
    格式控制字符串 输出数据类型 %d 输出 int 类型 %ld 输出 long 类型 %lld 输出 long long 类型 %f %.3f 输出 float 类型 输出 float 类型 ,保留3位小数 %lf %.3lf 输出 double 类型 ...
  • 关于printf输出格式的总结

    千次阅读 多人点赞 2018-03-18 00:45:24
    基础的东西总是很容易忘 要时常总结回顾才能牢记 printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”...其中格式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。格式字符
  • c语言printf输出格式

    千次阅读 2019-06-14 22:57:33
    c语言输出格式说明: 格式说明 表示内容 %d 整型int %f 长整型long int %lf 浮点型 float %% double %5d 详见下面解释 %c 字符 char %s 字符串 %o 八进制 %#o 带前导八进制 %x 十六进制 ...
  • #include<stdio.h> #include<stdlib.h> int main(void) { #if 0 printf("这里是注释"); #endif int a; a=13; printf("a=%#x",a);//输出:0x0d exit (0); }
  • STM32绑定printf格式输出的文档说明,
  • 关于printf输出格式类型的总结

    千次阅读 2016-03-10 22:33:39
    其中格式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。如: “%d”...
  • c语言printf()输出格式大全,希望对大家有帮助
  • printf 输出格式

    千次阅读 2015-04-13 15:25:19
    printf 输出格式 (一)使用printf输出各种格式的字符串 1. 原样输出字符串:  printf(“%s”, str); 2. 输出指定长度的字符串, 超长时不截断, 不足时右对齐:  printf(“%Ns”, str); –N 为指定长度的10进制...
  • C语言之printf输出各种格式

    千次阅读 2019-07-30 16:55:34
    其中格式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。 格式字符串 1)...
  • printf 输出格式、域宽

    千次阅读 2019-07-24 18:06:40
    函数原型:int printf("格式控制串",输出表); 返回值:成功则返回输出的字节数(按终端统计) 格式控制符: %d ---- 有符号的十进制整型数 %u ---- 无符号的十进制整型数 %hd --- short %ld --- long %...
  • java printf格式输出

    千次阅读 2017-08-22 08:07:40
    for(int m=0;m;++m) { System.out.printf("%9.0f%%", 100*interestRate[m]); //其中interestRate[]中为[0.1, 0.11, 0.12, 0.13, 0.14, 0.15]...f格式:用来输出实数(包括单、双精度),以小数形式输出。有以下几种用
  • printf()输出格式

    万次阅读 2017-09-02 23:25:55
    格式化的数据打印到标准输出 printf()函数将上述函数定义中format指向的C字符串写到标准输出。如果format中包含了格式说明符(以%开头的子序列),则format之后的附加参数将被格式化并插入到字符串中代替对应的...
  • printf输出格式%#x的含义

    千次阅读 2020-02-12 17:21:16
    看代码中printf函数中有%#x的格式,通过查找资料发现是一个标志字符。 printf中的标志字符为-、+、#、空格等几种: 1)- 结果左对齐,右边填空格 2)+ 输出符号(正号或负号) 3)空格 输出值为正时冠以空格,为负时...
  • Java格式输出printf()详解

    千次阅读 多人点赞 2020-09-14 14:11:05
    本文通过实例详细介绍Java格式输出 System.out.printf() 方法的使用、参数的含义、格式转换符使用时的注意事项。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,203,194
精华内容 481,277
关键字:

printf输出格式