更多“程序#includevoidmain(){structdata{inta;floatb;charc}m={10, 5.5,’A’};printf("%f%c\n",m.a*m.b,m.c);}的执行结果是()。 ”相关问题
  • 第1题:

    以下程序的输出结果是【】。 include main() {struct stru {int a; float b; char d[4]; }

    以下程序的输出结果是【 】。

    include<stdio.h>

    main()

    { struct stru

    { int a;

    float b;

    char d[4];

    };

    printf("%d\n",sizeof(struct stru));

    }


    正确答案:10
    10 解析:结构体变量占用内存空间的字节数是结构体各分量占用内存空间的字节数的总和。int型变量占用2字节,float型变量占用4字节,char型占用1字节,char d[4]是含有4个元素的char型数组,占用4字节。sizeof(struct stru)是计算结构体变量占用内存空间的字节数,2+4+4=10。

  • 第2题:

    有以下程序: main() { int a; char c=10; float f=100.0; double x; a=f/=c*=(x=6.5); printf("%d %d %3.1f %3.1f\n",a,c,f,x); } 程序运行后的输出结果是( )。

    A.1 65 1 6.5

    B.1 65 1.5 6.5

    C.1 65 1.0 6.5

    D.2 65 1.5 6.5


    正确答案:B
    解析:主函数中先定义了一个整型变量a,一个字符变量c并赋初值10,一个浮点型变量f并赋初值100.00和一个double型x,接着执行a=f/=c*=(x=6.5),该语句从右向左计算,先把6.5赋值给x(该括号表达式的值也为6.5),此时x的值变为6.5,然后执行c*=(x=6.5)相当于执行c=c*(x=6.5),此时c的值为65,接着向左执行f/c*=(x=6.5),语句相当于执行f=f/c,所以f的值为 100/65≈1.538。接着向最右边执行“a=f”,由于a是整型变量,所以a最后去f的整数部分为1。程序最后输出的a、c、f和x的值(f和x只保留小数点后面1位)分别为1、65、1.5、6.5。所以,4个选项中选项B符合题意。

  • 第3题:

    有以下程序:includemain(){int a;char c=10; float f=100.0;double x; a=f/=c*=(x=6.5

    有以下程序: #include <stdio.h> main() { int a; char c=10; float f=100.0; double x; a=f/=c*=(x=6.5); printf("%d%d%3.1f%3.1f\n",a,c,f,x); } 程序运行后的输出结果是( )。

    A.1 65 1 6.5

    B.1 65 1.5 6.5

    C.1 65 1.0 6.5

    D.2 65 1.5 6.5


    正确答案:B
    解析:本题考查复合赋值运算符。本题中先计算c的值,c=c*(x=6.5)=10*6.5=65;然后计算f的值,f=f/c=100.0/65=1.538462;最后计算a的值,a=f,a取f的整数部分,即为1。

  • 第4题:

    有以下程序 main() {int a; char c=10; float f=100.0; double x; a=f/=c*(x=6.5); printf("%d %d %3.1f %3.1f\n",a,c,f,x);} 程序运行后的输出结果是

    A.1 65 1 6.5

    B.1 65 1.5 6.5

    C.1 65 1.0 6.5

    D.2 65 1.5 6.5


    正确答案:B
    解析:主函数中先定义了一个整型变量a,一个字符变量c并赋初值10,一个浮点型变量f并赋初值100.00和一个double型x,接着执行“a=f/=c*=(x=6.5)”,该语句从右向左计算,先把6.5赋值给x(该括号表达式的值也为6.5),此时x的值的变为6.5,然后执行“c*=(x=6.5)”相当于执行“c=c*(x=6.5)”,此时c的值为65,接着向左执行“f/=c*=(x=6.5)”,语句相当于执行“f=f/c”接着向最右边执行“a=f,由于a是整型变量,所以a最后取f的整数部分为1。程序最后输出的a、c、f和x的值分别为1、 65、1.5、6.5。

  • 第5题:

    有以下程序: main() { int a; char c=10; float f=100.0;double x; a=f/=c*=(x=6.5); printf("%d%d%3.1f%3.1f\n",a,c,f,x); } 程序运行后的输出结果是 ______ 。

    A.1 65 1 6.5

    B.1 65 1.5 6.5

    C.1 65 1.0 6.5

    D.2 65 1.5 6.5


    正确答案:B
    解析:本题求解步骤如下:先进行,"c*=(x=6.5)”的运算,由于x=6.5,表达式相当于c=c*6.5=10*6.5=65。再进行"f/=65"的运算,相当于f=f/65=100.0/65,由于f为单精度实型变量,因此f的值约为1.538462。然后进行'a=f'的运算,由于a为整型变量,因此a=1。最后将各个变量的值按照printf中的格式要求输出到屏幕,注意变量f,x按照”%3.1f'格式输出,即只输出一位小数。