printf打印字符串 以下程序 {printf("%f ",2.5+1*7%2/4); }的结果
以下程序 {printf("%f",2.5+1*7%2/4); }的结果
以下程序 {printf("%fn",2.5+1*7%2/4); }的结果
2.5000001 * 7 = 1;7 % 2 = 1;1 / 4 = 0;结果就是2.5%f输出六位小数运算符+:做加法运算*:做乘法运算
%:做取模运算
/:做除法运算
优先级"%">"*和/">"+和-”
输出格式控制符
%f:输出浮点型,保留6位小数

n:换行
计算
2.5+1*7%2/4=2.5+1*1/4=2.5+1*0=2.5+0=2.5
所以输出的结果为2.500000printf"%fn",2.5+1*7%2/4); 结果是多少 为什么?
printf("%fn",2.5+1*7%2/4);
结果
2.5
2.5+1*7%2/4
计算顺序
2.5+(((1*7)%2)/4)
2.5+((7%2)/4) 取模
2.5+(1/4) 整数除法
2.5+0
2.5
main() {float a,b; a=123456.78e5; b=a+20; printf("%fn",a); printf("%fn",b); } 程序结果是什么
12345677824.000000
12345677824.000000
位数太多,精度表示不了
以下程序的结果是多少? main() {int n=0; while(n++<=1); printf("%d,",n); printf("%dn",n); }
3,3
关键在于 while 循环,以及 n++ 后加的概念(n当前值不变,下次循环)。
第一次: n=0, n <1;
第二次: n=1, n =1;
第三次: n=2, 不满足 跳出循环,在执行下一行代码时,n 的值变为 3(也就是后加的意义)。
main(){ printf("%fn",356.); printf("%fn",356); printf("%fn",356f); }
这是C/C++语言的缺点,不按人的思维。
printf("%fn",356); 356 是整型,不能按%f格式输出。
今后还要注意类似情况: 3/2 不会得 1.5; 要写 3. / 2 才得 1.5
以下程序的输出结果是( )。 main( ) { int n; (n=6*4,n+6),n*2; printf("n=%dn",n); }
用vc6运行程序,输出n=24
以下程序段的运行结果是( )。 int a=1; printf("%d, %d, %dn", a, ++a, a++);
结果是 3,3,1 因为printf执行的时候是从右往左的,先算a++ 再算++a 最后算a ;
第一步 执行完a++之后 输出1,a的结果是2;
第二步 执行++a,先自加再使用 输出3,a的结果是3;
第三步 直接输出a ,即 输出3
假设m=++a,n=a++;则运行后,m=2,n=1(a=1)
++a:先执行a=a+1,再将a的值作为++a的值(此时a=2)
a++:先将a的值作为a++即n的值,再执行a=a+1(此时a=2)
你可以把这段话记下来,下次模糊了就看看,多看几次就记住了
以下程序的运行结果是( ) main( ) { int m=5: if(m++>5) printf (”%dn",m): else printf("%dn",m--): }
C