C语言的运算,急急急!
来源:百度知道 编辑:UC知道 时间:2024/07/01 00:38:35
#include <stdio.h>
main()
{
int a=5, b=7, c=9;
int x, y;
float z;
x=a+b; //赋值表达式
y=c/a; //赋值表达式
z=(x+y)*(x/c); //赋值表达式
printf("x=a+b => &d\n",x );
printf("y=c/a =>&d\n", y);
printf("z=(x+y)*(x/c) =>&f\n",z );
}
-----------------------------------------
输出结果 x=a+b=>12
y=c/a=>1
z=(x+y)*(x/c)=>13.000000
z=>13是怎么算出来的,麻烦具体点!
main()
{
int a=5, b=7, c=9;
int x, y;
float z;
x=a+b; //赋值表达式
y=c/a; //赋值表达式
z=(x+y)*(x/c); //赋值表达式
printf("x=a+b => &d\n",x );
printf("y=c/a =>&d\n", y);
printf("z=(x+y)*(x/c) =>&f\n",z );
}
-----------------------------------------
输出结果 x=a+b=>12
y=c/a=>1
z=(x+y)*(x/c)=>13.000000
z=>13是怎么算出来的,麻烦具体点!
z=(x+y)*(x/c)=(12+1)*(12/9)
12/9,由于12和9都是int型整数,所以/此时为取整操作,12/9等于1
所以上式:
z=(x+y)*(x/c)=(12+1)*(12/9)=13*1=13
#include <stdio.h>
main()
{
int a=5, b=7, c=9;
int x, y;
float z;
x=a+b; //x=5+7=12;
y=c/a; //y=9/5=1;(int型只取整)
z=(x+y)*(x/c); //z=(12+1)*(12/9)=13*1=13;(int型只取整)
printf("x=a+b => &d\n",x );
printf("y=c/a =>&d\n", y);
printf("z=(x+y)*(x/c) =>&f\n",z );
}
给你了,每一步都在题里,\\后面,自己看看,%f是输出小数,想要十三最好换成%d或%0.f
就是这么多了
x=a+b=12
y=c/a=9/5=1
z=x+y=13
因为是&f,所以打印输出13.000000
z=(x+y)*(x/c)=>13.000000 =>z=13*1
再把13强制转化成浮点型
因为你上面的Z定义的是float类型
float 类型好像是8位数的
所以....
通过上面的运算我们可以得到z的值是13,而
printf("z=(x+y)*(x/c) =>&f\n",z ); 语句中有&f就是要求z以单浮点型类型输出,所以输出的结果就是z=(x+y)*(x/c)=>13.000000 (单浮点型输出保留6位小数)
因为printf(&quo