C语言习题集答案1.docx
《C语言习题集答案1.docx》由会员分享,可在线阅读,更多相关《C语言习题集答案1.docx(23页珍藏版)》请在冰豆网上搜索。
![C语言习题集答案1.docx](https://file1.bdocx.com/fileroot1/2023-5/21/2acf91ec-5d65-4995-b6c7-afc41eb0b4cb/2acf91ec-5d65-4995-b6c7-afc41eb0b4cb1.gif)
C语言习题集答案1
C语言程序设计习题集答案
第一单元程序设计和C语言
一、选择题
1.A2.B3.C4.C5.D6.A7.C8.D9.A10.D11.A
12.D13.BC14..B15.B
二、填空
1.函数首部、函数体
2.主函数、main函数
3.0
4.赋值、逗号、18、18、18、3
5.浮点型、指数型
6.逗号
第二单元顺序程序设计
一、选择题
CAADCCC
二、读程序写结果
1.17
2.2080
3.X=3.600000,i=3
4.2,0
5.X=2,y=%d
6.6,0,6,102
7.2,1
2,2
三、填空
1.字符整数
2.左右
3.格式说明普通字符
4.
(1)floatarea,girth;
(2)l*w
(3)2*(l+w)
(4)printf(“area=%f,girth=%f\n”,area,girth);
5.
(1)#include“stdio.h”
(2)intn
(3)getchar()
(4)c-‘0’或者c-48
(5)“%c,%d\n”
第三单元分支程序设计
一、选择题
1.C
2.EB
3.D
4.C
5.D
6.C
7.D
8.C
二、读程序写结果
1.1,0,3
2.200
3.01
4.170
5.ItisB.ItisC.other.
6.a=2,b=1
三、填空
1.0
2.1
3.
(1)y=2*x+3
(2)elseif(x==0)
(3)else
4.
(1)#include“math.h”
(2)floata,b,c,s,s1
(3)(a+b>c)&&(b+c>a)&&(c+a>b)
(4)sqrt(s1)
(5)else
5.
(1)b!
=0
(2)c!
=0
(3)d>=0
(4)(2*a)
(5)(2*a)
(6)pi=sqrt(-d)/(2*a)
6.
(1)switch(c)
(2)break
(3)break
(4)default
第四单元循环程序设计
一、选择题
DABCAD
二、读程序写结果
1.1
2
3
2.i=0,s=1
i=1,s=4
i=2,s=9
i=3,s=16
3.m=4
m=10
m=22
m=46
m=94
4.
(1)quert
(2)rvfsu
(3)quert?
5.<><><>#
6.a=5
7.2581114
8.(0,0),
(1,0),(1,1),
(2,0),(2,1),(2,2),
(3,0),(3,1),(3,2),(3,3),
9.******
******
******
******
******
******
10.111317192329
三、填空
1.switch、循环
2.
(1)s=0
(2)i=i+2
3.
(1)x<=9
(2)y<=9
(3)z=0
(4)z<=9
(5)x*100+y*10+z
4.
(1)n
(2)Tn+a
(3)Sn+Tn
(4)count++
5.
(1)10
(2)Sn+hn*2
(3)hn/2
6.
(1)3
(2)2*i
(3)printf(“\n”);
(4)i
(5)4-2*i
7.
(1)station
(2)i+1
(3)total+2
第五单元数组
一、选择题
1.C2.D3.D4.A5.C6.D7.A
二、读程序写结果
1.1022571320
2.2.203.304.405.506.601.10
3.k=24
4.sum=6
5.
0
10
210
3210
6.-5
7.“BBB”
8.没有输入数据
三、填空
1.类型
2.
(1)inti,p
(2)p=i
(3)printf(“%d\n”,p);
3.
(1)#include“math.h”
(2)a[i]/20
(3)s=fabs(a[i]-pjz);
(4)printf(“%f,%f\n”,pjz,t);
4.
(1)x<4
(2)y<3
(3)z==3
5.
(1)N/2
(2)a[N-1-k]
(3)a[N-1-k]
(4)k6.
(1)str[i]!
=’\0’
(2)k
(3)k
7.
(1)s[i]
(2)strcmp(s[i],str)
8.
(1)i*3+j*5
(2)break
(3)s!
=a[k]
(4)k9.
(1)&a[i][j]
(2)printf(“\n”)
(3)a[i][0]
(4)a[k][j](5)i,j,a[i][j]
第六单元函数
一、选择题
1.A2.A3.A4.B5.D6.B7.B8.C9.B10.C11.B12.B13.A
二、读程序写结果
1.Thefinalresultis:
4
2.125
3.9
4.0,0
0,2
5.8,17
6.56
7.31
8.57
9.26
10.15
11.4
三、填空
1.
(1)i(2)pp=0;
(3)sum+prime(a[i]);
2.
(1)strlen(str);
(2)str[i]>=’A’&&str[i]<=’Z’||str[i]>=’a’&&str[i]<=’z’
(3)str[i]>=’0’&&str[i]<=’9’
(4)str[i]==’’
3.
(1)pn(x,n);
(2)1;
(3)x;
(4)((2*n-1)*x*pn(x,n-1)-(n-1)*pn(x,n-2))/n;
4.x
第七单元指针
一、选择题
1、C
2、D
3、D
4、D
5、D
6、C
7、D
8、A
9、B
10、D
11、D
12、A
13、C
14、C
15、C
16、B
17、A
18、B
19、B
20、B
21、B(与18题同了)
22、B
23、D
24、B
25、B
26、C
27、A
28、A
29、C
30、C
31、A
32、B
33、B
34、D(与第3题重复了)
35、C
36、B
二、读程序题,写出程序运行的结果。
1、
8,5
5,8
2、
7,1
3、
y=19
4、
15
5、
26
6、
3,7,3
7、
135246
8、
BCD
CD
D
9、
4
10、
7
11、
abc+abc=defdef
12、
24
13、
17
14、
0008
15、
CEG
16、
BABBAB
17、
GFEDCB
18、
26(与第5题相同了)
19、
00
20、
120
21、
9911
22、
0000
23、
35745
24、
5678901234
25、(与第2题重复)
71
26、
6
27、
-5,-12,-7
三、填空题
1.
(1)*max=i
(2)*min=i
(3)a,&max,&min
2.
(1)*(p1+i)==*(p2+i)
(2)return(0);
(3)*(p1+i)-*(p2+i)
(4)str1;
(5)str2;
3.
(1)*(psco+5*i+j)
(2)average
(3)*(psco+5*i)
(4)sum/4
(5)*(psco+5*i+j)<60
(6)*(psco+5*i+k)
(7)*(pave+i)
(8)*(psco+5*i+k)
4.
(1)str[i]!
=’\0’
(2)e10*10
(3)digit+(*(pstr+i-1-k)-48)*e10
(4)ndigit++;
第八单元结构体和共用体
一、选择题
1、A
2、A
3、C
4、A
5、D
6、D
7、B
8、C
9、C
10、B
11、B
12、C
13、B
14、C
15、B
16、C
二、读程序题,写出程序运行的结果。
1、6
2、Zhao
3、04515
4、51,60,21
5、0
6、270.00
7、40
8、80
三、填空题
1.先声明结构体类型再定义变量、在声明类型的同时定义变量、直接定义结构体类型变量
2.
(1)x.re+y.re
(2)x.im+y.im
(3)x.re*y.re-x.im*y.im
3.
(1)structstudent
(2)b[i].total=0
(3)b[i].total+b[I].score[j]
(4)b[i].ave=b[i].total/3
(5)floats1,s1,s2
4.
(1)structstudent*b
(2)i=0;i(3)b->total=0
(4)b->total+b->score[j]
(5)p=a
(6)p=a;p5.
(1)floatamax,s0
(2)p=stu;p(3)amax=stu[0].ave,i=1
(4)p=stu+temp
6.
(1)staticstructstudent
(2)p[i]=&stu[i]
(3)p[j]->score>p[i]->score
(4)i=0;i<4;i++
第九单元文件
一、选择题
CBBADC
二、读程序写结果
1.
1.fopen(“f1.dat”,”w”)
2.ch,fp
3.fclose(fp)
2.
1.“r”
2.“w”
3.c!
=’#’
4.fclose(fp1);fclose(fp2);
模拟试卷一
一、选择题(每题2分,共20分)
1、D2、D3、A4、C5、D6、A7、A8、A9、C10、B
二、读程序写结果(每题3分,共21分)
1、9,11,9,10
2、>=60<60error
3、9,3
4、45
5、*+++*
+*+*+
++*++
+*+*+
*+++*
6、7,14
7、hina
ina
na
三、程序填空(每空2分,共20分)
1、
(1)N/2
(2)a[N-1-k](3)k2、
(1)pn(x,n)
(2)1(3)x(4)((2*n-1)*x*pn(x,n-1)-(n-1)*pn(x,n-2))/n
3、
(1)*max=i
(2)*min=i(3)a,&max,&min
四、填空题(每空1分,共10分)
1、2
2、10
3、指向函数的指针,该函数返回一个整型值
4、(a+b)/2+pow(x,y)
5、3
6、ASCII码文件二进制文件
7、p1->next=p;p->next=p2;
五、编程题(第1题9分,第2、3题各10分,共29分)
1、定义1分,输出3分,处理5分
main()
{inti,i1,i2,i3;
for(i=100;i<1000;i++)
{i1=i/100;
i2=i/10%10;
i3=i%10;
if(i==i1*i1*i1+i2*i2*i2+i3*i3*i3)
printf("%5d",i);
}
}
2、定义1分,输入2分,输出3分,处理4分
main()
{inta[5][6],b[5]={0},i,j;
for(i=0;i<5;i++)
for(j=0;j<6;j++)
scanf("%d",&a[i][j]);
for(i=0;i<5;i++)
for(j=0;j<6;j++)
b[i]=b[i]+a[i][j];
for(i=0;i<5;i++)
{for(j=0;j<6;j++)
printf("%5d",a[i][j]);
printf("%10d\n",b[i]);
}
}
3、输入1分,输出1分,两个函数各3分,函数调用2分
intprime(intm)
{inti;
for(i=2;iif(m%i==0)return0;
return1;
}
voidsort(inta[],intn)
{inti,j,t;
for(i=0;ifor(j=i+1;jif(a[i]>a[j])
{t=a[i];a[i]=a[j];a[j]=t;}
}
main()
{inta[20],b[20],i,j,n=0;
for(i=0;i<20;i++)
scanf("%d",&a[i]);
for(i=0;i<20;i++)
if(prime(a[i])!
=0)
{b[n]=a[i];n++;}
sort(b,n);
for(i=0;iprintf("%5d",b[i]);
}
模拟试卷二
一、选择题(每题2分,共20分)
1、C2、D3、A4、B5、C6、B7、C8、A9、B10、A
二、读程序写结果(每题3分,共21分)
1.####
2.a=7,b=7
3.*#*#*#%
4.0,0,0,5,
5.8,5,5,8
6.4,6,8,
7.program
rogram
三、程序填空(每空2分,共20分)
1、
(1)N-1
(2)N-1-i(3)strcmp(a[j],a[j+1])>0
2、
(1)x;
(2)gcd(x-y,y);(3)gcd(y,x);
3、
(1)intc[7];
(2)break;(3)c[count]=a[i];(4)i四、填空题(每空1分,共10分)
1.x*x-exp(5)
2、0
3、赋值逗号
4、switch
5、指向一个有5个整型元素的一维数组的指针变量
6、ASCII码文件二进制文件
7、p->next=head->next;head=p;
五、编程题(第1题9分,第2、3题各10分,共29分)
2、定义1分,输出3分,处理5分
#include
#include
voidmain()
{inti,j,k,n=0;
for(i=201;i<=300;i=i+2)
{k=sqrt(i);
for(j=2;j<=k;j++)
if(i%j==0)break;
if(j>k)
{printf("%5d",i);
n++;
}
if(n%10==0)printf("\n");
}
}
2、定义1分,输入2分,输出3分,处理4分
main()
{inta[3][20],b[3],i,j;
for(i=0;i<3;i++)
for(j=0;j<20;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
{b[i]=a[i][0];
for(j=1;j<20;j++)
if(b[i]}
for(i=0;i<3;i++)
{for(j=0;j<20;j++)
printf("%5d",a[i][j]);
printf("max=%5d\n",b[i]);
}
}
3、子函数定义6分,main()输入1分,输出1分,函数调用2分
#defineN20
voidf(inta[],intn)
{inti,t,j=0,min=a[0];
for(i=1;i<=n-1;i++)if(a[i]t=a[n-1];a[n-1]=a[j];a[j]=t;
}
main()
{inta[N],i;
for(i=0;i<20;i++)
scanf("%d",&a[i]);
f(a,N);
for(i=0;iprintf("%5d",a[i]);
}