以下不是无限循环的语句为().A、for(y=0,x=1;x>++y;x=i++) i=x;B、for(;;x++=i);C、while(1){x++;}D、for(i=10;;i--) sum+=i;

题目

以下不是无限循环的语句为().

  • A、for(y=0,x=1;x>++y;x=i++) i=x;
  • B、for(;;x++=i);
  • C、while(1){x++;}
  • D、for(i=10;;i--) sum+=i;
参考答案和解析
正确答案:A
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列语句中不是死循环的是

A.int i=10; while(1) { i--; if(i==1) break; }

B.for(int i=1;i<10;i++) { i--; }

C.int i=0; do{ i++; }while(i>=0) ;

D.int i=1; for(;;) i=i+1;


正确答案:A
解析:选项A) 中i自减到1时就会执行break语句跳出循环,选项B) 中i10永远成立不会跳出循环,选项C) 中第一次进入循环体后i>0永远不会跳出循环,选项D) 中未给出结束循环的条件。

第2题:

以下程序的输出结果是______。main(){ int i,j,x=0; for (i=0;i<2;i++) { x++; for(j=0;j<3;j++) { if(j%2) continue; x++; } x++; } printf("x=%d\n",x);}

A.x=4

B.x=8

C.x=6

D.x=12


正确答案:B

第3题:

有以下程序

main()

{ int i,j,x=0;

for(i=0;i<2;i++)

{ x++;

for(j=0;j<=3;j++)

{ if(j % 2) continue;

x++;

}

x++;

}

printf("x= % d\n",x);

}

程序执行后的输出结果是

A)x=4

B)x=8

C)x=6

D)x=12


正确答案:B
(32)B) 解析 : 此程序考察了 for 循环和 x++ 。 对于大循环 , 有两个 x++, 其中循环 3 次 , 对于小循环 , 循环三次 , 但是运行了两次 x++, 所以最后结果是 6+2=8 。

第4题:

以下不会造成死循环的C语句是(49)。

A.while(x=8)x--;

B.for(i=10;sum=0;sum<=i;)sum=--i;

C.for(y=0,x=1;x>++y;x=i++)i=x;

D.for(x=10;;x+=i);


正确答案:C
解析:赋值表达式x=8永远成立,因此选项A的循环语句“while(x=8)x--;”将构成死循环。选项B是错误的表达形式,因为for()的第3个表达式不能包含“:”。选项C的“for(y=0,x=1;x>++y;x=i++)i=x;”是正确的for循环语句。选项D的for()中缺少第2个表达式,即缺少循环终止条件,必定构成死循环。

第5题:

以下程序的输出结果是includevoid main( ){int i,j,x=0;for(i=0;i<2;i++){x++;for(

以下程序的输出结果是 #include<iostream.h> void main( ) {int i,j,x=0; for(i=0;i<2;i++) { x++; for(j=0;j<3;j++) { if(j%2)continue; x++;} x++;} cout<< "x="<<x;}

A.x=4

B.x=8

C.x=6

D.x=12


正确答案:B
解析:该题是一个for循环嵌套语句。第一层for循环循环2次,第二层循环3次,但当j等于 0和1时,将执行continue语句,不执行x++运算,所以每次执行完内循环后,x的增量为1。最后一个x++运算将每次累加起来就是x的值。

第6题:

以下不是死循环的语句是 ()。

A、for y=9,x=1;x>++y;x=i++() i=x

B、for ; ; x+=i()

C、while 1() { x++ ; }

D、for i=10 ; ; i--() sum+=i


参考答案:A

第7题:

阅读下列函数说明和C代码,填入(n)处。

[说明]

以下C语言程序实现了生成从里到外是连续的自然数排列的回旋矩阵,矩阵形式如下:

7 6 5 16

8 1 4 15

9 2 3 14

10 11 12 13

程序的变量说明如下:

x1:矩阵上边界;

x2:矩阵下边界;

y1:矩阵左边界;

y2:矩阵右边界;

s:数组元素升降标记,s等于1为升,s等于-1为降;

a[]:存放矩阵元素的数组。

仔细阅读C语言程序源码,将(n)处的语句补充完整。(注:每处仅一个语句)

[C程序]

include<stdio.h>

void main ( )

{

const int N=20;

int i=0,j=0,a[N][N],n;

int m,x1,x2,y1,y2,s;

while (1)

{

Printf ("\ninput matrix row N( N>=2): ");

scanf ("%d",&n);

printf ("\n");

if (n>=2)

break;

}

m=n*n;

x1=0; y1=0; x2=n; y2=n;

if(n%2==0)

{j=n-1; y2=n-1; s=1;}

else

{i=n-1; y1=1; s=-1; }

while (1)

{

if (s==1)

{

for (i; i<x2; i++) a[i][j]=m--;

i--;

j--;

(1)

for (j;j>=y1;j--) a[i][j]=m--;

j++;

i--;

y1++;

(2)

}

else

{

for (i;i>=x1;i--)

a[i][j]=m--;

i++;

j++;

(3)

for (j;j<y2;j++)

(4)

(5)

i++;

(6)

S=i;

}

if (m<1) break;

}

for (i=O;i<n; i++)

{

for (j=O;j<n;j++)

printf ("%6d",a[i][j]);

printf ("\n");

}

printf ("\n");

}


正确答案:(1)x2--; (2)s=-1; (3)x1++; (4)a[i][j]=m--; (5)j--; (6)y2--;
(1)x2--; (2)s=-1; (3)x1++; (4)a[i][j]=m--; (5)j--; (6)y2--; 解析:自然数排列的回旋矩阵是一个经典程序设计题目。本题中生成的是一个从里到外是连续的自然数排列的回旋矩阵。仔细阅读代码,能够发现(1)处应该为矩阵下边界递减;(2)处应该为数组元素递减状态,即为降;(3)处应该为矩阵上边界递增;(4)处应该为存放矩阵元素的数组中的数据递减;(5)处应该为数组元素的列序号递减,即j--;(6)矩阵右边界递减。

第8题:

执行下列语句后,输出的结果为______。

void run()

{

static int x=3;

x++;

cout<<x<<" ";

}

int main()

{

for(int i=0;i<2;i++)

fun();

return D;

}


正确答案:45
4,5

第9题:

下列程序的输出结果是______。main(){ int i; for(i=0;i<2;i++) add();}add(){ int x=0; static int y=0; printf("%d,%d\n",x,y); x++;y=y+2;}

A.0,0 0,0

B.0,0 0,2

C.0,0 1,0

D.0,0 1,2


正确答案:B

第10题:

有下列程序: main( ) {int i,j,x=0; for(i=0,i<2;i++) {x++; for(j=0;j<=3;j++) {if(j%2)continue; x++: } x++: } printf("x=%d\n"x); } 程序执行后的输出结果是( )。

A.x=4

B.x=8

C.x=6

D.x=12


正确答案:B
在第1次外层for循环中,首先x++得到x=1。进入到内层for循环,只有循环j的值为奇数时,变量x的值才自加1,所以在内层for循环执行过程中,变量x的值自加两次,当退出内层for循环时,x=3,然后执行x++,得到x=4。在进入执行第2次外层for循环中,首先x++得到x=5。进入到内层for循环,只有循环变量J的值为奇数时,变量X的值才自加1,所以在内层for循环执行过程中,变量X的值自加l两次,当退出内层for循环时,x=7,然后执行x++,得到x=8,所以打印输出变量x的值为8。

更多相关问题