for(i=0;i<4;i++)printf(“%d,”,a[0][ i ]);
}
程序运行后的输出结果是
A)6,2,1,1, B)6,4,3,2, C)1,1,2,6, D)2,3,4,6,
(21) 有以下程序
void f(int *q)
{int i=0;
for( i<5;i++)(*q)++;
}
main()
{int a[5]={1,2,3,4,5},i;
f
for(i=0;i<5;i++)printf(“%d,”,a[ i ]);
}
程序运行后的输出结果是
A)2,2,3,4,5, B)6,2,3,4,5, C)2,3,4,5,6,
(22) 有以下程序
#include
main()
{char p[20]={‘a’,’b’,’c’,’d’},q[]=”abc”, r[]=”abcde”;
Strcpy(p+strlen(q),r); strcat(p,q);
Printf(“%d%d\n”,sizeof(p),strlen(p));
}
程序运行后的输出结果是
A)20 9 B)9 9 C)20 11 D)11 11
(23)有以下程序
#include
main()
{char p[20]={‘a’,’b’,’c’,’d’},q[]=”abc”, r[]=”abcde”
strcat(p,r); Strcpy(p+strlen(q),q);
printf(“%d \n”,sizeof(p));
}
程序运行后的输出结果是
A)9 B)6 C)11 D)7
(24)有以下程序
#include
main()
{ char p[20]={‘a’,’b’,’c’,’d’}, q[]=”abc”, r[]=”abcde”;
Strcat(p,r); strcpy(p+strlen(q),q);
Printf(“%d\n”,strlen(p));
}
程序运行后的输出结果是
A) 9 B) 6 C) 11 D) 7
(25) 有以下程序
Main()
{char ch[]=“uvwxyz”,*pc;
Pc=ch; printf(“%c\n”,*(pc+5));
}
程序运行后的输出结果是
A)z B)0 C)元素ch[5]地址 D)字符y的地址
(26) 有以下程序
struct S {int n; int a[20];};
void f(struct S *P)
{int i,j,t;
for(i=0;in-1;i++)
for(j=j+1;jn-1;j++)
程序运行后的输出结果是
A)3 B)4 C)5 D)6
(27)有以下程序
#include
main()
{FILE *fp; int I,a[6]={1,2,3,4,5,6};
fp=fopen(“d2.dat”,”w”);
fprintf(fp,”%d%d\n”,a[0],a[1],a[2]); fprintf(fp, “%d%d\n”,a[3],a[4],a[5]);
fclose(fp);
fp=fopen(“d2.dat”,”r”);
fscanf(fp,” “%d%d\n”,&k,&n); printf(“%d%d\n”,k,n);
fclose(fp);
}
程序运行后的输出结果是
A)1 2 B)1 4 C)123 4 D) 123 456
(28)有以下程序
void f(int b[])
{
int I;
for(i=2;i<6;i++)
b[ i ]*=2;
}
main()
{
Int a[10]={1,2,3,4,5,6,7,8,9,10},i;
for(i=0;i<10;i++)
printf(“%d,”,a[ i ]);
}
程序运行后的输出结果是
A)1,2,3,4,5,6,7,8,9,10, B)1,2,6,8,10,12,7,8,9,10
C)1,2,3,4,10,12,14,16,9,10, D)1,2,6,8,10,12,14,16,9,10,
二.填空题。
(请将每一个空的正确答案写在答题卡[1]至[13]序号的横线上,答在试卷上不得分。
注意:
以命令关键字填空的必须写完整)
(1) 软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。
编码和测试属于 _______阶段。
(2)执行以下程序后的输出结果是 __________ 。
main()
{
int a=10;
a=(3*5,a+4);
printf(“a=%d\n”,a);
}
(3) 当执行以下程序时,输入1234567890<回车>,则其中while循环体将执行 ___________次。
#include
main()
{
char ch;
While((ch=getchar())==’0’)
printf(“#”);
}
(4) 以下程序的运行结果是 _________ 。
int k=0;
void fun(int m)
{
m+=k;
k+=m;
printf(“m=%d\n k=%d ”,m,k++);
}
main()
{
int i=4;
fun(i++);
printf(“i=%d k=%d\n”,i,k);
}
(5) 以下程序的运行结果是__________ 。
main()
{
int a=2,b=7,c=5;
Switch(a>0)
{
case 1:
switch(b<0)
{
case 1:
switch(“@”);
break;
Case 2:
printf(“!
”);
break;
}
Case 0:
switch(c==5)
{
case 0:
printf(“*”);
break;
Case 1:
printf(“#”);
break;
Case 2:
printf(“$”);
break;
}
default :
printf(“&”);
}
Printf(“\n”);
}
(6)以下程序的输出结果是 ____________
# include
main()
{
printf(“%d\n”,strlen(“IBM\n012\1\\”));
}
(7)已定义char ch=”$”;int i=1,j;执行j=!
ch&&i++以后,i的值为 ___________
(8)设有定义语句:
int a[][3]={{0},{1},{2}};,则数组元素a[1][2]的值为 ________
(9)以下程序的功能是:
求出数组x中各相邻两个元素的和,依次存放到a数组中,然后输出,请填空。
main()
{
int x[10],a[9],I;
For (i=0;i<10;i++)
Scanf(“%d”,&x[ i]);
For( _________ i<10;i++)
A[i-1]=x[ i]+ _____________
For(i=0;i<9;i++)
Printf(“%d”,a[ i]);
Printf(“\n”);
(10) 以下程序的功能是:
利用指针指向三个整型变量,并通过指针运算找出三个数中的最大值,输出到屏幕上,请填空:
main()
{int x,y,z,max,*px,*py,*pz,*pmax;
scanf(“%d%d%d”,&x,&y,&z);
Px=&x;
Py=&y;
Pz=&z;
Pmax=&max;
__________________
if(*pmax<*py)*pmax=*py;
if(*pmax<*pz)*pmax=*pz;
printf(“max=%d\n”,max);
}
(11)以下程序的输出结果是 ____________
Int fun(int*x,int n)
{if(n==0)
Return x[0];
Else return x[0]+fun(x+1,n-1);
}
main()
{int a[]={1,2,3,4,5,6,7};
Printf(“%d\n”,fun(a,3));
}
(12)以下程序的输出结果是 ______________
# include
main()
{char *s1,*s2,m;
s1=s2=(char*)malloc(sizeof(char));
*s1=15;
*s2=20;
M=*s1+*s2;
printf(“%d\n”,m);
}
(13)设有说明Struct DATE{int year;int month; int day;};
请写出一条定义语句,该语句定义d为上述结构体变量,并同时为其成员year、month、day 依次赋初值2006、10、1:
____________;