printf(“%d\\n”,i); }
A.5 B.6 C.8 D.9
24.以下对二维数组a进行不正确初始化的是_____。
A.int a[ ][3]={3,2,1,1,2,3}; B.int a[ ][3]={{3,2,1},{1,2,3}}; C.int a[2][3]={{3,2,1},{1,2,3}}; D.int a[ ][ ]={{3,2,1},{1,2,3}}; 25.若有定义和语句:char s[10]; s=“abcd”;
printf(“%s\\n”,s); 则结果是_____。 A.abcd B.a C.“abcd” D.编译不通过 26.执行下列程序后,y的值是_____。 main( )
{ int a[ ]={2,4,6,8,10},y=1,*p,x; p=&a[1];
for(x=0;x<3;x++) y+=*(p+x); printf(“%d\\n”,y); }
A.17 B.18 C.19 D.20 27.以下程序的输出结果是____。 main( )
{ char s[ ]=“ABCD”,*p;
for(p=s;p
28.对于如下的结构体定义:
struct date { int year,month,day;}; struct worklist { char name[20]; char sex;
struct date birthday;
}person; 若对变量person的出生年份进行赋值,_____是正确的赋值语句。
A.year=1976; B.birthday.year=1976; C.person.birthday.year=1976; D.person.year=1976; 29.以下程序的输出结果是_____。 main( )
{ int aa[3][3]={{2},{4},{6}},i,*p=&aa[0][0]; for(i=0;i<2;i++)
{ if(i==0) aa[i][i+1]=*p+1; else ++p;
printf(“%d”,*p); }
printf(“\\n”); }
A.23 B.26 C.33 D.36
30.根据以下定义,能输出字母‘M’的语句是_____。 struct person { char name[9];int age;};
struct person class[4]={“John”,17,“Paul”,19,“Mary”,18,“Adam”,16}; A. printf(“%c\\n”,class[3].name); B. printf(“%c\\n”,class[3].name[1]); C. printf(“%c\\n”,class[2].name[1]); D. printf(“%c\\n”,class[2].name[0]); 二、读下面程序,写出执行结果(5个小题,每题4分,共20分): 1.int i,j,m=0; for(i=1;i<=15;i+=4) for(j=3;j<=19;j+=4) m++; printf(“%d\\n”,m); 2.f(int b[ ],int n) { int i,r=1;
for(i=0;i<=n;i++) r=r*b[i]; return r; } main( )
{ int x,a[ ]={2,3,4,5,6,7,8,9}; x=f(a,3);
printf(“%d\\n”,x); }
3.若输入“adequacy” ,写出程序的执行结果。 #include
{ char c; int v0=0,v1=0,v2=0; while((c=getchar( ))!=‘\\n’) { switch(c) { case ‘a’: case ‘e’: case ‘i’:
case ‘o’: case ‘u’:v1++; default:v0++;v2++; } }
printf(“v0=%d,v1=%d,v2=%d\\n”,v0,v1,v2); }
4.main( )
{ char a[ ]=“ABCDEDGH”,b[ ]=“abCDefGh”,*p1=a,*p2=b; int k;
for(k=0;k<=7;k++)
if(*(p1+k)==*(p2+k)) printf(“%c”,*(p1+k)); printf(“\\n”); }
5.若输入“I am a boy!” ,写出程序的执行结果。
char connect(char *string1 ,char *string2 ,char *string) { int i,j;
for(i=0;string1[i]!=‘\\0’;i++) string[i]=string1[i]; for(j=0;string2[j]!=‘\\0’;j++) string[i+j]=string2[j]; string[i+j]=‘\\0’; } main( )
{ char s1[100],s2[100],s[100];
printf(“输入string1:\\n”); scanf(“%s”,s1); printf(“输入string2:\\n”); scanf(“%s”,s2); connect(s1,s2,s); printf(“%s\\n”,s); }
三、编写程序题(3个小题,共20分):
1.利用scanf函数输入三个整数,按从小到大的顺序输出。(5分) 2.求n!,即计算1*2*3*?*n的值。(5分)
3.输入10个学生的成绩,求平均成绩,并将低于平均成绩的分数输出。(要求:(1)使用数组存放成绩,数组名为score。 (2)编写三个函数,函数input:输入学生成绩, 函数average:求平均成绩,
函数result:将低于平均成绩的分数输出。
第五套试题答案
一、单项选择题(30个小题,每题2分,共60分): 1.A 2.B 3.B 4.C 5.D 6.C 7.D 8.C 9.B 10.A
11.A 12.D 13.C 14.D 15.B 16.C 17.A 18.A 19.C 20.A 21.D 22.D 23.C 24.D 25.D 26.B 27.A 28.C 29.A 30.D
10分) 二、读下面程序,写出执行结果(5个小题,每题4分,共20分): 1.20 2.120 3.v0=8,v1=4,v2=8 4.CDG 5.Iam 三、编写程序题(3个小题,共20分):
1.利用scanf函数输入三个整数,按从小到大的顺序输出。(5分) main( ) { int a,b,c,t;
printf(“Enter a,b and c:”); scanf(“%d,%d,%d”,&a,&b,&c); if(a>b) { t=a; a=b; b=t; } if(a>c) { t=a; a=c; c=t; } if(b>c) { t=b; b=c; c=t; } printf(“%d,%d,%d\\n”,a,b,c); }
2.求n!,即计算1*2*3*?*n的值。(5分) main( ) { int s=1,i,n; printf(“Enter n:”); scanf(“%d”,&n);
for(i=1;i<=n;i++) s=s*i; printf(“s=%d\\n”,s); }
3.输入10个学生的成绩,求平均成绩,并将低于平均成绩的分数输出。(要求:(1)使用数组存放成绩,数组名为score。 (2)编写三个函数,函数input:输入学生成绩, 函数average:求平均成绩,
函数result:将低于平均成绩的分数输出。 void input(float score[10],int n) { int i;
printf(“Enter student’s scores:\\n”); for(i=0;i float average(float score[10],int n) { float sum=0; int i; for(i=0;i void result(float score[10],float ave,int n) { int i; printf(“Below the average:\\n”); 10分)
相关推荐: