计算机二级

下面代码输出结果是( )。inti=0,s=0;do{if(i%2==0){i++;continue;}i++;s=s+i;}while(i下面代码输出结果是( )。inti=0,s=0;do{if(i%2==0){i++;continue;}i++;s=s+i;}while(iSystem.out.println(s);A、16B、12C、28D、21

题目
下面代码输出结果是( )。inti=0,s=0;do{if(i%2==0){i++;continue;}i++;s=s+i;}while(i<7);

下面代码输出结果是( )。

inti=0,s=0;

do{

if(i%2==0){

i++;

continue;

}

i++;

s=s+i;

}while(i<7);

System.out.println(s);

A、16

B、12

C、28

D、21

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

第1题:

有如下程序段:

for(inti=i;i<=50;i++){

if(i%3 1=0)continue;

else if(i%5 1=0)continue;

cout<<i<<",";

这个程序的输出结果是______。


正确答案:153045
15,30,45

第2题:

下列程序段的时间复杂度为()。i=0,s=0;while(sn){s=s+i;i++;}

A、O(n1/2)

B、O(n1/3)

C、O(n)

D、O(n2)


参考答案:A

第3题:

如下程序显示的结果是 ( )。

s=1

i=0

do while i<8

s=s+i

i=i+2

end do

s


正确答案:

13

第4题:

下列程序的运行结果是______。

main()

{ int s=0,i=1;

while(s<= 10)

{ s=s+i*i;

i++;

}

printf("%d",-i);

}


正确答案:3
3 解析:分析程序运行过程,第1次循环:s=s+i*i=0+1*1=1,i=2;第2次循环:s=s+i*i=1+2*2=5,i=3;第3次循环:s=s+i*i=5+3*3=14, i=4;循环条件不成立输出i,--i使i的值减1,轴出结果为3。

第5题:

有以下程序:include main ( ){ inti=0.s=0;for(;;) if( i = = 3 ‖ i = = 5 ) continu

有以下程序: #include <stdio. h> main ( ) { inti=0.s=0; for(;;) if( i = = 3 ‖ i = = 5 ) continue; if (i ==6) break; i++; s+ =i; } printf(" % d \n" ,s);程序运行后的输出结果是( )。

A.10

B.13

C.21

D.程序进入列循环


正确答案:D
解析:程序第1次执行for循环时,i=0,两条if语句中的表达式都不成立,执行i++;s+=i;此时i为1,s为1第2次循环,两条if语句中的表达式也不成立,执行i++,s+=i,此时i为2,s为3;……;当i=3时,执行continue,结束本轮循环,不执行i++;继续执行下一轮循环,这样一来i值始终为3,继续continue,无终止条件,进入死循环。

第6题:

有以下程序 main( ) { int i=0,s=0; do{ if(i%2){i++;continue;} i++; s+=i; } while(i<7); printf("%d\n",s); } 执行后输出的结果是

A.16

B.12

C.28

D.21


正确答案:A
解析:本题的功能是计算0~7之间所有奇数的和(包括7)。

第7题:

下列语句段中不是死循环的是()。

A、intI=100;while(1){I=I0+1;if(I=20)break;}

B、intI;sum=0;for(I=1;;I++)sum=sum+1;

C、intk=0;do{++k;}while(k>=0);

D、ints=3379;while(s++%2+3%2)s++;


参考答案:A

第8题:

如下程序显示的结果是 S=1 i=0 do while i<8 s=s+i i=i+2 enddo?s


正确答案:13
本题考查的是对循环命令的理解。s的初始值为1,i的初始值为1,每循环一次s值增加2,i增加2。当i等于8时终止循环,s=1+2+4+6,所以值为13。

第9题:

有如下程序 #include(iostream.h> voidmain( ) {charch[2][5]={"6937","8254"),*p[2]; inti,j,s=0; for(i=0;i<2;i++)p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j])\0;j+=2) s=10*s+p[i][j]一0; cout<<S;} 该程序的输出结果是( )。

A.69825

B.63825

C.6385

D.693825


正确答案:C
C。【解析】该题主要要搞清楚以下几点:①定义了一个指针数组char*p[2]后,程序中第一个循环“for(i=0;i(2;i++)p[i]=ch[i]”的作用是使指针数组的p[0]元素(它本身是一个指针)指向了二维数组ch的第一行字符串,并使指针数组的p[1]元素指向了二维数组ch的第二行字符串,这样,就使指针数组P和二维数组ch建立起了一种对应关系,以后对二维数组ch的某个元素的引用就有两种等价的形式:ch[i][j]或p[i][j]。②对二维数组ch的初始化,使其第一行ch[0]中存入了字符串“6937”,第二行ch[1]中的内容为字符串“8254”。③程序中第二个循环中的循环体“s=s*10+p[i][j]-0”的功能是这样的,每执行一次,将s中的值乘以10(即将s中的数值整体向左移动一位,并在空出来的个位上添一个0),再将当前p[i][j]中的字符量转换为相应的数字,然后把这个数字加到s的个位上。④注意到内层循环的循环条件p[i][3]>\0是指p[i][j]中的字符只要不是字符串结束标志\0就继续循环,语句j+=2;是使下标j每次增加2,即一个隔一个地从p[i]所指向的字符串中取出字符。经过上述解析后,不难看出,该程序首先从p[0]所指向的字符串“6937”中一个隔一个地取出字符,分别是“6”和“3”,然后从p[1]所指向的字符串“8254”中一个隔一个地取出字符,分别是“8”和“5”,同时经过转换和相加运算后,结果s中的值应该是6385。

第10题:

下面代码输出结果是()。inti=0,s=0;do{if(i%2==0){i++;continue;}i++;s=s+i;}while(i<7);System.out.println(s);

A、16

B、12

C、28

D、21


正确答案:B

更多相关问题