当前位置:IT认证>计算机二级

问题:

[单选] 下面程序输出的是(    )。
main()
{  int t-1;fun(fun(t));)
fun(int h)
{static int a[3]-{1,2,3};
int k;
for(k-0;k%3;k++)a[k]+=a[k]-h;
for(k-0;k<3;k++)printf(”%d”,a[k]);
printf(”\n”);
return(a[h]);)

A . 1,2,3,
B . 1,3,5,1,5,9, 1,3,5,
C . 1,3,5,
D . 1,3,5,0,4,8, -l,3,7,

有以下函数:char fun(char*p){return P;}该函数的返回值是(  )。 无确功定的值。 形参P中存放的地址值。 一个临时存储单元的地址。 形参P自身的地址值。 假设a和b为int型变量,则执行以下语句后b的值为(  )。a==1;b=10:do{  b-=a;a++;)while(b--<O): 9。 -2。 -1。 8。 有以下程序:#include<stdio.h>main(){int aaE33E33-{(2),{4),(6)},i,*p=&.aa[o][o];for(i=0;i<2;i++){i==0)aa[i][i+1]=*p+1;else++P:printf(”%d”,*p);}printf(”\n”);}程序的输出结果是(  )。 23。 26。 33。 36。 有以下程序:main(){int num]-4][4]={{1,2,3,4),{5,6,7,8),{9,10,11,12,),(13,14,15,16)},i,j;for(i=0;i<4;i4-+)(  for(j=0;j<i;j++)print{(”%4c”,“);for(j=______;j<4;j++)print{(”%4d”,num[i][j]);print{(”n”);))若要按以下形式输出数组右一k半三角1    2    3 46    7    811    1216则在程序下划线处应填人的是(  )。 i-1。 i。 i+1。 4~i。 有以下程序:main(){  union{char ch[2];im d;d一0x4321;printf(”%x,%x\n”,s.ch[O],s.ch[1]);)S;在16位编译系统上,程序执行后的输出结果是(  )。 21,43。 43,21。 43,00。 21,00。 下面程序输出的是(    )。
main()
{  int t-1;fun(fun(t));)
fun(int h)
{static int a[3]-{1,2,3};
int k;
for(k-0;k%3;k++)a[k]+=a[k]-h;
for(k-0;k<3;k++)printf(”%d”,a[k]);
printf(”\n”);
return(a[h]);)
参考答案:

  参考解析

D。【解析】本题考查双重函数调用及for循环使用,fun函数中第一个for循环语句的作用是给数组a赋值。当第一次调用fun函数时,把实参1传给形参,输出a数组的元素为1,3,5;第二次调用fun函数时,由于数组a为静态局部变量,故输出a数组的元素为-l,3,7。

在线 客服