下列程序段的执行结果为______ 。 Dim A(10,10) For I = 2 To 4 For J = 4 To 5 A(I, J) = I * J

题目

下列程序段的执行结果为______ 。 Dim A(10,10) For I = 2 To 4 For J = 4 To 5 A(I, J) = I * J Next J Next I Print A(2, 5) + A(3, 4) + A(4, 5)

A.22

B.42

C.32

D.52

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

第1题:

以下程序段的执行结果是()。 int i,j,m=0; for(i=1;i<=15;i=i+4) for(j=3;j<=19;j=j+4) m++; printf("%dn",m);


A 解析:i++是先取值后判断,再自加,循环体输出自加后的值,循环体执行3次,控制符\\t是移动水平制表位。

第2题:

下列程序段的执行结果为【 】。

Dim A (10,10)

For i = 2 To 4

For j =4 To 5

A(i,j) =i*j

Next

Next

Print A (2,5) +A(3,4) +A(4,5)


正确答案:42
42 解析:该题定义了一个2组数组,用A(i,j):i*j给数组赋值,则A(2,5)+A(3,4)+A(4,5)=2×5+3×4+4×5=10+12+20=42。

第3题:

下列程序段的执行结果为 Dim A(10,10) For 1=2 To 4 For J=4 To 5 A(I,J)=I*J Next J Next I Print A(2,5)+A(3,4)+A(4,5)

A.22

B.42

C.32

D.52


正确答案:B
解析:根据题意,该二维数组的赋值方法为A(1,J)=I*J,故A(2,5)、A(4,5)的值分别为10、12、20。相加的结果为42。

第4题:

下列程序段的执行结果为 Dim A(10, 10) For I=2 To 4 For J=4 To 5 A(I,J)=I*J Next J Next I Print A(2, 5)+ A(3, 4) + A(4, 5)

A.22

B.42

C.32

D.52


正确答案:B
解析:根据题意,该二维数组的赋值方法为A(I,J)=I(J,故A(2,5)、A(3,4)、A(4,5)的值分别为10、12、20。相加的结果为42,故答案为B。

第5题:

下列程序段的执行结果是______。 i=4 j:5 Do i=i+1 j=j+2 Loop Until i >= 7 Print “j=”; j

A.j=10

B.j=11

C.j=12

D.j=13


正确答案:B

第6题:

下面程序段的执行结果是( )。 main() {int a[5][5],i,j; for(i=1;i<5;i++) for(j=1;j<5;j++) a[i][j]=(i<j)*(j/i); for(i=1;i<5;i++) { for(j=1;j<5;j++) printf("%2d",a[i][j]); printf("\n"); } }

A.1111 1111 1111 1111

B.0001 0010 0100 1000

C.1000 0100 0010 0001

D.0000 0000 0000 0000


正确答案:C
解析:本题使用一个双重循环对—个二维数组的一部分赋值(下标中含0的元素不赋值),赋值表达式是a[i][j]=(i/j)*(j/i)。因为i和j都是正整数,所以当i大于j时,j/i为0,当i小于j时,i/j为0,而0乘以任何数都为0,故表达式(i/j)*(j/i)在i和j不相等时的值为0。当i和j相等时,i/j和j/i的值都为1,所以表达式(i/j)*(j/i)的值为1。故二维数组中的a[1][1]、a[2][2]、 a[3][3]、a[4][4]被赋为1,其余下标不含0的元素被赋为0。故应该选择C。

第7题:

执行下面的程序段后i和j的结果为 int i=1,j=10; do { if(i++>--j)continue; } while(i<5);

A.i=6,j=5

B.i=5,j=5

C.i=6,j=4

D.i=5,j=6


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

第8题:

下面程序段的执行结果为( )。 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。

第9题:

执行下面的程序段后i和j的结果为 int i=1,j=10; do { if(i++>--j)continue; } while(i<5);

A.i=6,j=5

B.i=5,j=5

C.i=6,j=4

D.i=5,j=6


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