printf(“%f\n”,a);
}
A.5.500000B.3.000000C.4.000000D.8.25
11.以下程序的输出结果是_____。
f(inta)
{intb;staticintc=3;
b++;c++;
return(a+b+c);
}
main()
{inta=2,i;
for(i=0;i<3;i++)printf(“%d\n”,f(a));
}
A.7B.7C.7D.7
89107
911137
12.若a、b、c1、c2、x、y均是整型变量,正确的switch语句是_____。
A.switch(a+b);
{case1:
y=a+b;break;
case3:
y=a-b;break;
}
B.switch(a*a+b*b)
{case3;
case1:
y=a+b;break;
case3:
y=a-b;break;
C.switcha
{casec1:
y=a-b;break;
casec2:
y=a*b;break;
default:
x=a+b;
}
D.switch(a-b)
{default:
y=a*b;break;
case3:
case4:
x=a+b;break;
case10:
case11:
y=a+b;break;
13.在C语言中,以下所列的各函数首部正确的是_____。
A.voidplay(vara:
Integer,varb:
Integer)B.voidplay(inta,b)
C.voidplay(inta,intb)D.voidplay(aAsInteger,bAsInteger)
14.设x和y均为int型变量,则以下语句:
x+=y;y=x-y;x-=y;的功能是_____。
A.把x和y按从大到小排序B.把x和y按从小到大排序C.无确定结果D.交换x和y中的值
15.在执行以下程序时,如果从键盘上输入:
ABCdef<回车>,则输出为_____。
#include
main()
{charch;
while((ch=getchar())!
=‘\n’)
{if(ch>=‘A’&&ch<=‘Z’)ch=ch+32;
elseif(ch>=‘a’&&ch<=‘z’)ch=ch-32;
printf(“%c”,ch);
}
}
A.ABCdefB.abcDEFC.abcD.DEF
16.下列程序的运行结果是_____。
main()
{inti,j,x=0;
for(i=0;i<2;i++)
{x++;
for(j=0;j<=3;j++)
{if(j%2)break;
x++;
}
x++;
}
printf(“x=%d”,x);
}
A.x=4B.x=8C.x=6D.x=12
17.为表示关系x≥y≥z,应使用的C语言表达式是_____。
A.(x>=y)&&(y>=z)B.(x>=y)AND(y>=z)C.(x>=y>=z)D.(x>=y)&(y>=z)
18.设有语句chara=‘\72’;则变量a_____。
A.包含1个字符B.包含2个字符C.包含3个字符D.说明不合法
19.下面程序的输出结果是_____。
#include“stdio.h”
main()
{intnum=0;
while(num<=2)
{num++;
printf(“%d\n”,num);
}
}
A.1B.2C.1D.1
222
33
4
20.下面程序的输出结果是_____。
voidfun(int*x,int*y)
{printf(“%d%d”,*x,*y);*x=3;*y=4;}
main()
{intx=1,y=2;
fun(&y,&x);printf(“%d%d”,x,y);}
A.2143B.1212C.1234D.2112
21.下面程序的输出结果是_____。
#include“stdio.h”
#include“string.h”
main()
{char*p1=“abc”,*p2=“ABC”,str[50]=“xyz”;
strcpy(str+2,strcat(p1,p2));
printf(“%s\n”,str);
}
A.xyzabcABCB.zabcABCC.yzabcABCD.xyabcABC
22.以下程序的输出结果是_____。
voidprtv(int*x)
{printf(“%d\n”,++*x);}
main()
{inta=25;
prtv(&a);
}
A.23B.24C.25D.26
23.以下程序中的for循环执行的次数是_____。
#defineN2
#defineMN+1
#defineNUM(M+1)*M/2
main()
{inti;
for(i=1;i<=NUM;i++);
printf(“%d\n”,i);
}
A.5B.6C.8D.9
24.以下对二维数组a进行不正确初始化的是_____。
A.inta[][3]={3,2,1,1,2,3};B.inta[][3]={{3,2,1},{1,2,3}};
C.inta[2][3]={{3,2,1},{1,2,3}};D.inta[][]={{3,2,1},{1,2,3}};
25.若有定义和语句:
chars[10];
s=“abcd”;
printf(“%s\n”,s);则结果是_____。
A.abcdB.aC.“abcd”D.编译不通过
26.执行下列程序后,y的值是_____。
main()
{inta[]={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.17B.18C.19D.20
27.以下程序的输出结果是____。
main()
{chars[]=“ABCD”,*p;
for(p=s;p
}
A.ABCD
BCD
CD
D
B.A
B
C
D
C.D
C
B
A
D.ABCD
ABC
AB
A
28.对于如下的结构体定义:
structdate{intyear,month,day;};
structworklist
{charname[20];
charsex;
structdatebirthday;
}person;若对变量person的出生年份进行赋值,_____是正确的赋值语句。
A.year=1976;B.birthday.year=1976;C.person.birthday.year=1976;D.person.year=1976;
29.以下程序的输出结果是_____。
main()
{intaa[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.23B.26C.33D.36
30.根据以下定义,能输出字母‘M’的语句是_____。
structperson{charname[9];intage;};
structpersonclass[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.inti,j,m=0;
for(i=1;i<=15;i+=4)
for(j=3;j<=19;j+=4)m++;
printf(“%d\n”,m);
2.f(intb[],intn)
{inti,r=1;
for(i=0;i<=n;i++)r=r*b[i];
returnr;
}
main()
{intx,a[]={2,3,4,5,6,7,8,9};
x=f(a,3);
printf(“%d\n”,x);
}
3.若输入“adequacy”,写出程序的执行结果。
#include
main()
{charc;intv0=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()
{chara[]=“ABCDEDGH”,b[]=“abCDefGh”,*p1=a,*p2=b;
intk;
for(k=0;k<=7;k++)
if(*(p1+k)==*(p2+k))printf(“%c”,*(p1+k));
printf(“\n”);
}
5.若输入“Iamaboy!
”,写出程序的执行结果。
charconnect(char*string1,char*string2,char*string)
{inti,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()
{chars1[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个学生的成绩,求平均成绩,并将低于平均成绩的分数输出。
(10分)
要求:
(1)使用-数组存放成绩,数组名为score。
(2)编写三个函数,函数input:
输入学生成绩,
函数average:
求平均成绩,
函数result:
将低于平均成绩的分数输出。
第五套试题
一、单项选择题(30个小题,每题2分,共60分):
1.A2.B3.B4.C5.D6.C7.D8.C9.B10.A
11.A12.D13.C14.D15.B16.C17.A18.A19.C20.A
21.D22.D23.C24.D25.D26.B27.A28.C29.A30.D
二、读下面程序,写出执行结果(5个小题,每题4分,共20分):
1.202.1203.v0=8,v1=4,v2=84.CDG5.Iam
三、编写程序题(3个小题,共20分):
1.利用scanf函数输入三个整数,按从小到大的顺序输出。
(5分)
main()
{inta,b,c,t;
printf(“Entera,bandc:
”);
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()
{ints=1,i,n;
printf(“Entern:
”);
scanf(“%d”,&n);
for(i=1;i<=n;i++)s=s*i;
printf(“s=%d\n”,s);
}
3.输入10个学生的成绩,求平均成绩,并将低于平均成绩的分数输出。
(10分)
要求:
(1)使用数组存放成绩,数组名为score。
(2)编写三个函数,函数input:
输入学生成绩,
函数average:
求平均成绩,
函数result:
将低于平均成绩的分数输出。
voidinput(floatscore[10],intn)
{inti;
printf(“Enterstudent’sscores:
\n”);
for(i=0;iscanf(“%f”,&score[i]);
return;
}
floataverage(floatscore[10],intn)
{floatsum=0;
inti;
for(i=0;isum=sum+score[i];
return(sum/n);
}
voidresult(floatscore[10],floatave,intn)
{inti;
printf(“Belowtheaverage:
\n”);
for(i=0;iif(score[i]return;
}
main()
{floatave,score[10];
input(score,10);
ave=average(score,10);
printf(“average=%6.2f\n”,ave);
print(score,ave,10);
}