⑴ c语言中的F格式符
%f
就是输入输出float类型的格式符,跟%d一样用就可以了.
指定字段长度就是%km.nf这样来用,k是正负号,正可以省略,正表示右对齐,负表示左对齐.
比如说-789.124这个数,一共占8个格子,那么比如%10f,就会左边空两格,然后再输出这个数,%-10f就是先输出这个数,再空两格,然后什么%4f,%3f在这里都没有用,因为这个数有8格,4和3都太小了,它会不空格正常输出-789.12400X,注意小数点后有6位,这是因为float的精度所确定的.然后最后一位误差是不定的,因为计算机硬件原因.所以实际上%10f还是太小了,因为实际上这个数有11位,10无法起到控制格式和空格的作用,10跟不写是一样的,至少%12f才有用.
m就是空格的控制符啦,刚解释过了.
小数点后面的n是精确到几位,比如说%.2f,就是四舍五入保留2位小数.
楼上瞎说...%4f和%3f怎么会把小数省掉!太搞笑了..自己去试试啊~
浮点的%4f的4是包括小数位的~而且这个4是用来做比如表格之类的格式控制,自动输入空格的,不是用来四舍五入舍位数的,如果数据大于4位,那就会直接撑出来,本来多少位,就输出多少位
⑵ 我想问问c语言中这个F到底表示的是什么
这个F是宏定义的常量名,这句话的意思是:在后面的代码中,凡是出现F的地方,编译的时候都会以37.5的float类型来替代,你也可以改名字,比如:
#define MY_NUMBER 100
⑶ 计算机C语言f,e和g格式符的问题
问题1、
double
类型的浮点型数据有效数字一般为15~16个。。
2、这个结果与你所用的编译软件有关,这个运算结果说明你现所用的编译软件是将float
类型的浮点数据长度规定为32位,有效数字为6~7个。。
3、%e ,规范化指数形式,即小数点前有且只有1位有效数字。。
4、%f
,表示以小数形式输出单、双精度数,隐含输出6位小数。。%e
,表示以指数形式输出。。。。%g,不输出无意义的0.
⑷ c语言中,为什么k%int(f)不合法
合法的。若f是浮点型变量,因int(f)和(int)f两种写法都是有定义的,所以k要是整型变量则
k%int(f)合法,k%(int)f也合法。
上面是17:03的回答。有人说没有int(f)这种写法,我写个代码验证——
#include"stdio.h"
intmain(intargc,char*argv[]){
intx=6%int(3.14),y=8%(int)3.14;
printf("x=%dy=%d ",x,y);
return0;
}
运行结果:
⑸ 在c语言中%1.2f这种写法是错误的么
这种写法并没有错,只是没有意义
1.2f 中的1表示域宽,但是实际数字明显域宽大于1,因而被忽略掉。
⑹ C语言printf输出用%5.1f的输出不正确
在c语言里浮点数float 是4个字节共32位。其中0-22位是表示尾数,23-30是表示指数,31位表示符号位。
尾数只有23位所以最大只能有10进制7位有效数字,题目中123456789.123456789常量是一个double型,把它赋值给float只能保证7位有效数字,后面都不准,这是精度丢失,编译的时候大部分编译器都会有警告。所以结果就是那样。你可以改成double试试。double应该是没有问题的。
⑺ c语言,初步,如下,f=5s那里为什么错了正确的应该是怎样的
f=5*s; //?
⑻ C语言,为什么结果是f
char a[4]="ABC"; // 代码有误,修改为char b[4]="ABC";
数组a的存储如下:
[0] 97 'a'
[1] 98 'b'
[2] 99 'c'
[3] 100 'd'
[4] 101 'e'
[5] 102 'f'
[6] 0 ''
执行strcpy(a,b);后,存储如下:
[0] 65 'A'
[1] 66 'B'
[2] 67 'C'
[3] 0 ''
[4] 101 'e'
[5] 102 'f'
[6] 0 ''
由于b的长度比a短,所以复制时,只覆盖了前面的部分,后面的内容没有改变。
字符串时以第一个0为结束的,所以输出和计算字符串长度时是正确的。
⑼ C语言这个程序倒数第三行printf里面应该是lf吧,为什么f对呢
printf函数里的浮点数输出格式化控制符者是%f,不分双精度和单精度,但写%lf也认可。
⑽ C语言中的F格式符
%f 就是输入输出float类型的格式符,跟%d一样用就可以了. 指定字段长度就是%km.nf这样来用,k是正负号,正可以省略,正表示右对齐,负表示左对齐.
比如说-789.124这个数,一共占8个格子,那么比如%10f,就会左边空两格,然后再输出这个数,%-10f就是先输出这个数,再空两格,然后什么%4f,%3f在这里都没有用,因为这个数有8格,4和3都太小了,它会不空格正常输出-789.12400X,注意小数点后有6位,这是因为float的精度所确定的.然后最后一位误差是不定的,因为计算机硬件原因.所以实际上%10f还是太小了,因为实际上这个数有11位,10无法起到控制格式和空格的作用,10跟不写是一样的,至少%12f才有用.
m就是空格的控制符啦,刚解释过了.
小数点后面的n是精确到几位,比如说%.2f,就是四舍五入保留2位小数.
楼上瞎说...%4f和%3f怎么会把小数省掉!太搞笑了..自己去试试啊~
浮点的%4f的4是包括小数位的~而且这个4是用来做比如表格之类的格式控制,自动输入空格的,不是用来四舍五入舍位数的,如果数据大于4位,那就会直接撑出来,本来多少位,就输出多少位