算法设计与分析

若变量inti,intsum=0,要求程序段完成求1加到100的和的,能完成此操作的程序段不正确的是()A、for(i=1;i<=100;i++)sum+=i;B、for(i=1;i<=100;i++)sum=i;C、for(i=1;i<=100;i++)sum=sum+i;D、for(i=0;i<=100;i++)sum+=i;

题目

若变量inti,intsum=0,要求程序段完成求1加到100的和的,能完成此操作的程序段不正确的是()

  • A、for(i=1;i<=100;i++)sum+=i;
  • B、for(i=1;i<=100;i++)sum=i;
  • C、for(i=1;i<=100;i++)sum=sum+i;
  • D、for(i=0;i<=100;i++)sum+=i;
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列程序段不会发生二义性的是()。

A、intfun(doublep){.;}

B、intfun(floatp){.;}floatfun(floatp){.;}floatfun(unsignedp){.;}intx;intx;x=fun(0);x=fun(0);

C、intfun(inti,intj=2){.;}

D、intfun(inti=2,intj=2){.;}floatfun(inti){.;}intfun(int*p){.;}cout


参考答案:D

第2题:

有如下一段程序: SET TALK OFF A=1 B=0 DO WHILE A<=100 IF.NOT.A/2=INT(A/2) B=B+A ENDIF A=A+1 ENDDO ? B SET TALK ON RETURN 该程序的功能是______。

A.求1~100之间的累加和

B.求1~100之间的累加和除以2的商

C.求1~100之间的偶数之和

D.求1~100之间的奇数之和


正确答案:D
解析:分析该段程序的目的,可以看到当A/2与INT(A/2)不等时,就将A的值添加到B中,只有当A为奇数时,A/2与INT(A/2)才不等,因此可以判断本题所给程序的功能是计算1到100中所有奇数之和。因此本题的正确选项是D。

第3题:

若变量已正确定义,有以下程序段

i=0;

do printf("%d,",i);while(i++);

printf("%d\n",i)

其输出结果是

A ) 0 , 0

B ) 0 , 1

C ) 1 , 1

D ) 程序进入无限循环


正确答案:B

第4题:

有如下程序段: inti=1: while(1){ i++: if(i==10)break: if(i%2==0)cout<<*: } 执行这个程序段输出字符*的个数是( )。

A.10

B.3

C.4

D.5


正确答案:C
C。【解析】本题主要考查while的作用。只有i为偶数时才输出“*”,而本题只有2,4,6,8时才满足条件,而当i为10时程序结束,即只有4个“*”被输出。

第5题:

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

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

第6题:

若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是

A.for(i=1,p=1;i<=5;i++) p*=i;

B.for(i=1;i<=5;i++){ p=1; p*=i;}

C.i=1;p=1;while(i<=5){p*=i; i++;}

D.i=1;p=1;do{p*=i; i++; }while(i<=5);


正确答案:B
解析:选项B中for循环了5次,而每次循环的时候,都将p的值重新赋值为1后,再乘以当前数字i,最后的结果为5,显然不是5!的值,同样的分析可知选项A、选项C和选项D计算的都是5!。

第7题:

有如下程序段:

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

第8题:

研究下面的Java代码:publicclasstestException{publicstaticvoidmain(Stringargs[]){inta[]={0,1,2,3,4};intsum=0;try{for(inti=1;i<6;i++)sum=sum+a[i];System.out.println("sum="+sum);}catch(ArrayIndexOutOfBoundsException){System.out.println("数组越界");}finally{System.out.println("程序结束");}}}输出结果将是()。

A.10数组越界程序结束

B.10程序结束

C.数组越界程序结束

D.程序结束


参考答案:C

第9题:

如下程序实现为100×100的矩阵初始化为0,假定矩阵按列存放,开始时内存为空,程序和相关变量常驻内存,若分配给矩阵a的内存块为1页,页面大小为每页100个整数字。程序如下; int I,j,a[100][100]; for(j=0;j<100;j++) for (I=0;I<100;I++) a[1][j]=0; 则程序运行完毕发生的缺页中断次数为( )。

A.99

B.100

C.100*100

D.不能确定


正确答案:B
解析:由于分配给矩阵的内存块为1页,.而每页大小为100个整数字,在此题环境中,由于程序及变量已经在内存中并常驻内存,不会发生缺页中断,只有当程序需要的数据所在页面不在内存中时,才会引起缺页中断,因为页面大小为100个整数字,每次缺页中断调取100个整数字进入内存,刚好为数组的一列程序,所以当以上程序运行完毕时,共需要调取100列数据,共发生100次缺页中断。

第10题:

有如下一段程序: SET TALK OFF A=1 B=0 DO WHILE A<:100 IF.NOT.A/2=INT(A/2)B=B+A ENDIF A=A+1 ENDD0 ? 8 SET TALK ON RETURN 该程序的功能是( )。

A. 求1到100之间的累加和

B. 求1到100之间的累加和除以2的商

C. 求1到100之间的偶数之和

D. 求1到100之间的奇数之和


正确答案:D
分析该段程序的目的,我们可以看到当 A/2与INT(A/2)不等时,就将A的值添加到B中,而只有当A为奇数时,A/2与INT(A/2)才不等,因此我们可以判断本题所给程序的功能是计算1到100中所有奇数之和。因此本题的正确选项是D。

更多相关问题