关于c语言printf输出格式

作者&投稿:杨映 (若有异议请与网页底部的电邮联系)
C语言怎么用printf输出字符串。~

C语言怎么用printf输出字符串printf函数的一般格式printf(格式控制字符串,输出表列);以图1所示为例。图1.

函数参数包括两部分:【1】格式控制字符串,是用双引号括起来的字符串,也称为转换控制字符串,它指定输出数据项的类型和格式。它包括两种信息:
●格式说明项:由%和格式字符组成,如%d,%f等。格式说明总是由%字符开始,到格式字符终止。它的作用是将输出的数据项转换为指定的格式输出。输出表列中的每个数据项对应一个格式说明项。
● 普通字符:即需要原样输出的字符,如逗号和换行符。
【2】输出列表,是需要输出的一些数据项,可以是表达式。例如:假如a=3,b=4,那么printf("a=%db=%d",a,b);,输出a=3b=4。其中两个 “%d”是格式说明,表示输出两个整数,分别对应变量a,b。“a=”,“b=”是普通字符,原样输出。
由于printf是函数,因此,格式控制字符串和输出表列实际上都是函数的参数。printf函数的一般形式可以表示为:printf(参数1,参数2,参数3,…,参数n)
printf函数的功能是将参数2到参数n按照参数1给定的格式输出。
【3】格式字符 (构成格式说明项)对于不同类型的数据项,应当使用不同的格式字符构成的格式说明项。常用的有以下几种格式字符:(按不同类型数据,列出各种格式字符的常用用法)
【d格式符】用来输出十进制整数。有以下几种用法:● %d,按照数据的实际长度输出。● %md,m指定输出字段的宽度 (整数)。如果数据的位数小于m,则左端补以空格(右对齐);若大于m,则按照实际位数输出。● %-md,m指定输出字段的宽度 (整数)。如果数据的位数小于m,则右端补以空格 (左对齐);若大于m,则按照实际位数输出。● %ld,输出长整型数据,也可以指定宽度%mld。
【o格式符】以八进制形式输出整数。注意:是将内存单元中的各位的值按八进制形式输出,输出的数据不带符号,即将符号位也一起作为八进制的一部分输出。
例如:inta=-1;printf("%d,%o,%x",a,a,a);-1的原码:1000,0000,0000,0001。-1在内存中的补码表示为:1111,1111,1111,1111=1,111,111,111,111,111=1,7,7,7,7,7=ffff输出:-1,177777,ffff
【s格式符】用来输出一个字符串。有以下几种用法:● %s,输出字符串。● %ms,输出的字符串占m列,如果字符串长度大于m,则字符串全部输出;若字符串长度小于m,则左补空格 (右对齐)。● %-ms,输出的字符串占m列,如果字符串长度大于m,则字符串全部输出;若字符串长度小于m,则右补空格 (左对齐)。● %m.ns,输出占m列,但只取字符串左端n个字符,左补空白 (右对齐)。● %-m.ns,输出占m列,但只取字符串左端n个字符,右补空白 (左对齐)。
【 f 格式符】用来输出实数 (包括单、双精度,单双精度格式符相同),以小数形式输出。有以下几种用法:● %f,不指定宽度,使整数部分全部输出,并输出6位小数。注意,并非全部数字都是有效数字,单精度实数的有效位数一般为7位 (双精度16位)。● %m.nf,指定数据占m列,其中有n位小数。如果数值长度小于m,左端补空格(右对齐)。● %-m.nf,指定数据占m列,其中有n位小数。如果数值长度小于m,右端补空格(左对齐)。
【 e 格式符】以指数形式输出实数。可用以下形式表示:● %e,不指定输出数据所占的宽度和小数位数,由系统自动指定。如6位小数,指数占5位,-e占1位,指数符号占1位,指数占3位。数值按照规格化指数形式输出 (小数点前必须有而且只有1位非0数字)。

%03d的意思是,右对齐,左边补0。所以输出021。(正常情况下若是%d是输出21吧。)
%0-3d的意思就是%-3d啊。本来是右对齐,但是加上负号后就变为了左对齐右边补空格,所以就还是输出21。

#include <stdio.h>
void main()
{
    printf("%5.3f",(float)125);
    printf("
");
    printf("%3.1f",1.25);
    printf("
");
    printf("%3.1f",25.796);
    printf("
");
    printf("%3.1f",(float)125);
    printf("
");
    printf("%5.2f",25.796);
    printf("
");
    printf("%5.2f",1.25);
    printf("
");
    printf("%5.2f",(float)125);

}

以上是我照你的题目写的程序,还有输出的结果

例如%5.3f这种格式是控制输出格式的


f表示输出浮点数,
5表示最小输出字符宽度为5位数(小数点占一位,比5位长的按实际输出,比5位短的前面补空白)
3表示浮点数输出小数点后为3位数


你里面的125是整型,要做浮点型强制转换,也就是(float)125



printf("%5.3f",125);
按语法规则,%f 用于float数,125 要写成浮点数:
printf("%5.3f",125.0); 5.3 意思是场宽5个字符,小数点下3位,场宽不够则按实际需要输出
应打印出 125.000

printf("%3.1f",25.796); 小数点下1位,后面的4舍5入,打印 25.8

printf("%5.2f",25.796); 小数点下2位,后面的4舍5入, 打印 25.80

printf("%5.2f",1.25); 小数点下2位,场宽5个字符(包括数字,小数点,负数还要包括-号)。
场宽不够则按实际需要输出,太宽则填空白。
printf("%5.2f",125. ); 小数点下2位,场宽5个字符, 125.00 , 场宽不够则按实际需要输出,太宽则填空白。

第一个你写的不是全部把,输出结果是不是1.250E2?
第二个,printf("%3.1f",25.796);结果25.8

总之,规则就是,比如3.1f,表示共三位,其中小数点后1位。



c语言中printf的格式化符号是什么意思?
答:M %md 以宽度m输出整型数,不足m时,左补空格 0m %0md 以宽度m输出整型数,不足m时,左补零 m,n %m.nf 以宽度m输出实型小数,小数位为n位 例如:设i = 123,a = 12.34567,则:printf("%4d +++ %5....

C语言中printf格式解释
答:printf("输出格式",输出参数表列);输出格式是指你想怎样输出你要输出的内容。c语言提供了许多种格式串控制字符,比如%d是按整数输出,%f是按照浮点数输出,%s是一次性输出整个字符串等等等,还有一种格式控制字符是以“\”...

printf在c语言中是什么意思?
答:在C语言中printf( )是专门用于输出的语句。 用法如下:1、printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。2、printf()函数的调用格式为: printf("", )。3、格式输出,它是c语言中产生...

C语言——格式化打印printf(常用整理)
答:前言 :C语言中printf经常被用来输出各种调试信息,对于字符串常量输出,简单使用一对 "" 就可以达到目的,例如: printf("hello,world!\n"); .而关于数据的格式化输出就各有千秋,下面整理了它经常用的格式化输出语句,不...

关于C语言printf()函数格式说明的问题
答:对于浮点输出格式来说 m.nf 其中m是输出宽度,n是精度,f是格式化控制符 m指定的是输出数字字符串的 最小长度 ,比如你输出 printf("%2.3f",123.456 );// 由于实际输出的数字123.456 共有7个字符,大于2个字符...

C语言怎么用printf输出字符串。
答:C语言怎么用printf输出字符串printf函数的一般格式printf(格式控制字符串,输出表列);以图1所示为例。图1.函数参数包括两部分:【1】格式控制字符串,是用双引号括起来的字符串,也称为转换控制字符串,它指定输出数据项...

c语言输出格式%*s
答:c语言输出格式%*s,标识形参占位。在printf中使用,表示用后面的形参替代的位置,实现动态格式输出。例如:printf("%*s",10,s);意思是输出字符串s,但至少占10个位置,不足的在字符串s左边补空格,这里等同于printf("%...

在C语言里printf是什么意思?怎么用??
答:在C语言中printf( )是专门用于输出的语句。 用法如下:1、printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。2、printf()函数的调用格式为: printf("", )。3、格式输出,它是c语言中产生...

C语言printf输出问题?
答:s=之类的内容就是普通字符,照原样输出;\n就是转义字符,代表输出时会转换成本身含义,这里是换行。您的printf语句是缺少输出项列表,通俗讲就是哪些变量的值需要输出,要告诉计算机才行哦。而您的程序就缺少输出项列表。联...

c语言的格式输出语句是什么?
答:printf函数叫做格式输出函数,其功能是按照用户指定的格式,把指定的数据输出到屏幕上.printf函数的格式为: printf(“格式控制字符串”,输出表项);