参考答案.docx
《参考答案.docx》由会员分享,可在线阅读,更多相关《参考答案.docx(14页珍藏版)》请在冰豆网上搜索。
![参考答案.docx](https://file1.bdocx.com/fileroot1/2023-1/21/5742ee2c-87e6-4644-aa38-b48052940652/5742ee2c-87e6-4644-aa38-b480529406521.gif)
参考答案
卷一参考答案
一、填空题
(1)整型、实型、字符型。
(2)int,2,-32768~+32767
(3)1111111111011101(4)-112(5)14,’m’(6)”a”是字符串常量,而’a’是字符常量。
(7)存放地址值的变量或常量,或者答地址。
(8)取运算对象的地址。
取指针变量所指的内容。
(8)a=1,b=3,c=2
二、选择题
1、C2、C3、D4、B5、D6、A7、C8、C9、D10、A
11、C12、C13、D14、C15、B16、C17、D18、D19、C20、B
三、阅读程序题
(1)3.141593,3.1416,3.142
(2)6,8(3)4(4)22(5)19
四、程序填空题
1、scanf(“%f”,&f);sum+=f;2、fopen(“myfile”,w)fclose(fp);3、x>=0.0x<=amin
五、编程题
1、main()
{inta,b,c;
printf(“请输入三个整数:
”);
scanf(“%d,%d,%d”,&a,&b,&c);
if(a
if(belseprintf(“max=%d\n”,b);
elseif(aelseprintf(“max=%d\n”,a);}
2、#include”stdio.h”
main()
{intI,n;
for(n=0,I=1900;I<=2000;I++)
{if(I%4==0&&I_0!
=0||I@0==0)
{printf(“%d”,I);n++;}
if(n%3==0)
printf(“\n”);}}}
3、#include”stdio.h”
intfun(inta)
{intI;
if(a==2)return1;I=2;
while((a%I)!
=0&&I<=sqrt((float)a))
I++;
if(a%I==0)
{printf(“%disnotaprime!
”,a);
return0;}
printf(“%disaprime!
”,a);
return1;}
main()
{intx;
printf(“\npleaseenteranumber:
”);
scanf(“%d”,&x);
printf(“%d\n”,fun(x));}
4、#include"stdio.h"
#defineN3
structstudent
{longstu_num;charsex;
charname[15];intscore[4];
floataverage;};
main()
{intI,j,index;floatsum,max;
structstudentstuarr[N];
for(I=0;I{printf("pleaseinput%dstudentinformation:
\n",I+1);
scanf("%ld,%c,%s",&stuarr[I].stu_num,&stuarr[I].sex,stuarr[I].name);
for(j=0;j<4;j++)
scanf("%d",&stuarr[I].score[j]);}
for(I=0;I{sum=0.0;
for(j=0;j<4;j++)
sum+=stuarr[I].score[j];
stuarr[I].average=sum/4.0;}
max=stuarr[0].average;
index=0;
for(I=1;Iif(stuarr[I].average>max)
{max=stuarr[I].average;
index=I;}
printf("总平均成绩最高的学生信息是学号=%ld,性别=%c,姓名=%s,平均成绩=%4.1f\n",stuarr[index].stu_num,stuarr[index].sex,stuarr[index].name,stuarr[index].average);
}
卷二参考答案
一、填空题
1、int,2个字节,-32768~+32767。
2、整型、实型、字符型。
3、-4。
4、结构体的成员占有各自不同的空间,而共用体的各成员放到同一存储空间。
5、a=1,b=3,c=27、”a”是字符串常量,而’a’是字符常量。
8、7,1。
二、选择题
1、B2、C3、D4、C5、C6、D7、C8、D9、C10、D
11、D12、D13、B14、B15、A16、D17、B18、B19、C20、D
三、阅读程序题
(1)6,8
(2)3.141593,3.1416,3.142(3)4(4)2,4(5)8
四、程序填空题
1、I==jI+j==22、scanf(“%f”,&f);sum+=f;3、fopen(“myfile”,w)fclose(fp);
五、编程题
1、main()
{inta,b,c;
printf(“请输入三个整数:
”);scanf(“%d,%d,%d”,&a,&b,&c);
if(a
if(belseprintf(“max=%d\n”,b);
elseif(aelseprintf(“max=%d\n”,a);}
2、#include”stdio.h”
main()
{intI,a;
for(I=1;I<=10;I++)
{scanf(“%d”,&a);
{if(a%7==0)
printf(“%d”,a);break;}}
if(I==11)
printf(“notexist”);}
3、floataverage(floatarray[],intn)
{intI;
floataver,sum=array[0];
for(I=1;Isum=sum+array[I];
aver=sum/n;
return(aver);}
main()
{floatave,score[10];
intI;
for(I=0;I<10;I++)
scanf("%f",&score[I]);
ave=average(score,10);
printf("%f\n",ave);}
4、#include"stdio.h"
#defineN3
structstudent
{longstu_num;
charsex;
charname[15];
intscore[4];
floataverage;};
main()
{intI,j,index;
floatsum,max;
structstudentstuarr[N];
for(I=0;I{printf("pleaseinput%dstudentinformation:
\n",I+1);
scanf("%ld,%c,%s",&stuarr[I].stu_num,&stuarr[I].sex,stuarr[I].name);
for(j=0;j<4;j++)
scanf("%d",&stuarr[I].score[j]);}
for(I=0;I{sum=0.0;
for(j=0;j<4;j++)
sum+=stuarr[I].score[j];
stuarr[I].average=sum/4.0;}
max=stuarr[0].average;
index=0;
for(I=1;Iif(stuarr[I].average>max)
{max=stuarr[I].average;index=I;}
printf("总平均成绩最高的学生信息是学号=%ld,性别=%c,姓名=%s,平均成绩=%4.1f\n",stuarr[index].stu_num,stuarr[index].sex,stuarr[index].name,stuarr[index].average);}
卷三参考答案
一.单项选择题
1B2B3D4C5D6C7A8C9D10A11C12D13B14D15A16B17D18B19A20C21C
二.判断题1√2Ⅹ3√4Ⅹ5Ⅹ6√7√8√9√10Ⅹ
三、填空
1#号203ch!
=’\n’ch>=’0’&&ch<=’9’4将变量c中的字符显示到屏幕上。
5指针变量p为整型6FILE*fp712
四、读出程序。
1printf("%d,%d",&a,&b);2123s=s+1.0/n4.345135
五.编程序
1.#include"stdio.h"
main()
{longs=0,t=1;
inti;
for(i=1;i<=10;i++)
{t=t*i;
s=s+t;
}
printf("%ld",s);}
2#include"stdio.h"
main()
{inta,ncount=1,sn=0,tn=0;
scanf("%d%d",&a,&n);
while(count<=n)
{tn=tn+a;
sn=sn+tn;
a=a*10;
++count;}
printf("%d",sn);}
3.#include"stdio.h"
main()
{inta[3][3],i,j,s=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(i==j)
s=s+a[i][j];
printf("%d",s);}
4.#include"stdio.h"
main()
{inta[10],max,min;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
max=a[0];
for(i=1;i<10;i++)
if(a[i]>max)
max=a[i];
min=a[0];
for(i=1;i<10;i++)
if(a[i]
min=a[i];
printf("%d%d",max,min);}
5.#include"stdio.h"
main()
{intc;
FILE*fp;
fp=open("write.txt","w");
c=getchar();
while(c!
=’\n’)
{fputc(c,fp);
c=getchar();
}
fclose();}
卷四参考答案
一.单项选择题
1A2B3D4C5C6C7C8D9D10A11D12D13B14A15C16C17A18A19C20A
二.判断题1√2Ⅹ3√4Ⅹ5√6√7√8√9√10√
三、填空
1#号203ch!
=’\n’ch>=’0’&&ch<=’9’4从键盘上输入一个字符。
5指针变量p为整型
6FILE*fp79
四、读出程序。
1printf("%d,",&a);if(a==1)2123s=s+1.0/n4.3455125
五.编程序
1.#include"stdio.h"
main()
{longt=1;
inti;
for(i=1;i<=10;i++)
t=t*i;
printf("%ld",t);}
2#include"stdio.h"
main()
{inti;
for(i=1;i<=100;i++)
{if(i_==0)
continue;
printf("%d",i);
}
3.#include"stdio.h"
main()
{inti,j,a[10];
for(i=1;i<=10;i++)
scanf("%d",&a[i]);
for(i=0;i<9=;i++)
for(j=9;j>i;j--)
if(a[j-1]{t=a[j-1];
a[j-1]=a[j];
a[j]=t;}
for(i=0;i<10;i++)
printf("%d",a[i]);
}
4.#include"stdio.h"
main()
{inta[3][3],i,j,s=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf(“%d”,a[i][j]);
printf(“\n”);
}
}
5.#include"stdio.h"
main()
{intc;
FILE*fp;
fp=open("read.txt","r");
c=fgetc(fp);
while(c!
='\n')
{putchar(c);
c=fgetcr(fp);
}}
fclose();}
卷五参考答案
一、填空
1.floatdouble2.03.ch!
=‘\0’(ch>=‘a’&&ch<=‘z’)||(ch>=‘A’&&ch<=‘Z’)
4.将字符c所包含的值输出到标准的输出设备上。
5.定义一个整型的指针变量p6.07.FILE*fp8.12
二、单项选择题
1、A2、C3、B4、B5、D6、CD7、D8、B9、D10、C11、A.13、D14、B15、A.16、A17、A.18、B19、A20、C21、C22、A
三、读出下列程序,写出程序的运行结果。
1.a=9,b=92.283.f=684.955.8,11
四、将下列程序中不正确的语句改正。
1.longintk;printf(“%ld“,k);}
2.scanf(“%d,%d”,a,b);
3.while(k<=100)
{sum=sum+k;
k++;}
4.intk,a[8];
scanf(“%d”,&a[k]);
5.if(a==1)
五.编程题
1.main()
{longinta,b,sum=0,p;
for(a=1;a<=4;a++)
{p=1;
for(b=1;b<=a;b++)
p*=b;
sum+=p;}
printf(“%ld”,sum);}
2、main()
{inta,b,c,max;
scanf(“%d,%d,%d”,&a,&b,&c);
if(a>b)
max=a;
else
max=b;
if(maxmax=c;
printf(“max=%d”,max);}
3.intstu(inta,intb)
{intc;
c=a*a+b*b;
returnc;}
main()
{intx,y,z;
scanf(“%d,%d”,&x,&y);
z=stu(x,y);
printf(“%d”,z);}
4.main()
{floata[10],b,max,min,sum=0,aver;
for(b=0;b<10;b++)
scanf(“%f”,&a[b]);
max=min=a[0];
for(b=1;b<10;b++)
{if(a[b]>max)
max=a[b];
if(a[b]min=a[b];
sum+=a[b];}
sum=sum-max-min;
aver=sum/8;
printf(“%f,%f,%f”,aver,max,min);}
5.main()
{FILE*fp;
Charch;
fp=fopen(“write.txt”,“w”);
ch=getchar();
while(ch!
=‘\n’)
{fputc(ch,fp);
ch=getchar();}
fclose(fp);
}
卷六参考答案
一.单项选择题
1.C2.C3.C4.CD5.C6.B7.D8.C9.B10.C
11.B12.A13D14.B15.A16.A.17.C18.B19.A.20.C.
二.写出下列程序的运行结果
1.1092.S=93.1,54.195.40
三.判断题
1.对2.不对3.不对4.对5.不对6.对7.不对8.不对9.不对10.不对
四.编程题
1.main()
{intm[20],n[10];
inta,b=0;
for(a=0;a<20;a++)
{scanf(“%d”,&m[a]);
if(a%2==1)
{n[b]=m[a];
b++;}
}
}
2.main()
{intm[10]={3,-30,20,6,77,2,0,-4,-7,99},max,min;
max=min=m[0];
for(a=0;a<10;a++)
{if(m[a]>max)
max=m[a];
if(m[a]min=m[a];
}
printf(“%d,%d”,max,min);
}
3.intstu(inta,intb)
{intc;
c=a*a+b*b;
returnc;}
main()
{intx,y,z;
scanf(“%d,%d”,&x,&y);
z=stu(x,y);
printf(“%d”,z);}
4.main()
{FILE*fp;
Charch;
fp=fopen(“write.txt”,“r”);
ch=fgetc(fp);
while(ch!
=EOF)
{putchar(ch);
ch=fgetc(fp);}
fclose(fp);
}
5.main()
{
intsum1=0,sum2=0,a,b;
for(a=1;a<=100;a++)
if(a%2==0)if(a%2==0)
sum1+=a;
else
sum2+=a;
printf(“%d,%d”,sum1,sum2);
}
卷七参考答案
一、填空题
1.字母、数字、下划线2.12,63.该变量的地址
4.同一类型;不同类型5.++%<=6.注释6.3,1,1,612
二、选择题⑴.B⑵.C⑶.C⑷.C⑸.A⑹.D⑺.A⑻.D⑼.D⑽.B
三、判断题1.对2.不对3.不对4.不对5.对6.不对7.不对8.对9对10不对
四、程序填空题
1.i<=9j=1i,j,i*j“\n”
222.intmax(x,y)
intx,y;sp;intx,y;
{intz;
z=x*x+y*y;
return(z);}
3.structstudent
{charxm[10];
charsex;
intage;
floatscore;}4.1!
+2!
+3!
+4!
+5!
1+2+6+24+120=153
五、阅读程序,写出下列程序段的结果
1.1102.–1013.c1=10,c2=10c1=104.3,5,6,7,95.3
六、编程题
1.main()
{inta[10];
intm,n,t;
for(m=0;m<10;m++)
scanf(“%d”,&a[m]);
for(m=0;m<9;m++)
for(n=0;n<9;n++)
if(a[n]>a[n+1])
{t=a[n];a[n]=a[n+1];a[n+1]=t;}
for(m=0;m<10;m++)
printf(“%d”,a[m]);
}
2.main()
{floatx,y;
scanf(“%f”,&x);
if(x>6)
y=(x+2)/(3*x+1);
else
y=x*x+3*x+1;
printf(“%f”,y);
}
3.main()
{FILE*fp1,*fp2;
charch;
fp1=fopen(“file1.dat”,“r”);
fp2=fopen(“file1.dat”,“w”);
ch=fgetc(fp1);
while(ch!
=EOF)
{
if(ch>=’a’&&ch<=’z’)
ch=ch-32;
fputc(ch,fp2);fputc(ch,fp2);
ch=fgetc(fp1);
}bsp;}
fclose(fp1);
fclose(fp2);
}
卷八参考答案
一、选择题1.D2.C3.A4.C5.B
二、填空题
1.字母、数字、下划线;以字母、下划线开头。
2.10;5。
3.该变量的地址。
4.一组数据类型相同的元素构成的;一组数据类型不同的元素构成的。
5.打开;关闭。
6.字符串长度、取子字符串、字符串替换、字符串复制等。
7.函数;语句。
8.inta;floatb;charc;999.361112
三、判断题1.对2.错3.错4.错5.对6.错7.对8.错9.对10.错
四、程序填空题
1.i<=9j<=9
printf(“%d*%d=%d”,i,j,i*j);
printf(“\n”);i,j,k;
2.intz;
if(x>=y)z=x;
elsez=y;
returnz;
3.charname[20];
charsex;
intage;
floatscore;
4.实现功能:
计算连续数之积,即sum=1*2*3*4*5;运行结果:
sum=120
5.4422946
a++:
先加1,后使用表达式的值;++a表示先加1,后使用表达式的值,它们最后的结果使a加1。
6.45,15
五、编程题
1.编程实现对12个整数进行冒泡排序(要求排成升序)。
Main(