计算机二级

以下程序段的输出结果是( )。 x=1 y=4 Do Until y>4 x= x * y y=y+1 Loop Print XA.1SX以下程序段的输出结果是( )。 x=1 y=4 Do Until y>4 x= x * y y=y+1 Loop Print XA.1B.4C.8D.20

题目
以下程序段的输出结果是( )。 x=1 y=4 Do Until y>4 x= x * y y=y+1 Loop Print XA.1SX

以下程序段的输出结果是( )。 x=1 y=4 Do Until y>4 x= x * y y=y+1 Loop Print X

A.1

B.4

C.8

D.20

参考答案和解析
正确答案:B
B。【解析】本题考查的是dountil循环语句。dountil是直到型循环,当条件为假时执行循环体,直到为真结束。本题中首先y=4,循环条件y>4,所以关系表达式的结果为假,执行循环体中的语句,直到x=4,y=5。然后再次进入循环判断。因为y=5,所以循环判断表达式结果为真,不执行循环体,循环结束。Printx打印X中的值,故选B。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

4、执行下列程序段,输出的结果是____________。 x = 7.0 y = 5 print(x % y)

A.2.0

B.2

C.1.0

D.1


3294,6336, cde

第2题:

下列程序段的输出结果是includevoid fun(int*x,int*y){cout<<*x<<*y;*X=3;*y=4;}vo

下列程序段的输出结果是 #include<iostream.h> void fun(int*x,int*y) {cout<<*x<<*y; *X=3; *y=4; } void main() {int x=1,y=2; fun(&y,&x); cout<<X<<y<<endl; }

A.2143

B.1212

C.1234

D.2112


正确答案:A

第3题:

有以下程序:

#include<stdio.h>

main

{ int x=4,y;

do

{ y=x;

if(!y)printf("x");

else

printf("y"):

x--;

}while(x);

}

程序的输出结果是( )。

A.A.xyyx

B.yyyy

C.yyxx

D.yxyx


正确答案:B
本题考查do-while语句和if…else语句。do-while语句的功能是先执行循环体再判断条件,所以,先判断if语句的条件,y=-4,!y为逻辑0,条件不成立,执行下面的else语句,输出y,然后将x的值减1,x=3,条件不成立,执行下面的else语句,输出Y,然后将X的值减1,x=2,满足while循环条件,继续循环。第三次循环:先判断if语句的条件,y=2,!y为逻辑0,条件不成立,执行下面的else语句,输出y,然后将X的值减1,x=l,满足while循环条件,继续循环。第四次循环:先判断if语句的条件,y=-1,!y为逻辑0,条件不成立,执行下面的else语句,输出Y,然后将x的值减1,x=0,不满足while循环条件,结束循环。所以B正确。

第4题:

下列程序段的输出结果是includevoid fun(int * x,int * y){cout<<* X<<* y; *X=3;

下列程序段的输出结果是 #include<iostream.h> void fun(int * x,int * y) { cout << * X << * y; *X=3; *y=4; } void main() { int x=1,y=2; fun(&y,&x); cout << X << y<<endl; {

A.2143

B.1212

C.1234

D.2112


正确答案:A
解析:在fun函数中,x接收的是main函数中y的地址,所以*x值为2,同样,*y值为1,所以第1次输出的是21,第2次改变*x的值等同于改变y的值,改变*y的值也即改变x的值,所以第2次输出的是43。注意:C++语言中函数的传参方式中关于指针的应用。

第5题:

有以下程序: #include<stdio.h> main { int x=4,y; do { y=x; if(!y)printf("x"); else printf("y"): x--; }while(x); } 程序的输出结果是( )。

A. xyyx

B.yyyy

C.yyxx

D.yxyx


正确答案:C
本题考查do-while语句和if…else语句。do-while语句的功能是先执行循环体再判断条件,所以,先判断if语句的条件,y=-4,!y为逻辑0,条件不成立,执行下面的else语句,输出y,然后将x的值减1,x=3,条件不成立,执行下面的else语句,输出Y,然后将X的值减1,x=2,满足while循环条件,继续循环。第三次循环:先判断if语句的条件,y=2,!y为逻辑0,条件不成立,执行下面的else语句,输出y,然后将X的值减1,x=l,满足while循环条件,继续循环。第四次循环:先判断if语句的条件,y=-1,!y为逻辑0,条件不成立,执行下面的else语句,输出Y,然后将x的值减1,x=0,不满足while循环条件,结束循环。所以B正确。

第6题:

有以下程序: include difine F(X, Y)(X)*(Y)main(){int a=3, b=4; print("% d\n",

有以下程序: # include<stdio. h> # difine F(X, Y) (X)*(Y) main() { int a=3, b=4; print("% d\n", F(a++, b++)); } 程序运行后的输出结果是______。

A.12

B.15

C.16

D.20


正确答案:A
解析:F(a++,b++)的宏展开为:F(a++,b++)=(a++)*(b++)=a*b=3×4=12,因此printf函数的输出结果是12。

第7题:

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

x=1

y=4

Do Until y>4

x= x * y

y=y+1

Loop

Print X

A.1

B.4

C.8

D.20


正确答案:B
B。【解析】本题考查的是dountil循环语句。dountil是直到型循环,当条件为假时执行循环体,直到为真结束。本题中首先y=4,循环条件y>4,所以关系表达式的结果为假,执行循环体中的语句,直到x=4,y=5。然后再次进入循环判断。因为y=5,所以循环判断表达式结果为真,不执行循环体,循环结束。Printx打印X中的值,故选B。

第8题:

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

x=1

y=4

Do Until y>4

x=x*y

y==y+1

Loop

Print x

A.1

B.4

C.8

D.20


正确答案:B
解析:本题考查的do until循环语句。do until是直到型循环,当条件为假时执行循环体,直到为真结束。本题中首先y=4,循环条件y>4,所以关系表达式的结果为假,执行循环体中的语句,直到x=4,y=5。然后再次进入循环判断因为y=5,所以循环判断表达式结果为真,不执行循环体,循环结束。Print x打印x中的值。故选B。

第9题:

有如下事件程序,运行该程序后输出结果是

Private Sub Command33_Click()

Dim X As Integer,y As Integer

x=1:Y=0

Do Until y<=25

y=y+X*X

X=X+1 ‘

Loop ’ 。

MsgBox“x一”&X&,“y=”&y

End Sub

A.x=1,y=0

B.x=4,y=25

C.x=5,y=30

D.输出其他结果


正确答案:A
解析:Do Until-Loop结构是条件式值为假时,重复执行循环,直至条件式值为真,结束循环。