试题二

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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值