有以下程序include<stdio.h>main( ){int n[2l,ij;for(i=0;i<2;i++)n[i]=0;for(i=0;i&lt

题目

有以下程序

include<stdio.h>

main( )

{int n[2l,ij;

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]);

}

程序运行后的输出结果是________ 。

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

第1题:

以下程序运行后输出结果是()。 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)符合题意。

第2题:

有以下程序: void fun(int *a,int i,int j) { int t; if(i<j) { t=a[i];a[i]=a[j];a[j]=t; i++; j--; fun(a,ij); } } main() { int x[]={2,6,1,8},i; fun(x,0,3); for(i=0;i<4;i++) printf("%2d",x[i]); printf("\"n); } 程序运行后的输出结果是( )。

A.1 2 6 8

B.8 6 2 1

C.8 1 6 2

D.8 6 1 2


正确答案:C
解析:函数fun()中用了—个if语句,当数组下标i小于数组下标j时,交换数组元素a[i]和a[j]的值,并使i值加1,j值减1。其功能就是把数组a中从下标i到j的元素首尾互换。主函数中定义一个数组,在定义该数组的时候缺省了定义长度,定义的同时将其初始化赋值,所以该数组的长度为初始化该数组时的元素的个数即4,接着调用fun(a,0,3),其中将a数组的第一个元素的下标0和最后一个元素的下标3传给了函数fun(),故执行完该函数后,数组a中的元素首尾互换,因此最后依次输出的数组a中值为8,1,6和2,所以,4个选项中选项C符合题意。

第3题:

有以下程序,程序执行后,输出结果是【】include void fun(int*A) {a[0]=a[1];} main() {i

有以下程序,程序执行后,输出结果是【 】

include<stdio.h>

void fun(int*A)

{ a[0]=a[1];}

main()

{ int a[10]={10,9,8,7,6,5,4,3,2,1,},i;

for(i=2;i>1=0;i-) fun(&a[i]);

for(i=0;i<10;i++) printf("%d,a[i]);

printf("\n");

}


正确答案:7777654321
7777654321 解析:本题主要考查函数的调用,第—次调用把数组元素a[2]的地址赋给a,此时a[1]即是原数组的a[3]等于7,再执行赋值语句a[0]=a[1],则a[0]和a[1]中的值都是7,然后再把这个值返回给a[2]同样地第二次调用的时候函数返回值也是7,第三次调用返回值也是7,因此数组的前4个元素,即对a[0]、a[1]、a[2]和a[3]的值都为7,当执行第二个for循环时输出数组中所有元素的值7777654321。

第4题:

有以下程序 include define N 4 void fun(int a[][N],int b[]) { int

有以下程序 #include <stdio.h> #define N 4 void fun(int a[][N],int b[]) { int i; for(i=0;i<N;i++) b[i]=a[i][i]; } main() {int x[][N]={{1,2,3},{4},{5,6,7,8},{9,10} },Y[N],i; fun(x,y); for(i=0;i<N;i++) printf("%d,",y[i]); printf("\n"); } 程序的运行结果是______。

A.1,2,3,4,

B.1,0,7,0,

C.1,4,5,9,

D.3,4,8,10,


正确答案:B
解析:在主函数中,定义并初始化了4行4列的二维数组x。对于二维数组元素的赋值,可以只对部分元素赋初值,未赋初值的元素自动取0。x数组元素赋初值后各元素为:

fun函数的作用是将二维数组a中主对角线元素赋给数组b,由于数组a与数组x共用同一存储单元,也即将数组x中主对角线元素赋给了数组b。又因为数组b与数组y共用同一存储单元,所以主函数中通过语句“printf("%d,"y[i]);”输出的即为数组b中的值,所以程序运行结果为“1,0,7,0,”。

第5题:

有以下程序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。

第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.1

C.0

D.3


正确答案:D

第7题:

以下程序运行后的输出结果是【】。main(){int i,n[]={0,0,0,0,0}; for(i=1;i<=4;i++) { n[i]=n[i-1]*2+1; printf("%d",n[i]); }}


正确答案:1 3 7 15
对数组的元素按照后一个是前一个的2倍加1的方法进行赋值,然后分别进行输出。

第8题:

有以下程序 , 程序执行后 , 输出结果是【 1 1 】

#include <stdio.h>

void fun(int *a)

{ a[0]=a[1];}

main()

{ int a[10]={10,9,8,7,6,5,4,3,2,1},i;

for(i=2;i>=0;i--) fun(&a[i]);

for(i=0;i<10;i++) printf("%d",a[i]);

printf("\n");

}


正确答案:

第9题:

有以下程序,程序执行后,输出结果是【11】

#include <stdio.h>

void fun (int *a)

{a[0=a[1];]}

main()

{int a[10]={10,9,8,7,6,5,4,3,2,1},i;

for(i=2;i>=0;i--) fun{&a};

for(i=0;i<10;i++) printf(“&d”,a);

printf(“\n”);

}


正确答案:
117777654321