//3
//因为x和y为double类型
//x=1,y=x+3/2
//其中3/2还是等于1
//所以说y等于1+1=2
//但是要注意x和y都是double类型的数值
//所以说不可以写为2 所以说写为2.0
//11
/*
#include
int main()
{
int x=05;
char z='a';
printf("%d\n",x);//x就是5
//5就是 0101
//1就是 0001
//&之后为:0001
//两个位都为1时,结果才为1
printf("%d\n",x&1);
printf("%d\n",(x&1)&&(z<'z'));
//(x&1)&&(z<'z')注意这是一个表达式
//值为0或者1
//从前到后看
return 0;
}
*/
//12
/*
#include
int main(void)
{
//printf("1234567\b\b\b\b89");
//1238967
//在输出1234567之后,因为紧接着要输出4个\b,
//这时程序把光标前(左)移了4个字符的位置,
//然后输出了89这两个字符,占用了45这两个字符的位置。
//但是因为67这两个字符已经输出,所以仍然显示在那里。
printf("a\bre\'hi\'y\\\bou\n");
//re'hi'you
//printf("12345\n67\b\b\b\b89");
//\b遇到换行符\n,光标就不会再向前(左)移动了。
return 0;
}
*/
//\b的含义是,将光标从当前位置向前(左)移动一个字符(遇到\n或\r则停止移动),并从此位置开始输出后面的字符(空字符\0和换行符\n除外)。
//3
//
/*
#include
int main()
{
int x=11;
printf("%d\n",(x++*1/3));
//这个就是x++这个表达式的值为11
//然后11*1 = 11
//11/3 = 3
return 0;
}
*/
//4
/*
#include
int main()
{
double d =3.2;
int x,y;
x=1.2;//x=1
// printf("%d\n",x);
// printf("%f\n",x);
y=(x+3.8)/5.0;
printf("%f\n",(4.8)/5.0);
//float以%d格式输出,结果一般为绝对值很大的数
printf("%d\n",(x+3.8)/5.0);
//因为y是int类型的所以说输出使用%d
//结果输出:-343597384
printf("%d\n",y);
//y=0
// printf("%d\n",((x+3.8)/5.0)*d);
printf("%f\n",d*y);
//int以%f格式输出,结果一般为0.000000
return 0;
}
*/
//7
/*
#include
int main()
{
int a=5,b=5,c=3,d;
d= (a>b>c);
//注意这是表达式:值只可能为0或者1
//具体就是:从左到右(a>b)为假
//所以说d = (0>c)
//最后d = 0
printf("%d\n",d);
return 0;
}
*/
//17 A
#include
int main()
{
int a,b;
a = 1;
b = 1;
//a+=a+b=b++;
//不可以连着写多次赋值
//可以分开写
//比如说:
int x = b++;//1
int y = (a+b);//3
y = x;//1
a = a+y;//2
printf("%d\n",a);
return 0;
}