第五套试题.docx
- 文档编号:2747259
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:11
- 大小:19.02KB
第五套试题.docx
《第五套试题.docx》由会员分享,可在线阅读,更多相关《第五套试题.docx(11页珍藏版)》请在冰点文库上搜索。
第五套试题
第五套试题
一、单项选择题(30个小题,每题2分,共60分):
1.一个C语言程序的执行是从_____。
A.main函数开始,直到main函数结束B.第一个函数开始,直到最后一个函数结束
C.第一个函数开始,直到最后一个语句结束D.main函数开始,直到最后一个函数结束
2.设ch是char型变量,其值为‘A’,且有表达式:
ch=(ch>=‘A’&&ch<=‘Z’)?
(ch+32):
ch,该表达式的值为_____。
A.AB.aC.ZD.z
3.在C语言中,合法的字符常量是_____。
A.‘\084’B.‘\x43’C.‘ab’D.“\0”
4.当运行以下程序时,在键盘上从第一列开始输入9876543210
main()
{inta;floatb,c;
scanf(“%2d%3f%4f”,&a,&b,&c);
printf(“\na=%d,b=%f,c=%f\n”,a,b,c);
}
A.a=98,b=765,c=4321B.a=10,b=432,c=8765
C.a=98,b=765.000000,c=4321.000000D.a=98,b=765.0,c=4321.0
5.以下叙述正确的是_____。
A.do_while语句构成的循环不能用其它语句构成的循环来代替
B.do_while语句构成的循环只能用break语句退出
C.用do_while语句构成循环时,只有在while后的表达式为非零时结束循环
D.用do_while语句构成循环时,只有在while后的表达式为零时结束循环
6.以下的序的输出结果是_____。
main()
{intx=10,y=3;printf(“%d\n”,y=x/y);}
A.0B.1C.3D.不确定的值
7.以下程序段的输出结果是_____。
intk,j,s;
for(k=2;k<6;k++,k++)
{s=1;
for(j=k;j<6;j++)s+=j;
}
printf(“%d\n”,s);
A.9B.1C.11D.10
8.设有如下函数:
ggg(float*x)
{printf(“%d\n”,*x);}则函数的类型是_____。
A.与参数x的类型相同B.voidC.intD.无法确定
9.C语言源程序的基本单位是_____。
A.过程B.函数C.子程序D.标识符
10.以下程序的输出结果是_____。
doublef(intn)
{inti;doubles=1.0;
for(i=1;i<=n;i++)s+=1.0/i;
returns;
}
main()
{inti,m=3;floata=0.0;
for(i=0;i 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;i scanf(“%f”,&score[i]); return; } floataverage(floatscore[10],intn) {floatsum=0; inti; for(i=0;i sum=sum+score[i]; return(sum/n); } voidresult(floatscore[10],floatave,intn) {inti; printf(“Belowtheaverage: \n”); for(i=0;i if(score[i] return; } main() {floatave,score[10]; input(score,10); ave=average(score,10); printf(“average=%6.2f\n”,ave); print(score,ave,10); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五 试题