有以下程序: #include <iostream> using namespace std; int main() { int y=18,i=0,j,a[8]; do{ a[i]=y%2;

admin2010-03-29  22

问题 有以下程序:    #include  <iostream>    using namespace std;    int main()    {       int  y=18,i=0,j,a[8];       do{       a=y%2;       i++;       y=y/2;    }while(y>=1);    for(j=i-1;i>=0;j--)        cout<<a[j];        cout<

选项 A、1000
B、10010
C、110
D、10100

答案2

解析 本题考核一维数组元素的引用和一维数组的输出。程序中的do-while循环语句的执行过程如下:
   第1次循环时,i=0、y=18,把“y%2”的值0存入a[0],执行i++后,i的值变为1,再执行y=y/2;,使y的值变为9。
   同理,第2次循环后,a[1]的值为1,第3次循环后,a[2]的值变为0,第4次循环后,a[3]的值变为0,第5次循环后,a[4]的值为1,然后退出do-while循环体。
   for循环是输出从a[4]到a[0]的值,结果为:10010。
转载请注明原文地址:https://kaotiyun.com/show/eDjp777K
0

最新回复(0)