计算机二级

有以下程序 main() { int n[3],i,j; for(i=0;i<3;i++)n[i]=0; for(i=0;i<2,i++) for(j=0;j<2;j++)n[j]=n[i]+1; printf("%d\n",n[1]); } 程序运行后的输出结果是( )A.2B.1C.0D.3

题目

有以下程序 main() { int n[3],i,j; for(i=0;i<3;i++)n[i]=0; for(i=0;i<2,i++) for(j=0;j<2;j++)n[j]=n[i]+1; printf("%d\n",n[1]); } 程序运行后的输出结果是( )

A.2

B.1

C.0

D.3

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

第1题:

以下程序的输出结果是() int n[3],I,j,k; for(i=0;i<3;i++) n[i]=0; k=2; for(i=0;i<k;i++) for(j=0;j<k;j++) n[j]=n[i]+1; printf(“%d”,n[1]);

A.2

B.1

C.0

D.3


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

第2题:

以下程序运行后输出结果是()。 main() { int n[3],i,j,k; for(i=0;i<3;i++) n[i]=0; k=2; for (i=0;i<k;i++) for (j=0;j<k;j++) n[j]=n[i]+1; printf("%dn",n[1]); }

A.2

B.1

C.0

D.3


C 解析:本题考查的是对位与运算符&的理解。位与运算是将两个运算分量看作两个二进制数,然后对两个二进制数的相应位进行与运算,若同时为1则结果相应位为1,否则结果相应位为0。因此,当两个运算分量相同时,它们的相应位肯定也相同,即不同为1就同为0。所以得到的结果和运算分量也相同。所以,4个选项中选项C)符合题意。

第3题:

9、运行下面程序段的输出结果是 #include <stdio.h> int main() { int n[3][3],i,j; for(i=0; i<3; i++) for(j=0; j<3; j++) n[i][j]=i+j; for(i=0; i<2; i++) for(j=0; j<2; j++) n[i+1][j+1]+=n[i][j]; printf("%d\n",n[i][j]); }

A.14

B.0

C.6

D.不确定


11 本题考核的知识点是printf()函数的输出格式.本题中定义了一个整型变量i并赋初值为9,然后要求以八进制输出i的值,因为9的八进制的表示为11,所以最后输出的值为11。

第4题:

阅读下列程序: main() { int n[3],i,j,k; for(i=0;i〈 3;i++) n[i]=0; k=2; for (i=0;i < k;i++) for (j=0;j〈 2;j++) n[j]=n[i]+1; printf("%dn",n[1]); } 下述程序运行后输出结果是

A.2

B.1

C.0

D.3


A

第5题:

分析下列程序,其最终执行结果是______。 main() { int n[3],i,j,k; for(i=0;i<3;i++)n[i]=O; k=2; for(i=0;i<k;i++) for(j=0;j<k;j++) n[j]=n[i]-1; printf("%d\n",n[0]); }

A.-2

B.-1

C.0

D.-3


正确答案:D
解析:当i为0,内循环在j为0时,执行n[j]=n[i]-1;,即n[0]=n[0]-1, n[0]值变为-1:在j为1时,执行n[j]=n[i]-1;,即n[1]=n[0]-1,将-2赋给n[1]。当i为1时,内循环在j为0时,执行n[j]=n[i]-1;,即n[0]=n[1]-1,n[0]值变为-3;在j为1时,执行n[j]=n[i]-1;,即n[1]=n[1]-1,将-3赋给n[1];最后n[0]和n[1]的值均为-3。

第6题:

有以下程序main(){ int n[3],i,j; for(i=0;i<3;i++) n[i]=0; for(i=0;i<2;i++) for(j=0;j<2;j++) n[j]=n[i]+1; printf( "%d\n",n[1]);}程序运行后的输出结果是A.2 B.1C.0 D.3


正确答案:D
初始时定义一个大小为3个一维整型数组,第一个for语句是对数组赋初值,每个值都为0。后面是一个for语句的嵌套调用,外层的循环变量i的取值为[0,2],内层循环变量的取值范围为[0,2]。最初外层的循环变量i=0,内层的循环变量j取值从0到2,计算n[j]=n[0]+1,得到n[0]=1,n[1]=1,n[2]=1。外层for语句的循环变量为1时,内层的循环变量j取值从0到2,计算n[j]=n[1]+1,得到n[0]=2,n[1]=2,n[2]=2。外层for语句的循环变量为2时,内层的循环变量j取值从0到2,计算n[j]=n[2]+1,得到n[0]=3,n[1]=3,n[2]=3。最后的输出结果为3。

第7题:

以下程序的输出结果是 ( ) main( ) { int n[3] [3],i,j; for (i=0;i<3;i+ +) for(j=0;i<3;++) n[i][j]=i+j; for(i=0;i<2;i++) for(j=0,j<2;j++) n[i+1][j+1]+=[i][j]; printf("%d\n",n[1][j]); }

A.14

B.0

C.6

D.值不确定


正确答案:C

第8题:

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

include<stdio.h>

main()

{ int n[2],i,j;

for(i=0;i<2;i++)n[i]=0;

for(i=0;i<2;i++)

for(j=0;j<2;j++)n[j]=n[i]+1;

printf("%d\n",n[1]);

}


正确答案:
3 解析:该题先是初始化数组n[2]中的元素全部赋值为0,然后执行两层for循环,当i=0,j=0,a[0]为1、a[1]为0,当j=1时,a[0]为1、a[1]为2;当i=1,j=0,a[0]为3、a[1]为2,当i=1,j=1时,a[0]为3、a[1]为3。

第9题:

以下程序运行后的输出结构是。main(){ int i,j,a[][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) for(j=i;j<3;j++)a[j][i]=0; for(i=0;i<3;i++) { for(j=0;j<3;j++) printf("%d ",a[i][j]); printf("\n"); }}


正确答案:0 2 3 0 0 6 0 0 0
将a[0][0],a[1][0],a[2][0],a[1][1],a[2][1],a[2][2]赋值为0,所a[][3]={0,2,3,0,0,6,0,0,0}