1、C语言中赋值表达式中赋值号左边必须是变量,而且要跟所要赋值的类型相同。
2、依次输入实型变量
#include<stdio.h>
int main()
{
float f;
double d;
scanf("%f",&f);
scanf("%lf",&d);
printf("%f,%e\n",f, f);
printf("%6.3f,%6.2f,%.2f", d, d, d);
return 0;
}
输出f时,没有控制小数后的位数,默认为6位;
输出变量d时,%6.3保留3位小数,同时左端补一个空格,%6.2类似。%.2只保留2位小数,按照实际位数输出。
3、
#include<stdio.h>
int main()
{
int a=5,b=4,c=3,d;
d=(a>b>c);
printf("%d\n",d);
return 0;
}
输出结果为0,因为关系运算符是从左到右结合,而d=(a>b>c);
等价于d=((a>b)>c);
所以输出结果为 0.
4、
#include<stdio.h>
int main()
{
int a=10,b=7;
printf("%d\n",++a + ++b);
printf("%d,%d\n",a,b);
return 0;
}
输出结果是:19和11,8。这是因为自增自减运算符优先级与单目运算符相同,高于双目运算符。
规律:自增(++):将变量的值加1,分前缀式(如++i)和后缀式(如i++)。前缀式是先加1再使用;后缀式是先使用再加1。
自减(–):将变量的值减1,分前缀式(如–i)和后缀式(如i–)。前缀式是先减1再使用;后缀式是先使用再减1。
5、
#include<stdio.h>
int main()
{
int a,b,c,x=3;
x+=x-=x*x;
printf("%d\n",x);
return 0;
}
结果为:-12。
首先,是执行X*X;
接着x = x - x*x,然后得到x的值为-6,
最后x = x + x,得到-12;
6、a | | b+c&&b-c 是按什么顺序计算的,
因为:+/-是同一个优先级,||/&&是同一优先级,而+/-的优先级又比||/&&的优先级高,所以先算(b+c)(b-c),现算a | | b+c,如果这个式子的值为真,那么才和下个式子(&&b-c)进行运算,否则,整个式子的值为0.