c语言填空处为6.6为什么

来源:百度知道 编辑:UC知道 时间:2024/07/05 15:24:40
50
以下程序输出结果是:1为什么?
main() { int x=0.5; char z=' a';printf("%d\n",(x&1)&&(z<'z') );}

char z=' a';是什么意思
printf("%d\n",(x&1)&&(z<'z') 是什么意思

6以下程序输出结果是:2.1为什么?
main(){ int a=1,b=2;a=a+b;b=a-b;a=a-b;printf( "%d,%d\n", a, b);}

7以下程序输出结果是:16.00,请填空
main() { int a=9,b=2;
float x=填空,y=1.1,z;z=a/2+b*x/y-1/2;printf("%5.2f\n",z );}

填空处为6.6为什么

看看我的解释吧,不一定能说明白:

5.
main() { int x=0.5; char z=' a';printf("%d\n",(x&1)&&(z<'z') );}

其中,char z='a'; 表示定义一个字符型变量z,赋初值'a'给z。
printf("%d\n",(x&1)&&(z<'z'); 意思是用十进制格式输出一个变量的值,这个变量具体是指(x&1)&&(z<'z')这个表达式,这个表达式运算的结果是真(C中真用十进制表示=1),所以输出为1。为什么运算的结果是真? &&表示交集运算,&&左右两边都为真,结果就为真;&是位操作与运算,参加运算的两个量 均为1时,结果为1,其他时候均为0. int x=0.5, x=0,左边(x&1)的运算结果是0,右边(z<'z')的运算结果1,所以(x&1)&&(z<'z')的结果是0。

6.
main(){ int a=1,b=2;a=a+b;b=a-b;a=a-b;printf( "%d,%d\n", a, b);}

这段程序是输出两个变量的十进制格式值,两个值之间用","隔开(有点太罗嗦hehe)。
a=1,b=2
a=a+b,=>a=1+2=3
b=a-b,=>b=3-2=1
a=a-b,=>a=3-1=2
输出:2,1

7.
main() { int a=9,b=2;
float x=填空,y=1.1,z;z=a/2+b*x/y-1/2;printf("%5.2f\n",z );}

解方程:
16.0=9/2 + 2*x/1.1 - 1/2
x=6.6
ps: 你的题目中"输出结果是:16.00",是不是应该&q