关于C语言的几个问题,高手帮忙详细解答一下,谢谢!

来源:百度知道 编辑:UC知道 时间:2024/06/17 06:14:50
1.格式字符e或E输出格式是[-]m.dddddde或[-]m.ddddddE是什么意思啊?
2.下面几个输出语句的输出结果为什么是这样的。其中j表示空格,f为float型,值为123.456。
(1)输出语句printf(“%12f\n”,f);输出结果jj123.456000
(2)输出语句printf(“%e\n”,f);输出结果1.234560e+002
(3)输出结果输出语句printf(“%13e\n”,f);输出结果1.234560e+002
(4)输出语句printf(“%5s\n”,”abcdefg”); 输出结果abcdefg
(5)输出语句printf(“%.5s\n”,”abcdefg”); 输出结果abcde
(6)输出语句printf(“%+ -6d%+ -12.2f\n”,k,-f);输出结果+1234-123.46jjjjjj
(7)输出语句printf(“%f%%\n”,12.5);12.500000%
3.表达式3.5+1/2的计算结果是,为什么?
4.若变量a,b,c已正确定义,要将a和b中的数进行交换,以下选项中不正确的语句组是
A a=a+b,b=a-b,a=a-b; B t=a,a=b,b=t; C a=t,t=b,b=a; Dt=b;b=a;a=t;
5.当a=1,b=2,c=3时,以下if语句执行后,a,b,c中的值分别为( )
if(a>c)
b=a;a=c;c=b;
三楼说f型的是输出12位,那2.(7)中怎么才输出10位啊。
第四题和第五题能不能给详细解答一下啊。

1、[-]m.dddddde或[-]m.ddddddE 是指数形式1.0e+2就是1.0乘以十的平方;
2、太多不好解释,自己看书慢慢领会吧!
3、结果是3.5 因为1和2是整型常数1/2=0.5转换才整型就是0了;
4、c
5、a=3,b=2,c=2

3题答案是 3.5 1/2=0 这是取整 的意思

1.double;形如[-]m.dddddde[+-]xx或者[-]m.ddddddE[+-]xx的十进制浮点数表示法,d的数目由精度确定。缺省精度为6位,精度为0时不输出小数点;
2.(1)以12位输出f值,f又是float型的,所以小数点之后默认输出6位小数;
(2)e+002意思是10的2次幂;
(3)13e意思是一共输出13位(算小数点和e以及+ 占位);
(4)不清楚
(5)输出5位;
(6)+正常输出,-是左对齐意思;
(7)以float型输出,%%的功能是输出一个%;
3.如果是%d输出的话,结果是3。因为1/2是0,3.5+0是3;
4.C;
5.b=2,a=3,c=2

小数点 也算一位拉

[-]m.dddddde 应该说的是 ‘-是对齐方式
默认的是左对齐 就是一共输出多少位 然后不足的在右边补空格 ‘-’是刚好相反。m.dddddd 中的m就是要对数输出多少位了 小数点后面的数就是在输出时 小数点后面取几位 比如(.5)就是在小数点后面取5位 e是科学计数法的标志

2. (1)输出的数据占12位,该数为浮点型小数点后为六位。如果数据长度不够,前面加空格