niusouti.com
更多“设有定义int m=1,n=-1;则执行语句printf(〞%d/n〞,(m--++n));后的输出结果是()A、-1B、0C、1D、2”相关问题
  • 第1题:

    有以下程序

    #include <stdio.h>

    main()

    { int m=1,n=2,*p=&m,*q=&n,*r;

    r=p;p=q;q=r;

    printf("%d,%d,%d,%d\n",m,n,*p,*q);

    }

    程序运行后的输出结果是

    A)1,2,1,2

    B)1,2,2,1

    C)2,1,2,1

    D)2,1,1,2


    正确答案:B

  • 第2题:

    已知int k=10,m=3,n;则下列语句输出结果是printf("%d\n",n=(k%m,k/m));

    A.2

    B.3

    C.4

    D.5


    正确答案:B
    解析:表达式n=(k%m,k/m)实际上是将k/m的结果赋值给了n。逗号表达式中最后一个表达式的值是该逗号表达式的值,所以输出结果为k/m。

  • 第3题:

    若有如下程序: int sub(int m) { if(m==1||m==0) return 2; else return(sub(m-1)*sub(m-2));} main() { int n; scanf("%d",&n); printf("%d",sub(n)); } 如果从键盘输入4<回车>,则程序运行后的输出结果是( )。

    A.8

    B.16

    C.24

    D.32


    正确答案:D
    解析:本题的sub()函数是一个递归函数,当参数m为1或0时返回2,否则返回sub(m-1)*sub(m-2)。所以sub(4)递推下来就是sub(4)=sub(3)*sub(2)=sub(2)*sub(1)*sub(1)*sub(0)=sub(1)*sub(0)*2*2*2=25(上标)=32。所以正确答案是D。

  • 第4题:

    设有说明:int a=1,b=0;,则执行以下语句的输出结果是______。 switch(a) {case 1: switch(b) {case 0:printf("**0**\n");break; case 1:printf("**1*\n");break; } case 2:printf("**2**\n");break; }

    A.**0**

    B.**0** **2**

    C.**0** **1** **2**

    D.switch语句中存在语法错误


    正确答案:B
    解析:本题是switch-case语句的嵌套使用,外层switch语句的第一个分支(嵌套switch语句)执行完后,没有break;语句,将继续执行第二个分支。

  • 第5题:

    已知int a=1,b=-1;则语句printf("%d\n",(a--,++b));的输出结果是A.-1 B.0 C.1 D.语句错误


    正确答案:B
    表面上看,题目中是给出一个输出函数,实际上是考查printf函数输出表列为逗号表达式的情况。逗号表达式的一般形式为:表达式1,表达式2,……,表达式n,整个逗号表达式的值为表达式n的值。题目中的实际输出是++b的值,初始时,b=-1,先将b进行++运算,然后将结果输出,输出结果为0。

  • 第6题:

    有以下程序: #include<stdio.h> int f(int x): main {int n=1,m; m=f(f(f(n)));printf("%d\n",m); } int f(int x) {return x*2;) 程序运行后的输出结果是( )。

    A.1

    B.2

    C.4

    D.8


    正确答案:D
    本题考查函数返回值作参数,最初n=1,f(n)=f(1)=2,将f(n)的结果代入第二个f(n)中,即f(f(n))=f(2)=4,所以f(f(f(f(n))))=f(4)=8。

  • 第7题:

    以下程序的输出结果是()      #include      main( )  {int a,b,d=241;      a=d/100%9;  b=(-1)&&(-1);  printf(“%d,%d/n”,a,b);} 

    • A、6,1
    • B、6,0
    • C、2,1
    • D、2,0

    正确答案:C

  • 第8题:

    设有定义:intx=0,*p=&x;则语句printf(“%d/n”,*p);的输出结果是()

    • A、随机值
    • B、0
    • C、x的地址
    • D、p的地址

    正确答案:B

  • 第9题:

    设有如下定义:int x=l,y=-1;,则语句:printf("%d/n",(x--&++y));的输出结果是()

    • A、1
    • B、0
    • C、-1
    • D、2

    正确答案:B

  • 第10题:

    执行下列语句后的输出为().   int j=-1;  if(j<=1) printf("****/n");   else     printf("%%%%/n");

    • A、****
    • B、%%%%
    • C、%%%%c
    • D、有错,执行不正确

    正确答案:A

  • 第11题:

    单选题
    设有说明语句:int x=1;,语句printf(“%d/n”,-x++);的输出结果是()
    A

    -1

    B

    0

    C

    1

    D

    2


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

  • 第12题:

    单选题
    设有定义int m=1,n=-1;则执行语句printf(〞%d/n〞,(m--&&++n));后的输出结果是()
    A

    -1

    B

    0

    C

    1

    D

    2


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

  • 第13题:

    设有如下定义:int x=1,y=-1;则下列语句的输出结果是______。printf("%d\n",(x--&++y));

    A.1

    B.0

    C.-1

    D.2


    正确答案:B

  • 第14题:

    设有定义:float x=123.4567;,则执行以下语句后的输出结果是[ ]。

    printf("%f\n"(int)(x*100+0.5)/100.1;


    正确答案:123.46
    123.46 解析:输出语句的表达式:(int)(x*100+0.5)/100.0是指先运算表达式中的“x*100+0.5”,然后将其结果强制转换为int型,即:(int)(l23.4567*100+O.5)=(int)12346.17=12346,接下来进行”/100.0”的运算即:12346/100.0=123.46,原因是除运算是双目运算,当—边是整型数,—边是实型数时,系统自动将整型转换为实型数,然后进行运算,又因为最后的的输出格式是float类型的实数,所以结果为123.460000。

  • 第15题:

    设有如下定义 int x=10,y=3,z; 则语句 printf("%d\n",z=(x%y,x/y)); 的输出结果是( )

    A.3

    B.0

    C.4

    D.1


    正确答案:A

  • 第16题:

    设有如下定义: int x=10,y=3,z; 则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是( )。A.1SX

    设有如下定义: int x=10,y=3,z; 则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是( )。

    A.1

    B.0

    C.4

    D.3


    正确答案:D

  • 第17题:

    若有以下程序main(){ int p=5,a=5; if(p=1!=0) printf("%d\n",p); else printf("%d\n",p+2);}程序执行后的输出结果是


    正确答案:√
    在本题中,程序首先定义两个整型变量p和a,都被初始化为5,然后执行if语句,该语句的判断条件为p=1!=0,这也是求解这个题目的关键,由于运算符!=的优先级比运算符=高,因此,本判断条件表达式等价于p=(1!=0),很明显,1是不等于0的,返回的是一个真值结果1,因此,此时变量p的值为1,那么条件为真,if语句返回的结果也为真,因此,执行printf("%d\n",p);语句,由于此时变量p的值已经变为1,因此,程序运行后的输出结果为1。

  • 第18题:

    有以下程序:

    include<stdio.h>

    int f(int x):

    main

    {int n=1,m;

    m=f(f(f(n)));printf("%d\n",m);

    }

    int f(int x)

    {return x*2;)

    程序运行后的输出结果是( )。

    A.1

    B.2

    C.4

    D.8


    正确答案:D

    本题考查函数返回值作参数,最初n=1,f(n)=f(1)=2,将f(n)的结果代入第二个f(n)中,即f(f(n))=f(2)=4,所以f(f(f(f(n))))=f(4)=8。

  • 第19题:

    设有如下定义:int a=1,b=2,c=3,d=4,m=5,n=6;则执行表达式:(m=a>b)‖(n=c>d)后,n的值是()    

    • A、1
    • B、0
    • C、5
    • D、6

    正确答案:B

  • 第20题:

    设有如下定义:intx=10,y=3,z;则语句 printf("%d/n",z=(x%y,x/y));的输出结果是()

    • A、1
    • B、0
    • C、4
    • D、3

    正确答案:D

  • 第21题:

    设有说明语句:int x=1;,语句printf(“%d/n”,-x++);的输出结果是()

    • A、-1
    • B、0
    • C、1
    • D、2

    正确答案:A

  • 第22题:

    设有如下定义:intx=l,y=-1;,则语句:printf(""%d/n"",(x--&++y));的输出结果是()

    • A、1
    • B、0
    • C、-1
    • D、2

    正确答案:B

  • 第23题:

    单选题
    设有如下定义:intx=l,y=-1;,则语句:printf(""%d/n"",(x--&++y));的输出结果是()
    A

    1

    B

    0

    C

    -1

    D

    2


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