若运行时输入12,则以下程序的输出结果是______。main(){intx,y; scanf("%d",&x); y=x>12? x+1

题目

若运行时输入12,则以下程序的输出结果是______。 main() { intx,y; scanf("%d",&x); y=x>12? x+1:x-1; printf("%d\n",y); }

A.10

B.11

C.12

D.13

参考答案和解析
正确答案:B
解析:本题考查“?:”运算的规则:若条件成立,取“:”前的值;否则,取“:”后面的值。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序:int sub(int n) { return(n/10+n%10); }void main(){ int x,y; scanf("%d",&x); y=sub(sub(sub(x))); printf("%d\n",y);}若运行时输入:4321<回车>,程序的输出结果是。


正确答案:10
n/10是求n的去掉个位数上的数字之外的部分,而n%10是求个位数字,所以函数的功能是将去掉个位外的数和个位相加的结果返回。第一次432+1=433,43+3=46,4+6=10.

第2题:

有以下程序ineludemain(){ float x,y;scan{("%f",&x);if(x<0.0)y=0.0;else if((x<5.0)&

有以下程序inelude<stdio.h>main(){ float x,y;scan{("%f",&x);if(x<0.0)y=0.0;else if((x<5.0)&&(x!=2.0))y=1.0/(x+2.0);else if(x<10.0)y=1.0/x;else y=10.0;printf("%f\n",y);}若运行时从键盘上输入2.0<CR>(<CR>表示回车),则上面程序的输出结果是()

A.0

B.0.25

C.0.5

D.1


正确答案:C

第3题:

有如下程序,该程序的输出的结果是()intaddc(inta,intb,intc){c=a+b;return(c);}main(){intx=4,y=2,z,r;z=x+y;r=addc(addc(x,y,z),addc(y,z,x),z);printf(“%d\n“,r);}()

A、36

B、12

C、14

D、6


参考答案:C

第4题:

有以下程序:

int sub(int n) { return(n/10+n%10); }

main()

{ int x, y;

scanf("% d", &x);

y=sub(sub(sub(x)));

printf("% d\n", y);

}

若运行时输入:1234<回车>,程序的输出结果是【 】。


正确答案:10
10 解析:y=sub(sub(sub(x)))=sub(sub(127))=sub(19)=10。

第5题:

有如下程序:

#included<iostream>

usingnamespacestd;

voidfl(int&X,int&y){intz=x;x=y;y=z;)voidf2(intX,inty){intz=x;x=y;y=z;}intmain( ){

intx=10,y=26;

f1(X,y);

f2(x,y);

cout<<y<<endl;

return0;

}

运行时的输出结果是( )。

A.10

B.16

C.26

D.36


正确答案:A
A。【解析】该题考查了函数参数传递的两种方式:引用传递和值传递,引用传递时x和y会交换,而值传递时二者不交换,因此选10。

第6题:

下列程序的输出结果是()。include< iostream.h> void main(){double d=3.2;intx,y:x=1.2;y=(x+3.

下列程序的输出结果是( )。 #include< iostream.h> void main() {double d=3.2; intx, y: x=1.2; y=(x+3.8)/5.0 cout<<y*d <<endl;}

A.3

B.3.2

C.0

D.3.07


正确答案:C

第7题:

若运行时给变量x输入12,则以下程序的运行结果是

main()

{int x,y;

scanf("%d",&x);

y=x>12?x+10:x-12;

printf("%d\n",y);

}

A.0

B.22

C.12

D.10


正确答案:A

第8题:

有以下程序,其输出结果是( )。void main(){ floar x=1; int y; x++; y=x+1; printf("x=%d,y=%f",x,y);}A.x=2,y=3B.x=2,y=3.0C.x=2.0,y=3D.x=0,y=0.000000


正确答案:D
float 是4 个字节,int 是两个字节。当用int 取float 的值时,只取前两个字节

                

第9题:

main() { int x,y,z; scanf (“%d%d%d”,&x,&y,&z); printf(“x+y+z=%d\n”,x+y+z); } 输入数据的形式是25,13,10<回车>,则程序的输出结果是( )

A. x+y+z=48

B. x+y+z=35

C. x+z=35

D. 不确定值


正确答案:A

第10题:

若运行时给变量x输入12,则以下程序的运行结果是 include void main( ) { int

若运行时给变量x输入12,则以下程序的运行结果是 #include<iostream.h> void main( ) { int x,y; cin > > x; y=x > 12? x+lO:x-12; cout < < y; cout < < end1; }

A.0

B.22

C.12

D.10


正确答案:A
解析:三目运算符的表达式为(表达式1)?(表达式2):(表达式3),运算过程是当(表达式1)的值为真时,求(表达式2)的值为整个表达式的值;如果(表达式1)的值为假,则求(表达式3)的值为整个表达式的值。题中,表达式x>12的结果为假,所以执行的语句是x-12,最终结果应该是0。注意:“?:”的优先级高于“=”运算符的优先级。

更多相关问题