更多“若有以下定义和语句union data{ int i; char c; float f; } x;int y;则以下语句正确的是A)x ”相关问题
  • 第1题:

    设int型变量a、b,float型变量x、y,char型变量ch均已正确定义并赋值,则正确的swith语句是( )。

    A.switch (x+y) {...}

    B.switch (ch+1) {...}

    C.switch ch {...}

    D.switck (a+b) {...}


    正确答案:B
    解析:switch的表达式的值不可以是float类型,因此选项A错误;选项C的switch后没有括号,所以错误;选项D,不应该有分号。所以选项B正确。

  • 第2题:

    设已有定义:float x;,则以下对指针变量p进行定义且赋初值的语句中正确的是()。

    A.int *p=(float)x;

    B.float *p=&x;

    C.float p=&x;

    D.float *p=1024;


    D

  • 第3题:

    22、设已有定义:float x;,则以下对指针变量p进行定义且赋初值的语句中正确的是()。

    A.float *p=1024;

    B.float p=&&x;

    C.int *p=(float)x;

    D.float *p=&x;


    A 指针是用来存放地址的变量,用(类型名*指针变量名)的形式定义。赋值时应将某个变量地址即&x赋给指针变量,因此选择A)。

  • 第4题:

    2、若a定义为int 型,x定义为float型,以下能给变量正确赋值的scanf 函数调用语句为 。

    A.scanf("%d%f",a,x);

    B.scanf("%d%f",&a, &x);

    C.scanf("%x%d",&a,&x);

    D.scanf("%f%d",&a,&x);


    2 2 解析:本题考查表达式的运算。因为x=1,y=2,所以表达式(x+y)%2=3%2=1,(int)a/(int)b=(int)}(3/2)=1,因此整个表达式的结果为(x+y)%2+(int)a/(int)b=1+1=2。

  • 第5题:

    设已有定义float x;,则以下对指针变量p进行定义其赋初值的语句中正确的是()

    A.float *p=1024;

    B.float *p=&x;

    C.int *p=(int)x;

    D.float p=&x;


    D

  • 第6题:

    设已有定义:float x;,则以下对指针变量 p 进行定义且赋初值的语句中正确的是

    A.float *p=1024;

    B.float p=&x;

    C.int *p=(float)x;

    D.float *p=&x;


    D