在c语言中print(“%d%8.6f“,x,y)中%d%8.6f是什么意思

作者&投稿:涂命 (若有异议请与网页底部的电邮联系)
C语言中%f8.6是什么意思??~

1.转换说明符
%a(%A) 浮点数、十六进制数字和p-(P-)记数法(C99)

%c 字符

%d 有符号十进制整数

%f
浮点数(包括float和doulbe)
%e(%E) 浮点数指数输出[e-(E-)记数法]
%g(%G) 浮点数不显无意义的零"0"

%i
有符号十进制整数(与%d相同)

%u 无符号十进制整数

%o 八进制整数 e.g. 0123
%x(%X) 十六进制整数0f(0F)
e.g. 0x1234

%p 指针

%s 字符串

%%
"%"
2.标志
左对齐:"-"
e.g. "%-20s"
右对齐:"+"
e.g. "%+20s"
空格:若符号为正,则显示空格,负则显示"-"
e.g. "% 6.2f"
#:对c,s,d,u类无影响;对o类,在输出时加前缀o;对x类,在输出时加前缀0x;
对e,g,f 类当结果有小数时才给出小数点。
3.格式字符串(格式)
[标志][输出最少宽度][.精度][长度]类型
"%-md" :左对齐,若m比实际少时,按实际输出。
"%m.ns":输出m位,取字符串(左起)n位,左补空格,当n>m
or m省略时m=n

e.g. "%7.2s" 输入CHINA


输出" CH"
"%m.nf":输出浮点数,m为宽度,n为小数点右边数位

e.g. "%3.1f"
输入3852.99

输出3853.0
长度:为h短整形量,l为长整形量
printf的格式控制的完整格式:
% - 0 m.n l或h 格式字符
下面对组成格式说明的各项加以说明:
①%:表示格式说明的起始符号,不可缺少。
②-:有-表示左对齐输出,如省略表示右对齐输出。
③0:有0表示指定空位填0,如省略表示指定空位不填。
④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位。
⑤l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。
---------------------------------------
格式字符
格式字符用以指定输出项的数据类型和输出格式。
①d格式:用来输出十进制整数。有以下几种用法:
%d:按整型数据的实际长度输出。
%md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。
%ld:输出长整型数据。
②o格式:以无符号八进制形式输出整数。对长整型可以用"%lo"格式输出。同样也可以指定字段宽度用“%mo”格式输出。
例:
main()
{ int a = -1;
printf("%d, %o", a, a);
}
运行结果:-1,177777
程序解析:-1在内存单元中(以补码形式存放)为(1111111111111111)2,转换为八进制数为(177777)8。
③x格式:以无符号十六进制形式输出整数。对长整型可以用"%lx"格式输出。同样也可以指定字段宽度用"%mx"格式输出。
④u格式:以无符号十进制形式输出整数。对长整型可以用"%lu"格式输出。同样也可以指定字段宽度用“%mu”格式输出。
⑤c格式:输出一个字符。
⑥s格式:用来输出一个串。有几中用法
%s:例如:printf("%s", "CHINA")输出"CHINA"字符串(不包括双引号)。
%ms:输出的字符串占m列,如字符串本身长度大于m,则突破获m的限制,将字符串全部输出。若串长小于m,则左补空格。
%-ms:如果串长小于m,则在m列范围内,字符串向左靠,右补空格。
%m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。
%-m.ns:其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如果n>m,则自动取n值,即保证n个字符正常输出。
⑦f格式:用来输出实数(包括单、双精度),以小数形式输出。有以下几种用法:
%f:不指定宽度,整数部分全部输出并输出6位小数。
%m.nf:输出共占m列,其中有n位小数,如数值宽度小于m左端补空格。
%-m.nf:输出共占n列,其中有n位小数,如数值宽度小于m右端补空格。
⑧e格式:以指数形式输出实数。可用以下形式:
%e:数字部分(又称尾数)输出6位小数,指数部分占5位或4位。
%m.ne和%-m.ne:m、n和”-”字符含义与前相同。此处n指数据的数字部分的小数位数,m表示整个输出数据所占的宽度。
⑨g格式:自动选f格式或e格式中较短的一种输出,且不输出无意义的零。
---------------------------------------
关于printf函数的进一步说明:
如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示,如:
printf("%f%%", 1.0/3);
输出0.333333%。
---------------------------------------
对于单精度数,使用%f格式符输出时,仅前7位是有效数字,小数6位.
对于双精度数,使用%lf格式符输出时,前16位是有效数字,小数6位.
######################################拾遗 ########################################
由高手指点
对于m.n的格式还可以用如下方法表示(例)
char ch[20];
printf("%*.*s
",m,n,ch);
前边的*定义的是总的宽度,后边的定义的是输出的个数。分别对应外面的参数m和n 。我想这种方法的好处是可以在语句之外对参数m和n赋值,从而控制输出格式。
--------------------------------------------------------------------------------
今天(06.6.9)又看到一种输出格式 %n 可以将所输出字符串的长度值赋绐一个变量, 见下例:
int slen;
printf("hello world%n", &slen);
执行后变量被赋值为11

在百度文库中这样的很多,多看看吧。

printf 是 输出语句, %4d 表示输出的场宽为4位,%1d 表示输出的场宽为1位, 但另有附加规定:当所给场宽度不足时,按实际需要占位输出。所以 输出 10 ,给 %1d 仍将 输出 10, 不会只输出 1,不输出0。

scanf 是输入语句,%4d 表示 读入的数 为 4位整数,超出4位 只读4位,不足4位则按实际位数 读入, %1d 表示 读入的数 为 1位整数,超出1位 只读1位。

例如: scanf("%1d%4d",&x,&y);
拍入 987654321回车
x 读入9,y读入 8765, 余下的 4321 留在输入缓冲区 供 后面的 输入语句使用。

%d指按实际长度,以带符号十进制整数形式进行输出,%8.6f指以浮点小数(包括单精度和双精度)进行输出,输出结果占8格,取小数点前6位小数。

d格式:用来输出十进制整数。有以下几种用法: 

1、%d:按整型数据的实际长度输出。

2、%md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。 

3、%ld:输出长整型数据。

f格式:用来输出实数(包括单、双精度),以浮点数形式输出。有以下几种用法:

1、%f:不指定宽度,整数部分全部输出,小数部分输出前6位。 

2、%m.nf:输出共占m列,其中有n位小数,如数值宽度小于m左端补空格。

3、%-m.nf:输出共占n列,其中有n位小数,如数值宽度小于m右端补空格。

扩展资料

常用的格式还有:

%o:以八进制无符号数形式输出整数。

%x、%X:以十六进制无符号数形式输出整数。

%s:输出字符串。

%c:输出一个字符。

参考资料来源:百度百科-格式字符



%d、%8.6f是C语言中输出占位符。

%d代表着整型数字输出;

%8.6f代表浮点数输出输出,共占8列,其中有6位小数,如数值宽度小于8左端补空格。

扩展资料

C语言中各类型输出占位符介绍:

1、long: %ld; (long 是int得修饰,不能算是一种单独的数据类型,只是比int多了四个字节的存储空间)

2、long long: %lld

3、char : %c

4、float/double : %f  float默认是6位小数输出;可以在%f中控制;例如:%.2f:输出两位小数;

5、char *s(字符串) :%s

6、unsigned: %u  (signed:有符号类型, unsigned:无符号类型;默认都是有符号的)

7、八进制:%o  以0开头

8、十六进制:%x 以0x开头



%d表示输出的x是整形,%8.6f表示y输出的格式为y取小数点后6位,且y总共占8个位置,且其靠右。比如y的值为1.12345678,以下左边框为边界,则输出形式为:
1.123456(因为其正好八位所以看不出靠右排列)
如果输出是%8.4f,则输出会变为:
1.1234(最左边有两个空格,共占八位,靠右排列)
%a.bf的意思是该数字取小数点后b位,共占a位靠右排列(a为正数),如果a为负数则靠左排列,其他不变

有print吗?是printf吧,d%是显示对应的int型数据,8.6f%表示显示一个浮点数(float类型),8表示只显示8位数字,而.6表示这个浮点数保留小数点后面6位数字,如果不够6位小数的话,那么将用0补齐6位小数

%d输出 有符号10进制整数
%f输出浮点数 8 代表用于控制显示数值的宽度是8格,不够用空格替代,. .6 用于控制小数点后面的位数

c语言中%3d%d是什么意思?
答:decimal 的所写)3:表示:字符长度为3列;在3前省略了‘+’号,为右对齐,如果前面有‘-’,则表示为左对齐。一般在 void main(){ int i=3;printf("%3d\n",i);/*输出语句 print function的所写 */ printf("%d",i);} 您在turboc 2.0 中运行一下,就会清楚的 ...

c语言print这个函数怎么用
答:输出结果为a=3,b=4。以printf("abc")中abc为格式控制字符串中的普通字符,原样输出。print(“%d”,i)为以整形输出变量i的值。printf命令的作用是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。printf()函数的调用格式为:printf("<格式化字符串>", <参量表>)。printf()是C语言标准...

c语言里%d,为什么有的是%d/n,区别是什么?
答:d %f是打印变量的类型。d是整数类型。用来输出十进制整数,按整型数据的实际长度输出。f是浮点类型(就是含小数点的,默认为6位)\n是表示回车,即,转到下一行。它的意义多表现在有多个printf的时候,为了不混淆,一般每个printf的内容占一行。C语言中对于不同类型的数据用不同的格式字符,%d %f是...

C语言中%d什么意思
答:d:输入输出为整形-%d,长整型-%d,短整型-%hu,无符号整形-%u。s:输入输出为字符串-%c字符。f:输入输出为浮点型-%f双精度浮点型。知识延展:C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出。1978年后,C语言已...

c语言编程中print("%c,%d\n,"y,'3') 双引号里面的是什么对应作用?是不...
答:我怎么感觉你的print有问题啊,“”之外应该有个‘,’ 吧!%c 输出char型的值,%d整型的值,对应是对的,我只是粗略学过c,如果你想学c的话,我感觉你应该多看一下基础的书!

c语言简单题目,如for(i=1;i<6;i++)printf("%d",i);输出时是输出12345...
答:没有空格的,如果要输出空格是要在%d前加空格,也就是:printf(" %d",i);

printf("a=%d,b=%d",a,b);和printf("%d,%d\n",a,b);的区别.
答:这种结果的区别是格式化输出的作用,在printf中双引号里面的内容按原样输出,而%后面带一个字符是引号后面参数的格式化,代表用什么样的格式输出后面的参数。二、转义字符的有无:printf("%d,%d\n",a,b)里面有一个转义字符\n,这个转义字符的功能是换行,也就是说下一个输出会在下一行,而printf("a...

c语言题目:int x=6,y=3,z; print(%d\n,z=(x/y,x%y));结果是多少? 顺便...
答:(x=8*2,x*4),x*2 /*整个表达式的值为128,x的值为16*/ x=(z=5,5*2) /*整个表达式为赋值表达式,它的值为10,z的值为5*/ x=z=5,5*2 /*整个表达式为逗号表达式,它的值为10,x和z的值都为5*/ 逗号表达式用的地方不太多,一般情况是在给循环变量赋初值时才用得到。所以程序中...

C++中的“printf("a+b=%d \n",sum)”这句中的“%d”是什么意思。
答:楼上解释的是什么啊?d 是printf的格式化参数,是指以十进制整数形式打印 sum的类型已经很明确了,就是int型 但是在printf的时候后,可以以十进制形式(%d)/八进制形式(%o)/十六进制形式(%x),格式化输出sum printf的格式化参数还有很多形式,具体请参见C99规范或者POSIX规范 ...

C语言中%d 什么意思?
答:1、%d表示输入或输出十进制有符号数;2、%f表示输入或输出浮点数(float,四字节表示);3、另%lf表述输入或输出双精度浮点数(double 8字节表示);4、在输出不同数据时要用不同的的格式字符,比如说这个%d是用来输出十进制整型数据的实际长度输出;%f是以小数形式输出单、双精度度数,隐含输出6位小数;...