《C语言程序设计》课后习题参考答案.docx
- 文档编号:514154
- 上传时间:2022-10-10
- 格式:DOCX
- 页数:32
- 大小:35.46KB
《C语言程序设计》课后习题参考答案.docx
《《C语言程序设计》课后习题参考答案.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》课后习题参考答案.docx(32页珍藏版)》请在冰豆网上搜索。
《C语言程序设计》课后习题参考答案
高等院校计算机基础教育规划教材《C++程序设计》课后习题参考答案
――武汉大学出版社
习题1参考答案
一、选择题
1、A 2、D
二、填空题
1、BASIC、FORTRAN、AL_GOL60与COBOL
2、8
3、关键字
4、编辑、编译、链接与运行
三、简答题
1、答:
(1)C语言具有结构化得控制语句。
C语言提供了结构化程序所必需得基本控制语句,实现了对逻辑流得有效控制。
(2)C语言具有丰富得数据结构类型.C语言除提供整型、实型、字符型等基本数据类型外,还提供了用基本数据类型构造出得各种复杂得数据结构,如数组、结构、联合等.C语言还提供了与地址密切相关得指针类型。
此外,用户还可以根据需要自定义数据类型.
(3)C语言具有丰富得运算符。
C语言提供了多达34种运算符,丰富得数据类型与丰富得运算符相结合,使C语言得表达力更具灵活性,同时也提高了执行效率.
(4)C语言简洁、紧凑,使用方便、灵活,程序书写自由,有9种控制语句。
(5)C语言既具有高级语言得功能,又具有低级语言得许多功能,通常被称为中级计算机语言。
它既就是成功得系统描述语言,又就是通用得程序设计语言。
(6)C语言与汇编语言相比,可移植性好.
(7)功能强大。
C语言具有低级语言得一些功能,所以,生成目标代码质量高,程序执行效率高。
现在许多系统软件都用C语言来描述,可以大大提高了编程效率.
2、答:
运行一个C语言程序,一般需要经过如下几个步骤:
①上机输入并编辑源程序;②编译源程序;③与库函数连接;④生成可执行目标程序;⑤运行目标程序。
3、答:
(1)操作系统得设计与实现。
C语言就是一种应用非常广泛得结构化高级程序设计语言,既适合编写应用软件,又适合编写系统软件。
(2)工业控制。
由于C语言具有简洁、灵活、代码效率高、能进行位操作等优点,C语言大量应用在单板机、单片机上,以及嵌入式领域等。
(3)图形图像处理。
C语言在内存管理与进程控制方面有丰富得指令,而且它能提供快速运行得代码,因而C语言适合进行图形程序设计。
(4)教学领域.C语言就是理想得结构化程序设计语言,其描述能力强,应用十分广泛,因此广泛应用于教学领域。
许多计算机相关课程,如数据结构及算法大多就是用C语言进行描述得。
习题2参考答案
一、选择题
1、A 2、A3、C
二、填空题
1、基本数据类型、构造数据类型、指针类型、空类型
2、 反斜线“\”
3、枚举数据类型(Enumerated DataType)
三、简答题
1、答:
在C语言中,数据类型可分为:
基本数据类型、构造数据类型、指针类型、空类型四大类.
基本类型就是数据类型得基础,由它可以构造出其她复杂得数据类型。
基本类型得值不可以再分解为其她类型。
C语言得基本类型包括整型、实型(浮点型)、字符型与枚举型。
C语言得构造类型包括数组类型、结构类型与联合类型.构造类型就是根据已定义得一种或多种数据类型用构造得方法定义得。
也就就是说,一个构造类型得值可以分解成若干个"成员"或"元素”.每个”成员"或”元素"都就是一个基本数据类型,或又就是一个构造类型。
指针就是一种特殊而又具重要作用得数据类型,其值表示某个量在内存中得地址。
虽然指针变量得取值类似于整型量,但这就是两种完全不同类型得量,一个就是变量得数值,一个就是变量在内存中存放得地址.
在调用函数时,被调用函数通常应向调用函数返回一个函数值。
返回得函数值具有一定得数据类型,应在函数定义得函数说明中给以说明。
例如,在例1-1中给出得max函数定义中,函数头为"intmax(inta,int b,intc)",其中写在函数名max之前得类型说明符"int”表示该函数得返回值为整型量。
但就是,也有一类函数,被调用后并不向调用函数返回函数值,这种函数可以定义为”空类型”(也称"无值型”),其类型说明符为void。
习题3参考答案
一、选择题
1、C 2、B3、B4、D
二、填空题
1、4字节,1字节,4字节,8字节
2、20
3、6 60
4、2625
5、256 22
三、简答题
1、 C语言得基本类型包括整型、实型(浮点型)、字符型与枚举型。
2、定义符号常量与定义变量都要指定数据类型,系统将为其分配一定得存储空间。
其不同之处在于:
定义符号常量必须给出常量值,且以后不能修改本常量得值;而变量可以在定义变量得同时赋初值,以后可以修改该变量。
3、常量就就是在程序得运行过程中该量就是不可修改得量;变量在程序得运行过程中允许对该变量得值进行修改。
四、程序题
1。
程序运行结果为:
11
10
10
11
-10
-11
2.程序运行结果为:
3,12,4,4
习题4参考答案
一、选择题
1.C2。
D 3。
C4。
C5。
B6.D7。
B8。
C9。
B
二、填空题
1.!
&& ||
2。
0 1
3.1
4.4
5.-1
三、编程题
1.给出等级成绩′A′、′B′、′C′、′D′、′E′,假设,90分以上为′A′,80~89分为′B′,70~79分为′C′,60~69分为′D′,60分以下为′E′,输入一个等级成绩,问属于哪一个分数段。
参考代码如下:
main()
{
intscore,m,n;
char grade;
n=1;
while(n)
{ printf("Pleaseenterthescore:
");
scanf(”%d",&score);
if((score〉100)||(score〈0))
ﻩprintf("\nWrong!
\n");
elsen=0;
}
if(score==100) m=9;
elsem=(score-score%10)/10;
switch(m)
{ case 0:
case1:
case2:
case 3:
case4:
case5:
grade='E’;break;
case6:
grade='D’;break;
case 7:
grade='C’;break;
case8:
grade='B';break;
case9:
grade=’A’;
}
printf("score=%d,grade=%c\n”,score,grade);
}
2。
编程序打印出以下图形:
1
121
12321
…
12345678987654321
参考代码如下:
#include〈stdio、h>
main()
{
inti,j;
for(i=1;i〈=9;i++)
{
for(j=1;j〈=i;j++)
printf("%d",j);
for(j=i-1;j>0;j—-)
printf(”%d",j);
printf(”\n");
}
}
3。
用1元5角钱人民币兑换5分、2分与1分得硬币(每一种都要有)共100枚,问共有几种兑换方案?
每种方案各换多少枚?
[提示:
设5分、2分与1分得硬币各换x,y,z枚,依题意有x+y+z=100,5x+2y+z=150,由于每一种硬币都要有,故5分硬币最多可换28枚,2分硬币最多可换73枚,1分硬币可换100-x—y枚,x,y,z只需满足第2个方程即可打印,对每一组满足条件得x,y,z值,用计数器计数即可得到兑换方案得数目。
]
参考代码如下:
main()
{
intx,y,z,s=0;
for(x=1;x<=28;x++)
for(y=1;y<=73;y++)
for(z=1;z<=148;z++)
{
if(150==5*x+2*y+z)
if(100==x+y+z)
ﻩ{
ﻩ printf("x=%d y=%d z=%d\n",x,y,z);
ﻩs++;
}
}
printf(”s=%d\n”,s);
}
4。
编程:
从键盘输入正整数n,输出1+(1+2)+(1+2+3)+……+(1+2+3+…+n)。
参考代码如下:
#include〈stdio、h>
main()
{
intn,i,s=0,t=0;
printf("Pleaseenter n=”);
scanf("%d”,&n);
for(i=1;i<=n;i++)
{
t=t+i;
s=s+t;
}
printf("s=%d\n”,s);
}
习题5参考答案
一、选择题
1。
B 2。
A3.A4.D 5.C6.B 7.A8.A
二、填空题
1.按行得顺序依次存放得
2。
0
3.4
4.6
三、编程题
1。
有一个多项式:
Pn(x)=a0xn+a1xn—1+…+an
它们得系数a0,a1,…,an存放在一个一维数组中。
编制程序,输入系数与x得值,计算并输出Pn(x).
参考代码如下:
#defineN4
main()
{inta[N+1],p,x,i;
printf("Pleaseentera[%d],、、、,a[0]:
\n",N);
for(i=N;i〉=0;i-—)
scanf(”%d”,&a[i]);
printf(”Please enterx=\n");
scanf("%d",&x);
p=a[N];
for(i=N;i〉0;i——)
{
p=p*x+a[i—1];
}
printf("Pn(x)=%d\n",p);
}
2.打印以下得杨辉三角形(要求打印6行)。
1
11
121
1331
14641
参考代码如下:
#include
#include<conio、h>
#defineN6
main()
{
int i,j,max[N][N];
for(i=0;i { for(j=0;j {max[i][0]=1; max[i][i]=1; } } for(i=2;i〈N;i++) { for(j=1;j<i;j++) { max[i][j]=max[i-1][j-1]+max[i-1][j]; } } for(i=0;i<N;i++) { for(j=0;j<=i;j++) { printf("%d",max[i][j]);} printf(”\n”); } } 3.编写程序,将一个数插入到有序得数列中去,插入后得数列仍然有序。 参考代码如下: /*假设原有5个数*/ #include〈stdio、h> main() {int a[6]={1,2,6,10,15}; intn,i,j; printf("Pleaseentertheinsertnumber: ”); scanf(”%d",&n); for(i=0;i<5;i++) if(n>a[i]) continue; else break; for(j=4;j〉=i;j—-) a[j+1]=a[j]; a[i]=n; for(i=0;i<6;i++) printf("%d,",a[i]); printf("\n"); } 4。 编写程序,在有序得数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计 语言程序设计 课后 习题 参考答案