niusouti.com
参考答案和解析
5 4
更多“已知 int a=2, b=2, c=3; ,则执行完语句 a*=18+(b++)-(c); 后,a的值是 。”相关问题
  • 第1题:

    已知inta=6;则执行a+=2;语句后,a的值为8。()


    正确答案:√

  • 第2题:

    执行完下面程序片段后,结论正确的是_________。inta,b,c;a=1;b=2;c=(a+b>3?a++:b++);

    A.a的值是1,b的值是2

    B.c的值是false

    C.a的值是2,b的值是3

    D.a的值是1,b的值是3


    正确答案:D

  • 第3题:

    设有C语言变量说明“static int a[][2]={{1,2),(3,4}};int *pa,(*pb)[2];”,则执行语句“pa=pb=&

    设有C语言变量说明“static int a[][2]={{1,2),(3,4}};int *pa,(*pb)[2];”,则执行语句“pa=pb=&a[0][0];”后,(*(pa+1))的值为(31)。

    A.2

    B.3

    C.&a[0][1]

    D.&a[1][0]


    正确答案:A
    解析:对于语句“pa=pb=&a[0][0];”赋值后pb已经变为列指针,则pa也是列指针。在进行TC编译时,会出现“Warning:Suspiciouspointerconversioninfunctionmain”的提示信息,表明pb由行指针变为列指针。

  • 第4题:

    执行完a=5Mod3语句后,a的值为()。

    A.0

    B.2

    C.3

    D.5


    正确答案:B

  • 第5题:

    程序执行完这条语句后int i=1,j=1;i<<2+j;i的值是多少?A.1B.2C.8SXB

    程序执行完这条语句后int i=1,j=1;i<<2+j;i的值是多少?

    A.1

    B.2

    C.8

    D.3


    正确答案:C
    算术运算高于移位运算符,i<<(2+j)

  • 第6题:

    若有定义int a=2;则执行完语句a/=a*a;后,a的值是 ( )

    A.0.5

    B.0

    C.1/2

    D.1/4


    正确答案:B

  • 第7题:

    若有定义语句int a,b;double x;则下列选项中没有错误的是( )。

    A.switch(x%2) {case O:a++;break; case 1:b++;break; default:a++;b++; }

    B.switch((int)x/2.0) {case O:a++;break; case 1:b++;break; default:a++;b++; }

    C.switch((int)x%2) {case O:a++;break; case 1:b++;break; default:a++;b++; }

    D.switch((int)(x)%2) {case 0.O:a++;break; case 1.0:b++;break; default:a++;b++; }


    正确答案:C
    解析:C语言中switch语句中的表达式和case表达式都不能是浮点类型。所以选c。

  • 第8题:

    若有定义语句“int a,b;double X;”,则下列选项中没有错误的是( )。

    A.switch(X%2) { case 0:a++;break; case l:b++;break; default:a++;b++; }

    B.switch((int)x/2.O) { case 0:a++;break; case l:b++;break; default:a++;b++; }

    C.switch((int)X%2) { case 0:a++;break; case l:b++;break; default:a++;b++; }

    D.switch((int)(x)%2) { case 0.0:a++;break; case l.0:b++;break; default:a++;b++; }


    正确答案:C
    C语言中,switch语句中的表达式和case表达式都不能是浮点类型。所以选C。

  • 第9题:

    执行完下面程序片段后,()的结论是正确的。int a,b,c;a=1;b=2;c= (a+b>3?a++:b++);

    • A、a的值是2,b的值是3
    • B、a的值是1,b的值是3
    • C、a的值是1,b的值是2
    • D、c的值是false

    正确答案:B

  • 第10题:

    若有 int i=10,j=2;则执行完i*=j+8;后ⅰ的值为28.


    正确答案:错误

  • 第11题:

    已知int a=2,b=1,c;执行语句c=b/a+2.5后,c的值()

    • A、2.5
    • B、3
    • C、3.0
    • D、2

    正确答案:D

  • 第12题:

    单选题
    若有定义语句int a,b;double x;则下列选项中没有错误的是(  )。
    A



    switch(x%2)
    {
     case 0:a++;break;
     case 1:b++;break;
     default:a++;b++;
    }

    B



    switch((int)x/2.0)
    {
     case 0:a++;break;
     case 1:b++;break;
     default:a++;b++;
    }

    C



    switch((int)x%2)
    {
     case 0:a++;break;
     case 1:b++;break;
     default:a++;b++;
    }

    D



    switch((int)(x)%2)
    {
     case 0.0:a++;break;
     case 1.0:b++;break;
     default:a++;b++;
    }


    正确答案: D
    解析:
    switch语句中,表达式的类型应与case语句后的常量类型保持一致,并且switch的判断条件只能为整型或字符型,case后面为常量表达式。A项,x%2得到的是浮点型数据,而case语句后的常量是整型数据,类型不一致;B项,(int)x/2.0得到的也是浮点型数据,类型不一致;D项,(int)x%2.0得到的是整型数据,而case语句后的常量是浮点型数据,类型也不一致。答案选择C选项。

  • 第13题:

    若有定义int a=2;则执行完语句a+=a-=a*a;后,a的值是( )。

    A.0

    B.4

    C.8

    D.-4


    正确答案:D

  • 第14题:

    已知“int a=2,b=2,c=3:”,则执行完语句“a*=18 (b )-( c);”后,a的值是__________。


    正确答案:
    32【解析】本题考查自加运算符( )和自减运算符(--)。 和一的几个特点:①只能作用于变量,不能作用于表达式或常量;②前缀形式是在使用变量之前先将其值加1或减1,后缀形式是先使用变量原来的值,使用完后再使其加1或减1,题中: c计算时c=4,b 计算时b=2,18 (b )-( c)=16,a*=16等价于a=a?16=2?16,得a=32。

  • 第15题:

    下列程序执行后输出的结果是()includef(int A){ int b=0;static c=3;a=c++,b++;return

    下列程序执行后输出的结果是( ) #include<stdio.h> f(int A) { int b=0; static c=3; a=c++,b++; return(A) ; } main() { int a=2,i,k; for(i=0;i<2;i++) k=f(a++); printf("%d\n",k); }

    A.3

    B.0

    C.5

    D.4


    正确答案:D

  • 第16题:

    在执行完下列的c语句段之后,则B的值是( )。 char a=A; int b; B=((34&&56)&&(a<b));A.0SXB

    在执行完下列的c语句段之后,则B的值是( )。 char a=A; int b; B=((34&&56)&&(a<b));

    A.0

    B.1

    C.TRUE

    D.FALSE


    正确答案:B
    本题考查3个知识点:将一个字符赋给一个字符变量时,是将该字符对应的ASCIl码存储到内存单元中;常见ASCII码的值如A和a;只要逻辑与运算符&&的两个运算对象都为真时,返回值就是1。

  • 第17题:

    若有以下程序: int a=1,b=2: a=a^b: b=b^a:则执行以上语句后a和b的值分别是( )。A. a=1,b=2 S

    若有以下程序: int a=1,b=2: a=a^b: b=b^a:则执行以上语句后a和b的值分别是( )。

    A. a=1,b=2

    B.a=3,b=l

    C.a=3,b=2

    D.a=2.b=1


    正确答案:B
    本题考查按位异或的用法。按位异或运算的规则是:两个运算数的相应二进制位相同,则结果为0,相异则结果为1。b=2的二进制为00000010,a=1的二进制为00000001,a=a^b=00000011,转化为十进制后为3,b=b^a=00000010-00000011=00000001,即1。

  • 第18题:

    在下列叙述中,错误的一条是______。

    A.有下列语句组,则c=(*p)(a,b)与c=max(a,b)等价 int max();int(*p)();int c;p=max;

    B.执行下列语句后,则*p的值为1 int a=1,*p;*p=&a;

    C.已知指针变量p1指向数组元素a[1],p2指向数组元素a[4],则p2-p1=4-1=3

    D.2个指针变量指向同一数组时可以进行比较,其值为1或0


    正确答案:B

  • 第19题:

    设int a=12,则执行完语句a+=a-=a*a后,a的值是( )

    A.552

    B.264

    C.144

    D.-264


    正确答案:D

  • 第20题:

    执行完下面程序片段后,( )的结论是正确的。

    inta,b,c;

    a=1;

    b=2;

    c=(a+b>3?a++:b++);

    A、a的值是2,b的值是3

    B、a的值是1,b的值是3

    C、a的值是1,b的值是2

    D、c的值是false


    正确答案:B

  • 第21题:

    假设执行下列语句之前,变量a、b、c的值分别为1、2、3,那么执行下列语句以后,变量c的值发生变化的有()。

    • A、c=(a>B.?2:3;
    • B、if(c=0)b++;
    • C、for(inti=a;i
    • D、a=c==b。

    正确答案:B,C

  • 第22题:

    int a=1,b=2,c=3; 执行语句a=b=c;后a的值是()


    正确答案:3

  • 第23题:

    设a、b、c为整型数,且a=2、b=3、c=4,则执行完以下语句: a*=16+(b++)-(++c); 后,a的值是()


    正确答案:28

  • 第24题:

    单选题
    执行完下面程序片段后,()的结论是正确的。int a,b,c;a=1;b=2;c= (a+b>3?a++:b++);
    A

    a的值是2,b的值是3

    B

    a的值是1,b的值是3

    C

    a的值是1,b的值是2

    D

    c的值是false


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