若有如下程序:main(){int n=2;do{printf("%d",n--);} while(!--n));}则程序运行后的输出结果是()

题目

若有如下程序: main() { int n=2; do {printf("%d",n--);} while(!--n)); } 则程序运行后的输出结果是( )。

A.2

B.11

C.1

D.20

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下程序运行后的输出结果是【】。includemain(){int k=1,s=0; do{ if((k%2)!=0)continue;

以下程序运行后的输出结果是【 】。

include<stdio.h>

main()

{ int k=1,s=0;

do{

if((k%2)!=0) continue;

s+=k; k++;

}while(k>10);

printf("s+%d\n",s);

}


正确答案:s=0
s=0 解析:do-while循环结构的形式如下:
do
循环体
while(表达式);
循环的执行过程如下:
①执行do后面循环体中的语句。
②计算while后—对圆括号中表达式的值。当值为非0时,转去执行步骤1;当值为0时,执行步骤3。
③退出do-while循环。
在本题中先判断k是否为偶数,如果不是则结束本次循环,进行下—次的循环条件判定,由于没有改变k的值,k>10的不成立,退出do-while循环,执行后面的printf("s=%d\n",s);语句,因为s=0,所以输出结果为s=0。

第2题:

include void main( ) { int n=9; while(n>6) { n--; cout < < n;} } 该程

#include<iostream.h> void main( ) { int n=9; while(n>6) { n--; cout < < n;} } 该程序的输出结果是

A.987

B.876

C.8765

D.9876


正确答案:B
解析:该题目应该根据循环体第一次和最后一次执行时的输出结果来决定哪一项是正确的。第一次进入循环时,n的值是9,循环体内,先经过n--运算,n的值变为8,所以第一次的输出值是8,由此可以排除选项A)和选项D)。由循环条件n>6可以知道,最后一次循环开始时,n的值应该为7,所以最后一次执行循环体时输出为6,由此可以排除选项C)。注意:while与do-while的区别。

第3题:

以下程序运行后的输出结果是【】。main(){int i=10,j=0;do{j=j+i;i--;}while(i>2);printf("%d\n",j);}


正确答案:52
执行的结果其实就是10+9+8+7+6+5+4+3=52;

第4题:

运行以下程序后,如果从键盘上输入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

第5题:

以下程序运行后的输出结果是( )。 include main(){ int a=1, b=7; do { b=b/2; a+=b

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

include<stdio.h>

main()

{ int a=1, b=7;

do {

b=b/2; a+=b;

} while(b>1);

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

}


正确答案:5
5 解析:该程序考查do-while循环。循环共进行两次。第一次循环b=3,a=4;第二次循环b=1,a=5。输出a的值为5。

第6题:

若有以下程序 main() {int y=10; while(y- -); printf(“y=%d\n”y); } 程序运行后的输出结果是()

A: y=0

B: y=-1

C: y=1

D: while构成无限循环


正确答案: B

第7题:

下面程序的运行结果是()。includemain(){int y=10; do{y--;}while(--y); printf("%d\n"

下面程序的运行结果是( )。 #include<stdio.h> main() { int y=10; do{y--;}while(--y); printf("%d\n",y--); }

A.-1

B.1

C.8

D.0


正确答案:D
解析:本题考查“++”和“--”运算符,运算符“++”是操作数加1,而“--”则是操作数减1。在do-while循环中,首先执行y--,再执行--y。当y=2时,执行y--,y的值变为1,--y使y值变为0,循环结束。执行输出时,先输出y的值0,然后执行y--,使y的值变为-1。

第8题:

有以下程序: main() {int n=0; do { n++; printf("%d\n",n); } while(n<=3); } 程序的输出结果是( )。

A.1 2

B.1 2 3

C.1 2 3 4

D.1


正确答案:C
解析:本题考查do…while循环。在do…while构成的循环体中,总是先执行一次循环体,然后再求表达式的值。当执行完第三次循环时,得到n=3,while循环表达式仍然成立,接着执行直到n=4,表达式不成立,跳出循环,结束程序。

第9题:

有如下程序 main() { int n=9; while(n>6){ n-; printf("%d",n); } } 该程序段的输出结果是______。

A.987

B.876

C.8765

D.9876


正确答案:B

第10题:

有如下程序: main() { int n=9; while(n>6){n--;printf("%d",n);}} 该程序的输出结果是

A.987

B.876

C.8765

D.9876


正确答案:B
解析:该题目应该根据循环体第一次和最后一次执行时的输出结果来决定哪一项是正确的。第一次进入循环时,n的值是9,循环体内,先经过n--运算,n的值变为8,所以第一次的输出值是8,由此可以排除选项A)和D)。由循环条件n>6可以知道,最后一次循环开始时,n的值应该为7,所以最后一次执行循环体时输出为6,由此可以排除选项C)。

更多相关问题