试题二

xiaoxiao2021-02-28  76

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.

转载请注明原文地址: https://www.6miu.com/read-96885.html

最新回复(0)