参考答案和解析
正确答案:C
解析:在C语言中,求余运算符“%”两边的运算对象都应为整型数据,所以需要对变量f进行强制类型转换,正确的写法为k%(int)f。在C语言中,逻辑运算符与赋值运算符、算术运算符、关系运算符之间从高到低的运算优先次序是:!(逻辑“非”)、算术运算符、关系运算符、&&(逻辑“与”)、‖(逻辑“或”)、赋值运算符。根据运算符的优先级与结合性,对于选项A),先计算k>=k的值(为真,即1),再用1对k进行赋值。对于选取项 B,先计算k++的值,再对其取负数。对于选项D),先计算k>=f的值(为假,即0),再用0与m进行比较,故最终结果为0。
更多“设有定义:int k=1,m=2;float f=7;则下列选项中错误的表达式是( )。A.k=k>=kB.-k++C.k%int(f)D.k>=f>=m”相关问题
  • 第1题:

    设有定义int a=1;float f=1.2;char c=’a';,则下列表示错误的是

    A.++a;

    B.f --;

    C.C++;

    D.8++;


    正确答案:D

  • 第2题:

    有以下程序 int add(int a,int b){return(a+b);} main() {int k,(*f)(),a=5,b=10; f=add; } 则以下函数调用语句错误的是

    A.k=(*f)(a,b);

    B.k=add(a,b);

    C.k=*f(a,b);

    D.k=f(a,b);


    正确答案:C

  • 第3题:

    设有如下变量定义: double a=3.500000;float b=2.5; int m=2,n=3; 则表达式“(float)(m+n)/2+(int)a%(int)b”的值是( )

    A.2.5

    B.3.5

    C.4.5

    D.表达式不正确


    正确答案:B

  • 第4题:

    下列程序的输出结果是()。includeint f(int a,int b);main(){int i=2,p,j,k; j=i;k=++i

    下列程序的输出结果是( )。 #include <stdio.h> int f(int a,int b); main() { int i=2,p,j,k; j=i; k=++i; p=f(j,k); printf("%d",p); } int f(int a,int b) { int c; if(a>b)c=1; else if(a= =b) c=0; else c=-1; return(c); }

    A.-1

    B.1

    C.2

    D.编译出错,无法运行


    正确答案:A
    解析:函数调用相当于f(2,3),程序运算结果为-1。

  • 第5题:

    设有如下定义语句: int m[]={2,4,6,8,10},*k=m; 以下选项中,表达式的值为6的是( )。

    A.*(k+2)

    B.k+2

    C.*k+2

    D.*k+=2


    正确答案:A
    本题考查数组和指针,*k指针是指向rn数组的首地址,所以要使表达武的值为6,只需要指针指向第m[2],所以答案选择A。-

  • 第6题:

    设有定义:char c;float f;int i;unsignedu;double d;下列各表达式的类型分别是()1.u+92.d!=f&&(i+2)3.8.2*i+c

    A.1.unsigned,2.int,3.double

    B.1.double,2.double,3.double

    C.1.int,2.double,3.char

    D.1.unsigned,2.double,3.int


    参考答案:A

  • 第7题:

    已知有下列类的说明,则下列哪个语句是正确的? ( ) public class Test { private float f=1.0f; int m=2; static int n=1; public static void main(String arg[]) { Test t=new Test(); } }

    A.t.f;

    B.this,n;

    C.Test.m;

    D.Test.f;


    正确答案:A

  • 第8题:

    在下列定义中的共用体所占内存字节数是( ) Union {char k[6]; struct {int m; float f;}a; double d;}b;

    A.8

    B.14

    C.18

    D.10


    正确答案:A

  • 第9题:

    若有定义 class A{int x,y; static float f(int a){…} float g(int x1,int x2){…}} 及A a1=new A( );则下列用法中非法的是( )。

    • A、g(3,2)
    • B、f(3)
    • C、a1.f(4)
    • D、a1.g(2,5)

    正确答案:C

  • 第10题:

    单选题
    若有定义 class A{int x,y; static float f(int a){…} float g(int x1,int x2){…}} 及A a1=new A( );则下列用法中非法的是( )。
    A

    g(3,2)

    B

    f(3)

    C

    a1.f(4)

    D

    a1.g(2,5)


    正确答案: C
    解析: 暂无解析

  • 第11题:

    单选题
    有以下程序:#include int a=2; int f(){ static int n;  int m;  m=n=0;  n++; a++; m++; return m+n+a; }main(){ int k;  for(k=0;k<3;k++)  printf(%d, ,f()); printf(); }程序的运行结果是(  )。
    A

    5,6,7,

    B

    5,7,9,

    C

    5,8,11,

    D

    5,5,5,


    正确答案: B
    解析:
    static变量编译时,将其分配在内存的静态存储区中,在整个程序运行期间都不释放这些存储单元,即使退出函数,下次再进入该函数时,静态局部变量仍使用原来的存储单元,值是上一次函数调用结束时的值。程序执行过程为:k=0,a=2,n=0,m=0;n=1,a=3,m=1,返回5;k=1,a=3,n=0,m=0;n=1,a=4,m=1,返回6;k=2,a=4,n=0,m=0;n=1,a=5,m=1,返回7;k=3退出循环。答案选择A选项。

  • 第12题:

    ( 难度:中等)下面哪个函数是 public void example(){...} 的重载函数?
    A.private void example( int m){...}
    B.public int example(){...}
    C.public void example2(){...}
    D.public int example ( int m, float f){...}
    E.public int example ( int m, float f, int cc){...}

    答案:DE

  • 第13题:

    设有如下的变量定义:

    double x=4.700000;float y=2.5f;int z=7;

    则执行表达式“y+z%3* (int) (x+y)%2/4”后的值是【 】。


    正确答案:5
    5 解析:根据算术运算的优先级规则,应先执行z%3* (int) (x+y)%2/4之后,再用其值与 y作加法运算。z%3*(int) (x+y)%2/4的执行顺序为先计算z%3,得值为1,再计算x+y并取整,其值为7,用z%3的值1.与(int) (x+y)的值7相乘得7,再计算7%2得值为1,再计算1/4,由于两个整数相除,其结果为商的整数部分,所以1/4的值为0。最后执行y+0,其结果为2.5。

  • 第14题:

    设有定义:int k=1,m=2;float f=7;则以下选项中错误的表达式是( )。

    A.k=k>=k

    B.-k++

    C.k%int(f)

    D.k>=f>=m


    正确答案:C
    解析:强制类型转换的一般形式为:(类型名)(表达式),而选项C)中没有给类型名加括号,所以选项C)错误。

  • 第15题:

    设有定义:intk=1,m=2;noat f=7;则下列选项中错误的表达式是( )。

    A.k=k>=k

    B.-k++

    C.k%int(f)

    D.k>=f>=m


    正确答案:C
    解析:在C语言中,求余运算符“%”两边的运算对象都应为整型数据,所以需要对变量f进行强制类型转换,正确的写法为k%(int)f。在C语言中,逻辑运算符与赋值运算符、算术运算符、关系运算符之间从高到低的运算优先次序是:!(逻辑“非”)、算术运算符、关系运算符、&&(逻辑“与”)、‖(逻辑“或”)、赋值运算符。根据运算符的优先级与结合性,对于选项A),先计算k>=k的值(为真,即1),再用1对k进行赋值。对于选取项B),先计算k什的值,再对其取负数。对于选项D),先计算k>=f的值(为假,即0),再用0与m进行比较,故最终结果为0。

  • 第16题:

    在C++语言中,若类C中定义了一个方法int (int a,int b),那么方法(1)不能与该方法同时存在于类C中。

    A.int f(int x,int y)

    B.int f(float a,int b)

    C.float f(int x,float y)

    D.int f(int x,float y)


    正确答案:A
    解析:A选项中定义的方法与题中所定义的方法实质上是一样的。字母只是作为形参参与计算,用什么字母都无所谓。已知3个类O,P和Q,类O中定义了一个私有方法F1、一个公有方法F2和一个受保护的方法F3,类P和类Q是类O的派生类,其继承方式如下所示:classP:protectedO{…);classQ:publicO{…};

  • 第17题:

    设有定义nit a:float f; double int i,则表达式10+'a'+i+f值的数据类型是( )

    A.int

    B.float

    C.double

    D.不确定


    正确答案:C

  • 第18题:

    设有定义int a=1;float f=1.2;char C=a;,则下列表示错误的是( )。 A.++a;B.f一一;SXB

    设有定义int a=1;float f=1.2;char C=a;,则下列表示错误的是( )。

    A.++a;

    B.f一一;

    C.c++;

    D.8++;


    正确答案:D
    ++、--运算符不能用于常量表达式。

  • 第19题:

    若有如下变量定义并赋值: int a=1,b=2,c=3,k; float f=2.5,e; double d=2.4,g; 则下列符合C语言语法的表达式是( )

    A.e=c*=a+=d*f%b

    B.(k=a+b,b*f++,k%c)

    C.g=a+f*c=5

    D.x=double(b)


    正确答案:B

  • 第20题:

    设有定义:intk=1,m=2;floatf=7;,则以下选项中错误的表达式是()

    • A、k=k+=k
    • B、-k++
    • C、k%int(f)
    • D、f=k%m

    正确答案:C

  • 第21题:

    设有说明语句:int k=1,m=2;double d=7.3;,以下表达式中错误的是()。

    • A、k>=m=k
    • B、k++
    • C、k%(int)d
    • D、d>m>k

    正确答案:A

  • 第22题:

    单选题
    设有说明语句:int k=1,m=2;double d=7.3;,以下表达式中错误的是()。
    A

    k>=m=k

    B

    k++

    C

    k%(int)d

    D

    d>m>k


    正确答案: B
    解析: 暂无解析

  • 第23题:

    单选题
    设有如下定义语句:int m[ ]={2,4,6,8},*k=m;以下选项中,表达式的值为6的是(  )。
    A

    *(k+2)

    B

    k+2

    C

    *k+2

    D

    *k+=2


    正确答案: B
    解析:
    本题中k指向数组m的首地址。*(k+2)先将指针后移两个元素,即为m[2]的地址,然后取出m[2]的值6。B项错误,k+2是m[2]的地址;C项错误,*k表示m[0]的值,然后再加上2,所以为4;D项错误,表示给m[0]的值加2,也为4。答案选择A选项。