更多“设有定义int m=1,n=-1;则执行语句printf(〞%d/n〞,(m--&&++n));后的输出结果是()”相关问题
  • 第1题:

    定义int a=5,b=20;若执行语句printf("%d\n",++a*--b/5%13);后,输出的结果为 【6】 。


    正确答案:
    9

  • 第2题:

    执行以下程序的输出结果是( )。 includedefine M 5define N M+M main(){int k; k=N*N*5;

    执行以下程序的输出结果是( )。

    include<stdio.h>

    define M 5

    define N M+M

    main()

    { int k;

    k=N*N*5;printf(”%d\n" ,k);

    }


    正确答案:55
    55 解析:本题考查的重点是对宏定义的理解。#define指令定义一个标识符和一个串,编译程序在对C源程序处理时.发现该标识符都用该串替换,因此,在语句k=N*N*5将替换成k=M+M*M+M*5后,M被替换成5,从而k=5+5*5+5*5=55。

  • 第3题:

    已知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。

  • 第4题:

    若有如下程序: 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。

  • 第5题:

    设有说明: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;语句,将继续执行第二个分支。

  • 第6题:

    已知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。

  • 第7题:

    执行以下语句后的输出结果是______。int x=10,y=3,z;printf("%d\n",z=(x%y,x/y));

    A.1

    B.0

    C.4

    D.3


    正确答案:D

  • 第8题:

    若有如下程序: int sub() {static int n=1; int x=1; x*=n;n++; return x; } main() {int n,t=1; for(n=1;n<6;n++)t*=sub(); printf("%d\n",t); } 则程序运行后的输出结果是( )

    A.15

    B.120

    C.34560

    D.-30976


    正确答案: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 m=1,n=-1;则执行语句printf(〞%d/n〞,(m--&&++n));后的输出结果是()

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

    正确答案:B

  • 第12题:

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

    -1

    B

    0

    C

    1

    D

    2


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

  • 第13题:

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

    A.1

    B.0

    C.-1

    D.2


    正确答案:B

  • 第14题:

    运行以下程序后,如果从键盘上输入6514<回车>,则输出结果为______。 main() { int m,n; printf("En

    运行以下程序后,如果从键盘上输入6514<回车>,则输出结果为______。 main() { int m,n; printf("Enter m,n:"); scanf("%d%d",&m,&n); while(m!=n) { while(m>n)m-=n; while(n>m)n-=m; } printf("m=%d\n",m); }

    A.m=3

    B.m=2

    C.m=1

    D.m=0


    正确答案:C

  • 第15题:

    设有定义: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。

  • 第16题:

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

    A.3

    B.0

    C.4

    D.1


    正确答案:A

  • 第17题:

    设有如下定义: 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

  • 第18题:

    若有以下程序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。

  • 第19题:

    有以下程序: #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。

  • 第20题:

    有以下程序:

    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。

  • 第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题:

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

    -1

    B

    0

    C

    1

    D

    2


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

  • 第24题:

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

    1

    B

    0

    C

    -1

    D

    2


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