C++语言程序设计

执行下列语句后,x和y的值是() int x,y; x=y=1; ++x || ++y;A、1和1B、1和2C、2和1D、2和2

题目

执行下列语句后,x和y的值是() int x,y; x=y=1; ++x || ++y;

  • A、1和1
  • B、1和2
  • C、2和1
  • D、2和2
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设x和y均为整形变量,则执行程序中的循环后,y的值为x=1y=1Do While y < = 50Ifx>=10 ThenExit DoE

设x和y均为整形变量,则执行程序中的循环后,y的值为 x=1 y=1 Do While y < = 50 If x>=10 Then Exit Do End If If (x Mod 2) = 1 Then x=x+5 End If If x Mod 2 <> 1 Then x=x-3 End If y=y+1 Loop

A.2

B.4

C.6

D.8


正确答案:C
解析:第一次循环:y=1,x=1,由于x mod 2=1,使得x=6,继续循环。
  第二次循环:y=2,x=6,由于x mod 2=0,使得x=3,继续循环。
  第三次循环:y=3,x=3,由于x mod 2=1,使得x=8,继续循环。
  第四次循环:y=4,x=8,由于x mod 2=0,使得x=5,继续循环。
  第五次循环:y=5,x=5,由于x mod 2=1,使得x=10,继续循环。
  第六次循环:y=6,x=10,由于x>=10成立,exit do语句强制退出循环。因此得到y=6。

第2题:

有如下函数定义;void func(int a,int & b){a++;b++;}若执行代码段:int x=0,y=1;func(x,y);则变量x和y的值分别是

A.0和1

B.1和1

C.0和2

D.1和2


正确答案:C
解析:本题考查的知识点是:函数参数的传递方式。C++的默认参数传递方式是传值,即将实参值的副本传递(拷贝)给被调用函数的形参。如果需要传地址,可通过传递指针、引用或数组类型的参数来实现。传值时,对形参的改变不会影响到实参;而传地址,则会同时改变实参。本题中形参a是普通参数,即传值调用,函数中对a增1不会影响到实参x的值;而形参b是引用,即传址调用,函数中对b增1同时也改变了实参y的值(y也增1了)。故最终结果是0和2,应该选择C。

第3题:

设有语句:floatx=1,y;y=x3/2;则y的值是()

A、1

B、2

C、2.0

D、2.5


答案:B

解析:除法是截断取整的,3/2=1,所以1+3/2=1+1=2

第4题:

设x和y均为int型变量,则执行下面的循环后,y值为( )。 public class Sun { public static void main(String args[ ]) { int x, y; for (y=1, x=1; y<=50; y++) { if(x>=10) break; if (x%2==1) { x+=5; continue; } x-=3; } System.out.println (y); } }

A.2

B.4

C.6

D.8


正确答案:C
解析:该题考查for循环和if条件语句的嵌套应用。当y=1,x=1时,不满足第1个if语句向下继续执行第2个if语句,x=6,继续执行for循环:当y=2,x=6时,不满足第1个和第2个if语句,x=3,继续执行for循环;当y=3,x=3时,不满足第1个if语句向下继续执行第2个if语句,x=8,继续执行for循环;一直执行下去,直到y=6,x=12是满足第1个 if语句退出for循环。故本题答案是C。

第5题:

若m,x,y,均为Integer型变量,则执行下面语句后m值是()。m=1:X=2:Y=3;m=ifXYthenX+YelseX-Y

A、-1

B、0

C、1

D、2


正确答案:A

第6题:

( 19 )若 x 和 y 是程序中的两个整型变量,则下列 if 语句中正确的是

A ) if(x==0) y=1; else y=2;

B ) if(x==0) then y=1 else y=2;

C ) if(x==0) y=1 else y=2;

D ) if x==0 y=1; else y=2;


正确答案:A

第7题:

执行程序段“int x=1,y=2;x=x^y;y=y^x;x=x^y;”后,x和y的值分别是______。

A.1和2

B.2和2

C.2和1

D.1和1


正确答案:C

第8题:

( 21 )有如下函数定义:

void func ( int a,int & b ) {a++; b++;}

若执行代码段:

int x=0 ,y=1

func ( x,y ) ;

则变量 x 和 y 值分别是

A ) 0 和 1

B ) 1 和 1

C ) 0 和 2

D ) 1 和 2


正确答案:C

第9题:

下列程序执行后,屏幕的输出是()。includeusing namespace std;void swap(int x,int y)

下列程序执行后,屏幕的输出是( )。 #include<iostream> using namespace std; void swap(int x,int y) { int temp=x; x=y; y=temp; cout<<"x="<<x<<"",y=""<<y<<end1; } int main() { int x=3,y=2; swap(x,y); cout<<"x="<<x<<",y="<<y<<end1; return 0; }

A.x=3,y=2 x=3,y=2

B.x=2,y=3 x=3,y=2

C.x=2,y=3 x=2,y=3

D. x=3,y=2 x=2,y=3


正确答案:B

第10题:

若x、y、z、m均为int型变量,则执行下面语句后m的值是( )。 m=1; x=2; y=3; m=(m<x) ? m : x; m=(m<y) ? m : y; m=(m<y) ? m : z;

A.1

B.2

C.3

D.4


正确答案:A
解析:?:运算符首先执行?之前的表达式,如果表达式的值为真,则返回?和:之间的表达式的值,否则返回:之后的表达式的值。本题中m比x和y都要小,所以,3个表达式都没有改变m的值,故应该选择A。

更多相关问题