CMS专题

单选题若有如下程序段    int j=10;   while(j=0)  j--;  则下面描述中,正确的是()。A while循环执行10次B 循环是无限循环C 循环体语句执行一次D 循环体语句一次也不执行

题目
单选题
若有如下程序段    int j=10;   while(j=0)  j--;  则下面描述中,正确的是()。
A

while循环执行10次

B

循环是无限循环

C

循环体语句执行一次

D

循环体语句一次也不执行

参考答案和解析
正确答案: C
解析: 暂无解析
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列函数的功能是判断字符串str是否对称,对称则返回true,否则返回false。请在画线处填上适当内容,实现该函数。

bool fun(char*str)}

int i:0,j=0;

while(str[j]) (6) ;

for(J--;i<j&&str[i]==str[J];i++,J--);

return i (7) J;

}


正确答案:j-->=
j--,>= 解析: 首先利用while循环得到数组的最大下标j,i为数组的最小下标,然后在for循环中判断将j和i逐次移动并判断对应位置上的元素是否相等。当i>=j时,则表示数组元素为完全对称,返回为true;否则为不对称,返回为false。

第2题:

在执行完此程序段后,i,j值为 int i=1,j=10; do{ if(++i>j--)continue; }while(i<5);

A.i=6 and j=5

B.i=5 and j=5

C.i=6 and j=4

D.i=5 and j=6


正确答案:D
解析:本题考查考生对自增自减运算符的理解。++op和op++,表示对操作数op加1,其中++op表示先对op加1然后再取值,而op++表示先取值,然后再对op进行加1。--op和op--也是一样。当进行到i=5时退出循环,此时j为6。

第3题:

设i,j,k均为int型变量,则执行完下面的for语句后,k的值为【14】 。

for(i=0, j=10; i<=j; i++, j--)k=i+j;


正确答案:
10

第4题:

阅读下面程序

int i=3.j;

outer:while(i>0) {

j=3;

inner:while(j>0) {

if(j<2)break outer;

System.out.println(j+"and"+i);

j--;

}

i--;

}

被输出到屏幕的第一行结果是______。


正确答案:3 and 3
3 and 3 解析:第一次执行外层循环时,为j赋初值3,然后开始执行内层循环。j=3显然满足j>0的条件,进入内层循环体执行if语句。由于不满足j2的条件,因此执行System.out.println(j+"and"+i);语句,输出屏幕的第一行结果即3 and 3。

第5题:

若有以下程序段: …… int a[]={4,0,2,3,1},i,j,t; for(i=1;i=0 && t>a[j]) {a[j+1]=a[j];j--;} a[j+1]=t; } …… 则该程序段的功能是( )。

A.对数组a进行插入排序(升序)

B.对数组a进行插入排序(降序)

C.对数组a进行选择排序(升序)

D.对数组a进行选择排序(降序)


参考答案B

第6题:

( 9 )阅读下列程序段

int i=3 , j ;

outer:while ( i>0 ){

J=3;

inner:while ( j>0 ){

if ( j<2 ) break outer;

System.out.println ( j+"and"+i ) ;

j-- ;

i--;

}

被输出到屏幕的第一行结果是 【 9 】


正确答案:

第7题:

阅读下列程序段

int i=3,j;

outer:while(i>0){

j=3;

inner:while(j>0){

if(j<2) break outer;

System.out.println(j+"and"+i);

j--;

}

i--;

}

被输出到屏幕的第一行结果是【 】 。


正确答案:3 and 3
3 and 3 解析:本题考查Java的break跳转语句。在Java中,可以用break语句推出循环,并从紧跟该循环结构的第一条语句处开始执行。此外,break语句还提供了一个“标签化中断”的语句,可让程序退出多重嵌套循环。其中,标签就是加在要中断的那个循环之前,同时在这个标签后面必须跟一个冒号(:)。本题程序中inner和outer就是两个标签,分别加在内外两个循环之前。
  本题程序中,在生成两个变量i和j后,就判断i>0的结果为true,因此执行外层循环体。在外层循环中,首先为变量j赋值,然后判断条件j>0的结果也为true,因此执行内层循环体,首先判断条件j2的结果为false,则不执行if语句中的break outer语句,而继续执行System.out.println(j+"and"+i)语句,即输出“3 and 3”。然后j的值减1,返回到外层while循环的开始继续判断条件。
  经过上述分析可知,本题划线处应填入“3 and 3”。

第8题:

有以下程序inclUdevoidfun(int*s,intn1,intn2){inti,j,t;i=n1;j=n2;while(i

有以下程序 #inclUde <stdio.h> void fun(int *s,int n1,int n2) { int i,j,t; i=n1; j=n2; while(i<j) {t=s[i];s[i]=s[j];s[j]=t;i++;j--;} } main() { int a[10]={1,2,3,4,5,6,7,8,9,0},k; fun(a,0,3); fun(a,4

A.0987654321

B.4321098765

C.5678901234

D.0987651234


正确答案:C
解析: 函数fun(int*s,int n1,int n2)的功能是对数组s中的元素进行首尾互相调换。所以在主函数中,当fun(a,0,3)执行完后,数组a[12]={4,3,2,1,5,6,7,8,9,0};再执行fun(a,4,9),数组a[12]={4,3,2,1,0,9,8,7,6,5};再执行fun(a,0,9)后,数组a[12]={5,6,7,8,9,0,1,2,3,4}。

第9题:

设j为Int型变量,则下面for循环语句的执行结果是( )。

for(j=10;j>3;j--)

{ if(j%3)j--;

--j;--j;

printf("%d",j);

}

A.6 3

B.7 4

C.6 2

D.7 3


正确答案:B
当j=10时,for循环成立,j%3为1,if条件也为真,当执行完j--后,j为9,再执行“--j;--J;”后,j的值为7,因此输出7,继续循环执行j--后j为6,当j=6时for循环成立,j%3为0,if条件为假,此时执行“--j;--j;”后,j为4,输出4,再继续循环执行j--后j为3,当j=3时,for循环不成立,退出循环,故选择8选项。

第10题:

假设变量sum=0和j=80都是int类型,则下列语句中的正确的是( ).

A.if (true) System. out. println("true"); else;

B.if (5<>1) System. out. println( "not equal" );

C.for (iht j=20;j<<50;j--) System. out. println (j);

D.while (j>>=50) sum +=j; j--;


正确答案:A
解析:选项B中,不等于关系运算符不是>,而是!=;选项C中,for循环里第二个语句 j20的结果不是布尔型;选项D中,条件表达式的结果也不是布尔型,而且循环体应该包括两条语句,这时需要加{}将j--;也包含在循环体内。

更多相关问题