有程序:K=0DO10I=1,2DO10J=1,210K=K+I/JWRITE(*,*)KEND此程序的执行结果K值为(

题目
单选题
有程序:K=0DO10I=1,2DO10J=1,210K=K+I/JWRITE(*,*)KEND此程序的执行结果K值为()
A

0

B

2

C

2.5

D

1

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

第1题:

面程序执行完后k的值是【 】。

void main()

{

unsigned num=26,k=1;

do

{

K * = num%10;

num/ = 10;

{while(num);

cout<<k;

}


正确答案:12
12 解析:do…while循环体共执行两次,第1次循环k=6,nam=2,第2次循环k=12,nam=0。

第2题:

下面程序段的执行结果为( )。 int i=3,j=0,k=0; for(;i>0;--i) { ++k; do { ++j; if (i!=j) break; ++k; }while(j<5); } printf("i=%d j=%d k=%d\n",i,j,k);

A.i=0 j=4 k=12

B.i=0 j=5 k=5

C.i=0 j=4 k=4

D.i=0 j=3 k=3


正确答案:C
解析:程序开始时(i,j,k)三个值分别为(3,0,0),然后进入for循环,由于for的第一条语句空缺,所以不做初始化,此时i为3满足循环条件,进入循环体。然后执行“++k;”使k变成1,再无条件进入do-while循环体执行“++j;”使j变成1,此时i和j不相等所以执行break;语句跳出do-while循环。准备开始第二遍for循环,i的值被减1,此时3个值分别为(2,1,1),i为2满足循环条件,进入循环体。然后依次执行++k;和++j;使它们增1,此时i和j同为2相等,所以跳过break;语句再执行一次++k;使k为3,由于此时j满足do-while的循环条件,所以下一步回到前面执行do后面的++j;语句,使j为3,此时i和j不相等,所以执行break;跳出do-while循环。准备开始第三遍for循环,i的值被减1,此时3个值分别为(1,3,3),i为1满足循环条件,进入循环体。然后依次执行++k;和++j;使它们增1,此时i和j不相等,所以执行break;跳出do-while循环。准备开始第四遍for循环,i的值被减1,此时3个值分别为(0,4,4),i为0不满足for语句的循环条件,所以执行循环体后面的printf()函数输出3个值,故正确答案为C。

第3题:

运行下面程序,其运行结果k的值为【 】其最里层循环体执行次数为【 】。

Dim I =j,k AS Integer

I =l

Do

For j:I TOjStep2

k=k +j

Next

I =i+2

Loop Until I >8


正确答案:30 10
30 10

第4题:

请读程序: include void fun(int * s) { static int j=0; do s[j]+=s[j+1]

请读程序: # include<stdio.h> void fun(int * s) { static int j=0; do s[j]+=s[j+1] while( + + j<2); } main( ) { int k,a[10]={l,2,3,4,5}; for(k=l;k<3;k+ +)fun(a); for(k=0;k<5;k++)prinf("%d",a[k]); } 上面程序的输出结果是 ( )

A.34756

B.23445

C.35745

D.12345


正确答案:C

第5题:

有以下程序段:include define MIN(x,y)(x)<(y)?(x):(y) void main() { int i,j,K; i

有以下程序段:

include<iostream.h>

define MIN(x,y) (x)<(y)?(x):(y)

void main()

{

int i,j,K;

i=10;j=15;

k=10*MIN (i,j);

cout<<k<<endl;

}

程序执行后的输出结果是______。


正确答案:15
15

第6题:

运行下面程序,其运行结果k的值为【 】,其最里层循环体执行次数为【 】。

Dim i,j,k As Integer

i=1

Do

For j=1 To i Step 2

k=k +j

Next

i=i+2

Loop Until i>8


正确答案:[14] 30[15] 10
[14] 30[15] 10 解析:这是一个两层嵌套循环,外面一层为Do循环,里面一层为For循环。先看外面一层循环,可以很容易的得到,外面一层的循环次数为4次。其循环变量i的值依次为:1,3,5,7
当i=1时有,For j=1 To 1 Step2,所以里层循环共执行一次,里层循环执行完后k=l,最里层循环体执行次数为1
当i=3时有,For j=1 To 3 Step2,所以里层循环共执行二次,里层循环执行完后k=5,最里层循环体执行次数为3
当i=5时有,For j=1 To 5 Step2,所以里层循环共执行三次,里层循环执行完后k=14,最里层循环体执行次数为6
当i=7时有,For j=1 To 7 Step2,所以里层循环共执行四次,里层循环执行完后k=30,最里层循环体执行次数10

第7题:

阅读下面的程序段: K=0 Forl=1 t03 For J=l to I K=K+J Next J Next 1 执行上面的语句后,K的值为______。

A.8

B.10

C.14

D.21


正确答案:B
解析:本题是两层嵌套循环,外面的循环执行一次,里面的循环就要全部都执行一次。初始时K=O
当l=1时,里面循环要全部执行,有forJ = to 1; 所以K=K+I,最后K值为1
当I=2时,里面循环要全部执行,有forJ=lt  2; 所以K=K+I,K=K+2,最后K值为4
当1=3时,里面循环要全部执行,有forJ=l to 3; 所以K=K+I,K=K+2,K=K+3,最后K值为10最后得到的K值为10

第8题:

阅读下面的程序段: K=0 for I=1 to 3 for J=1 to I K=K+J Next J Next I 执行上面的语句后,K的值为______。

A.8

B.10

C.14

D.21


正确答案:B
解析:本题是两层嵌套循环,外面的循环执行一次,里面的循环就要全部都执行一次。初始时K=0当I=1时,里面循环要全部执行,有forJ=1to1;所以K=K+1,最后K值为1当I=2时,里面循环要全部执行,有forJ=1to2;所以K=K+1,K=K+2,最后K值为4当I=3时,里面循环要全部执行,有forJ=1to3;所以K=K+1,K=K+2,K=K+3,最后K值为10最后得到的K值为10

第9题:

有以下程序#include <stdio.h>void fun(int s[]){ static int j=0; do s[j]+=s[j+1]; while(++j<2);}main(){ int k,a[10]={1,2,3,4,5}; for(k=1;k<3;k++) fun(a); for(k=0;k<5;k++) printf("%d",a[k]);}程序的运行结果是A.34756 B.23445C.35745 D.12345


正确答案:C
在本题中,首先定义了一个fun函数,函数中的形参是一个数组,该函数中首先定义了一个静态整型变量j并赋了初值,注意,静态变量的作用域是整个程序,而非该函数。从该函数的程序段不难看出该函数的作用是通过一个循环求形参数组中相邻两个元素(具体根据j确定)的和,并保存。
在主函数中,定义了一个数组并赋初值,然后用循环调用fun函数。
当k=1时,调用fun函数,此时刚开始j的值为0,那么fun函数分别计算数组a中的第一个元素与第二个元素的和与第二个元素与第三个元素的和,并分别保存为数组的第一个元素和第二个元素,结果分别为3和5。
当k=2时,调用fun函数,此时j的值为2,那么fun函数只计算数组a中的第三个元素与第四个元素的和,并保存为数组的第三个元素,结果为7。
循环结束,经过该层循环后,数组a中各元素的值分别为3、5、7、4、5,最后用循环输出结果为35745。因此,答案选C。

第10题:

有以下程序

#include<stdio.h>

void fun(int *s)

{ static int j=0;

do { s[j]=s[j]+s[j+1]; )while(++j<2);

}

main( )

{ int k,a[10]={1,2,3,4,5);

for(k=1;k<3;k++)fun(a);

for(k=0;k<5;k++)printf(”%d”,a[k]);

printf("\n");

}

程序运行后的输出结果是

A) 12345

B)23445

C)34756

D) 35745


正确答案:D
【答案】D
【知识点】static变量的使用
【解析】静态局部变量在函数内定义,它的生存期为整个源程序。第一次k=1调用结束后,s[0]的值为3,s[1]的值为5,j的值为2。当k=2时,继续调用函数fun,此时j的值为2,但是因为do while语句先执行后判断,所以执行了s[2]=s[2]+s[3],所以s[2]的值变成了7。循环结束回到主函数,k的值为3,不满足条件结束循环。最后打印输出a数组元素的值。

更多相关问题