以下程序输出结果是 include main ( ){int i=0,a=0; while ( i 以下程序输出结果是 #include <stdio.h> main ( ) { int i=0,a=0; while ( i<2 0 ) { for(;;) { if ((i%10) ==0) break; else i--; } i+=11; a+=i; } print f (

题目
以下程序输出结果是 include main ( ){int i=0,a=0; while ( i<2 0 ){for(;;){if ((i

以下程序输出结果是 #include <stdio.h> main ( ) { int i=0,a=0; while ( i<2 0 ) { for(;;) { if ((i%10) ==0) break; else i--; } i+=11; a+=i; } print f ( "%d\n" , a); }

A.21

B.32

C.33

D.11

参考答案和解析
正确答案:B
解析:break语句只能在循环体和switch语句体内使用。本题程序为在while循环中嵌套for循环。先看内层for循环,该循环的3个表达式全部省略,循环条件始终为真,但循环体内的break语句为终止循环的条件。首先,由初始条件判断外层循坏while括号内表达式的值,该值为真,执行本次while循环,即执行循环体内的订语句,判断该表达式后面括号里表达式的值为真,执行break语句,跳出内层循环,执行下面的语句,此时i和a的值均变为11;回到外层循环,判断表达式“i20”仍为真,执行内层循环语句,此时if条件不满足,执行else语句,i的值为10,继续内层循环,if语句条件满足,执行break语句,跳出内层循环,执行下面的语句后,i和a的值分别是21和32。再判断外层循环的条件为假,结束循环.所以,4个选项中B为所选。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下程序运行后的输出结果是【】。 include void main() { char a[]="abcdabcabfgacd";

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

include<iostream.h>

void main()

{

char a[]="abcdabcabfgacd";

int i 1=0,i2=0,i=0;

while (a[i])

{

if (a[i]=='a')

il++;

if (a[i]=='b')

i2++;

i++;

}

cout<<il<<' '<<i2<<endl;

}


正确答案:43
43

第2题:

以下程序的输出结果是 include int f( ) { static int i=0; int s=1 s+ =i;

以下程序的输出结果是 #include<iostream.h> int f( ) { static int i=0; int s=1 s+ =i; i++; return s;} void main( ) { int i,a=0; for(i=0 ;i<5;i++)a+=f( ); cout < < a;}

A.20

B.24

C.25

D.15


正确答案:D
解析:对函数的静态局部变量是在编译时就赋初值,即只赋初值一次,在程序运行时它已有初值,以后每次调用函数时不再重新赋值,而只是保留上次函数调用结束时的值。注意:静态函数只能用静态变量。

第3题:

以下程序运行后的输出结果是【】。 include using namespace std; int main() {int i=10,

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

include<iostream>

using namespace std;

int main()

{

int i=10,i:0;

do{

j=j+i;

i--;

}while(i>2);

cout<<j<<end1;

return 0;

}


正确答案:52
52 解析:do-while语句的特点:先执行循环体,后判断条件。第1次循环执行后,j和i的值分别为10和9。判断循环条件为真,继续执行循环体,j和i分别为19和8。继续上述执行过程,直到i的值为2时,表达式“2>2”不再成立,退出循环。此时j的值为52。

第4题:

以下程序的输出结果是【】。 include void main(){ int i,a[5]; i=0; while(i<5){ a[i]

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

include<iostrean.h>

void main(){

int i,a[5];

i=0;

while(i<5){

a[i]=8*(i-2+4*(i>2))%5;

i++;

}

for(i=4;i>=0;i--) cout<<a[i];

}


正确答案:3 0 0 -3 -1
3 0 0 -3 -1

第5题:

以下程序运行后的输出结果是【】include main ( ) {char a[] ="123456789", *p;int i =0;

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

include <stdio.h>

main ( )

{ char a[] ="123456789", *p;

int i =0;

p=a;

while( * p)

{ if(i%2 ==0) *p='*';

p++;i++;

}

puts(a);

}


正确答案:*2*4*6*8*
*2*4*6*8* 解析:程序中指针p指向数组a,while(*P)语句的循环条件是* p!='\0',在循环体中,当 i=0,2,4,6,8时,i%2=0,执行*p='*',即a[i]='*',继续执行p++;i++;使i为奇数;当i=1, 3,5,7时,i%2=1,继续执行p++;i++;使i为偶数。可见,程序在字符串"123456789",的下标为偶数的位置上赋值'*',代替原字符串中的1,3,5,7,9。所以,程序输出结果为*2*4*6*8*。

第6题:

以下程序的输出结果是( )。 min() { int i=0,a=0; while(i<20) { for(;;) { if((i%10)==0)break; else i--; } i+=11;a+=i; } cout<<a<<endl; }

A.21

B.32

C.33

D.11


正确答案:B
解析: 本题是两个循环语句和一个判断语句的嵌套。For循环的作用是在i等于10的时候跳出循环本题的答粟为B。

第7题:

下面程序的输出结果是( )。

main()

{int i=0,a=0;

while(i<20)

{ for(;;)

{ if((i%10)==0)break;

else i--;}

i+=11;

a+=i;

}

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

}


正确答案:32
32 解析:while(表达式)的功能是:首先计算表达式的值.若为真,则执行循环体语句,执行完毕,再计算表达式的值.若仍为真,则重复执行循环体语句,直到表达式的值为假,结束while语句的执行,继续执行while语句后面的语句;i=0时满足循环条件,也满足if的条件,执行语句得i=11,a=11,第2次循环不满足if的条件,执行i--,i=10,执行i+=11;a+=i后,得i=21,a=32,不满足i20,循环结束。

第8题:

下列程序的输出结果是()。 include main() {int a=0,i; for(i=1;i<5;i++) {switch(i) {

下列程序的输出结果是( )。

#include<stdio.h>

main()

{ int a=0,i;

for(i=1;i<5;i++)

{ switch(i)

{ case 0:

case 3:a+=1;

case 1:

case2:a+=2;

default:a+=3;

}

}

printf("%d",a);

}

A.19

B.18

C.6

D.8


正确答案:A
解析:本题考查switch语句。当i=1时,执行 case 1,因为没有遇到break语句,所以依次往下运行, a=a+2=2,a=a+3=5 当i=2时,执行case2,因为没有遇到break语句,所以依次往下运行,a=a+2=7, a=a+3=10;当i=3时,执行case3,a=a+1=11,因为没有遇到break语句,所以依次往下运行,a=a+2=13, a=a+3=16;当i=4时,执行default,a=a+3=19,结束循环。

第9题:

有以下程序: include main ( ) int i;for(i =0;i <3 ;i ++ )switch (i)case 0: printf

有以下程序: #include <stdio.h> main ( ) int i; for(i =0;i <3 ;i ++ ) switch (i) case 0: printf(" % d" ,i); case 2: printf(" % d" , i); default: printf( "% d" , i);程序运行后的输出结果是( )。

A.22111

B.21021

C.122

D.12


正确答案:C
解析:程序中没有使用break终止switch语句的执行。当i:0时,执行第一个case语句,因为它后面没有break,所以一直到执行完default语句结束,输出3个0,再执行下一循环。所以只有选项C)正确。

第10题:

以下程序的输出结果是

main( )

{

int i=0,a=0;

while(i<20)

{

for(;;)

{

if((i%10)==0)break;

else i - -;

}

i+=11;a+=i;

}

cout<<a<<endl;

}

A.21

B.32

C.33

D.11


正确答案:B
解析:本题是两个循环语句和一个判断语句的嵌套。For循环的作用是在i等于10的时候跳出循环。本题的答案为B。

更多相关问题