//2.1计算
/一定要你输入的东西,一定要满足/
#include <stdio.h>
int main()
{
int a;
int b;
printf(“请输入两个整数:”);
scanf("%d %d “,&a,&b);
printf(”%d + %d = %d\n", a,b,a+b);
return 0;
}
/**/
#include <stdio.h>
int main()
{
const int AMOUNT = 100;
int price = 0;
printf(“请输入金额(元):”);
scanf("%d",&price);
int change = AMOUNT -price; //C99
printf(“找您%d元。\n”,change);
return 0;
}
#include <stdio.h>
int main()
{
printf(“请分别输入身高的英尺英寸,”
“如输入"5 7"表示5英尺7英寸:”); //""
double foot;
double inch;
scanf("%lf %lf",&foot,&inch);
printf(“身高是%f.\n”,
((foot+inch/12)0.3048));
return 0;
}
//2.2数据类型
#include <stdio.h>
int main()
{
printf("%f",10.0/33);
return 0;
}//2.2数据类型
#include <stdio.h>
int main()
{
printf("%d",10/3); //整数与整数运算结果还是整数
return 0;
}
//2.2数据类型
#include <stdio.h>
int main()
{
int a,b;
scanf("%d %d",&a,&b);
double c=(a+b)/2.0; ///
printf("%d和%d的平均值=%f\n",a,b,c);
return 0;
}
//2.3 表达式 计算时间差
#include <stdio.h>
int main()
{
int hour1,minter1;
int hour2,minter2;
scanf("%d %d",&hour1,&minter1);
scanf("%d %d",&hour2,&minter2);
int t1=hour160+minter1;
int t2=hour260+minter2;
int t=t2-t1;
printf(“时间差是%d小时 %d分”,t/60,t%60);
return 0;
}
//2.3 表达式 不好的表达式
#include <stdio.h>
int main()
{
int a=5;
int b;
int c = (b=a+2) - (a=2);
printf("%d %d %d",a,b,c);
return 0;
}
//result =(result=result*2)*6(result =3+result);//这样的表达式太复杂,不容易阅读和理解
//容易造成读程序时的误解。所以,要避免写出这样的复杂表达是来的。这个表达式应该被拆成
//若干的表达式,以明显正确的顺序来进行计算
//2.3 表达式 符合赋值运算符 = += -= *= /= %= &= ^= |=
#include <stdio.h>
int main()
{
int a=10;
printf(“a++=%d\n”,a++);
printf(“a=%d\n”,a);
printf("++a=%d\n",++a);
printf(“a=%d\n”,a);
return 0;
}
//2.3 表达式 符合赋值运算符 = += -= *= /= %= &= ^= |=
/*a = b+=c+±d±-e/-f
由运算符的优先级可知:赋值运算符的优先级最低,加后赋值为倒数第二,正负号优先级为第一,自加自减为第二。
所以,在本式中:
第一步:先自右向左计算负号、自增、自减
即先计算-f、–e、c++
其中-f表达为(-f),–e表达为(e-1),c++表达为c
等式变为a = b+=c-d+(e-1)/(-f)
第二步:自左向右计算乘除、取余,然后加减
即计算c-d+(e-1)/(-f)的值,设这个式子为 t
等式变为a = b+=t
第三步:自右向左计算赋值
-
对b赋值为 b+=t 即b=b+t 即b=b+c-d+(e-1)/(-f)
-
对a赋值为a=b+c-d+(e-1)/(-f)
-
最终结果与初始值对比
a=b+c-d+(e-1)/(-f)
b=b+c-d+(e-1)/(-f)
c=c
d=d
e=e-1
f=f
【测试代码】*/
#include <stdio.h>
int main()
{
int a,b=4,c=4,d=5,e=7,f=3;
printf("a=%d\n",a=b+=c++-d+--e/-f);
return 0;
}
#include <stdio.h>
int main()
{
int a,b=4,c=4,d=5,e=7,f=3;
printf("a=%d\n",a=b+=c++-d+--e/-f);
printf("b=%d\n",b);
printf("c=%d\n",c);
printf("d=%d\n",d);
printf("e=%d\n",e);
printf("f=%d\n",f);
return 0;
}
测试结果:
a=1
b=1
c=5
d=5
e=6
f=3
/逆序输出3位数 /
#include <stdio.h>
int main()
{
int a =0;
int b =0;
scanf("%d",&a);
b= a/100+a%100/1010+a%10100;
printf("%d\n",b);
return 0;
}