printf("%d,",s.a[i]);
}
程序运行后的输出结果是()
A)2,4,3,9,12,12,11,11,18,9,
47.有以下程序段
typedefstructnode{intdata;structnode*next;}*NODE;
NODEp;
以下叙述中正确的是()
C)p是指向structnode结构变量的指针
48.有以下程序
main()
{
unsignedchara=2,b=4,c=5,d;
d=a|b;
d&=c;
printf("%d\n",d);
}
程序运行后的输出结果是()
B)4
49.有以下程序
#include
main()
{FILE*fp;
intk,n,a[6]={1,2,3,4,5,6};
fp=fopen("d2.dat","w");
fprintf(fp,"%d%d%d\n",a[0],a[1],a[2]);
fprintf(fp,"%d%d%d\n",a[3],a[4],a[5]);
fclose(fp);
fp=fopen("d2.daf","r");
fscanf(fp,"%d%d",&k,&n);
printf("%d%d\n",k,n);
fclose(fp);
}
程序运行后的输出结果是()
D)123456
50.有以下程序
#include
main()
{FILE*fp;
inti,a[6]={1,2,3,4,5,6};
fp=fopen("d3.dat","w+b");
fwrite(a.sizeof(int),6,fp);
fseek(fp,sizeof(int)*3,SEEK_SET);
/*该语句使读文件的位置指针从文件头向后移动3个int型数据*/
fread(a,sizeof(int),3,fp);
fclose(fp);
for(i=0;i<6;i++)
printf("%d,",a[i]);
}
程序运行后的输出结果是()
A)4,5,6,4,5,6,
二、填空题
6.执行以下程序后的输出结果是【6】。
main()
{inta=10;
a=(3*5,a+4);printf("a=%d\n",a);
}
a=14
7.当执行以下程序时,输入1234567890<回车>,则其中while循环体将执行【7】次。
#include
main()
{charch;
while((ch=getchar())=='0')prinft("#");
}
0
8.以下程序的运行结果是【8】。
intk=0;
voidfun(intm)
{m+=k;
k+=m;
printf("m=%dk=%d",m,k++);
}
main()
{inti=4;
fun(i++);
printf("i=%dk=%d\n",i,k);
}
m=4k=4i=5k=5
9.以下程序的运行结果是【9】。
main()
{inta=2,b=7,c=5;
switch(a>0)
{case1:
switch(b<0)
{case1:
printf("@");break;
case2:
printf("!
");break;
}
case0:
switch(c==5)
{case0:
printf("*");break;
case1:
printf("#");break;
case2:
printf("$");break;
}
default:
printf("&");
}
printf("\n");
}
#&
10.以下程序的输出结果是【10】。
#include
main()
{printf("%d\n",strlen("IBM\n012\1\\"));}
9
11.已定义charch='$';inti=1,j;,执行j!
=ch&&i++以后,i的值为【11】。
1
12.以下程序的输出结果是【12】。
#include
main()
{chara[]={'\1','\2','\3','\4','\0'};
printf("%d%d\n",sizeof(a),strlen(a));
}
54
13.设有定义语句:
inta[][3]={{0},{1}{2}};,则数组元素a[1][2]的值是【13】。
0
14.以下程序的功能是:
求出数组x中各相邻两个元素的和依次存放到a数组中,然后输出。
请填空。
main()
{intx[10],a[9],i;
for(i=0;i<10;i++)scanf("%d",&x[i]);
for(【14】;i<10;i++)
a[i-1]=x[i]+【15】;
for(i=0;i<9;i++)printf("%d",a[i]);
printf("");
}
[14]i=1[15]x[i-1]
15.以下程序的功能是:
利用指针指向三个整型变量,并通过指针运算找出三个数中的最大值,输出到屏幕上。
请填空。
main()
{intx,y,z,max,*px,*py,*pz,*pmax;
scanf("%d%d%d",&x,&y,&z);
px=&x;py=&y;pz=&z;pmax=&max;
【16】;
if(*pmax<*py)*pmax=*py;
if(*pmax<*pz)*pmax=*pz;
printf("max=%d\n",max);
}
*pmax=*px
16.以下程序的输出结果是【17】。
intfun(int*x,intn)
{if(n==0)
returnx[0];
else
returnx[0]+fun(x+1,n-1);
}
main()
{inta[]={1,2,3,4,5,6,7};
printf("%d\n",fun(a,3));
}
10
17.以下程序的输出结果是【18】。
#include
main()
{char*s1,*s2,m;
s1=s2=(char*)malloc(sizeof(char));
*s1=15;
*s2=20;
m=*s1+*s2;
printf("%d\n",m);
}
40
18.设有说明
structDATE{intyear;intmonth;intday;};
请写出一条定义语句,该语句定义d为上述结构体类型变量,并同时为其成员year、month、day依次赋初值2006、10、1:
【19】。
structDATEd={2006,10,1};
[解析]本题考查结构体变量初始化的问题。
正确的语句应为“structDATEd={2006,10,1};”。
19.设有定义:
FILE*fw;,请将以下打开文件的语句补充完整,以便可以向文本文件readme.txt的最后续写内容。
fw=fopen("readme.txt",【20】);"a"