当前位置:
文档之家› 《C语言程序设计》课后习题参考答案
《C语言程序设计》课后习题参考答案
高等院校计算机基础教育规划教材《
――武汉大学出版社
习题
一、选择题
1.A 2. D
二、填空题
1.BASIC、FORTRAN、AL_GOL60和COBOL
2. 8
3.关键字
4.编辑、编译、链接和运行
三、简答题
1.答:
(1)C语言具有结构化的控制语句。C语言提供了结构化程序所必需的基本控制语句,实现了对逻辑流的有效控制。
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值,用计数器计数即可得到兑换方案的数目。]
switch(m)
{case0:case1:case 2:case3:case 4:case 5:grade='E';break;
case6:grade='D';break;
case 7:grade='C';break;
case8:grade='B';break;
case 9:grade='A';
}
1. A 2.A3.C
二、填空题
1.基本数据类型、构造数据类型、指针类型、空类型
2.反斜线“\”
3.枚举数据类型(Enumerated Data Type)
三、简答题
1.答:
在C语言中,数据类型可分为:基本数据类型、构造数据类型、指针类型、空类型四大类。
基本类型是数据类型的基础,由它可以构造出其他复杂的数据类型。基本类型的值不可以再分解为其他类型。C语言的基本类型包括整型、实型(浮点型)、字符型和枚举型。
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("Pleaseentern=");
scanf("%d",&n);
}
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()
a[i]=n;
for(i=0;i<6;i++)
printf("%d,",a[i]);
printf("\n");
}
4.编写程序,在有序的数列中查找某数,若该数在此数列中,则输出它所在的位置,否则输出nofound。
参考代码如下:
#include <stdio.h>
main()
{inta[10]={1,2,3,4,5,6,7,8,9,10};
p=a[N];
for(i=N;i>0;i--)
{
p=p*x+a[i-1];
}
printf("Pn(x)=%d\n",p);
}
2.打印以下的杨辉三角形(要求打印1
14641
参考代码如下:
#include<stdio.h>
#include<conio.h>
#defineN 6
main()
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;
chargrade;
C语言的构造类型包括数组类型、结构类型和联合类型。构造类型是根据已定义的一种或多种数据类型用构造的方法定义的。也就是说,一个构造类型的值可以分解成若干个"成员"或"元素"。每个"成员"或"元素"都是一个基本数据类型,或又是一个构造类型。
指针是一种特殊而又具重要作用的数据类型,其值表示某个量在内存中的地址。虽然指针变量的取值类似于整型量,但这是两种完全不同类型的量,一个是变量的数值,一个是变量在内存中存放的地址。
参考代码如下:
#defineN4
main()
{inta[N+1],p,x,i;
printf("Please entera[%d],...,a[0]:\n",N);
for(i=N;i>=0;i--)
scanf("%d",&a[i]);
printf("Please enterx=\n");
scanf("%d",&x);
n=1;
while(n)
{printf("Pleaseenterthescore:");
scanf("%d",&score);
if((score>100)||(score<0))
ﻩprintf("\n Wrong!\n");
else n=0;
}
if(score==100)m=9;
elsem=(score-score%10)/10;
3.常量就是在程序的运行过程中该量是不可修改的量;变量在程序的运行过程中允许对该变量的值进行修改。
四、程序题
1.程序运行结果为:
11
10
10
11
-10
-11
2.程序运行结果为:
3,12,4,4
习题
一、选择题
1.C 2.D3.C 4.C 5.B6.D7.B8.C9.B
二、填空题
1.! && ||
2.0 1
在调用函数时,被调用函数通常应向调用函数返回一个函数值。返回的函数值具有一定的数据类型,应在函数定义的函数说明中给以说明。例如,在例1-1中给出的max函数定义中,函数头为"int max(int a,int b,int c)",其中写在函数名max之前的类型说明符"int"表示该函数的返回值为整型量。但是,也有一类函数,被调用后并不向调用函数返回函数值,这种函数可以定义为"空类型"(也称"无值型"),其类型说明符为void。
for(i=1;i<=n;i++)
{
t=t+i;
s=s+t;
}
printf("s=%d\n",s);
}
习题
一、选择题
1.B2.A 3.A4.D5.C6.B7.A 8.A
二、填空题
1.按行的顺序依次存放的
2.0
3.4
4.6
三、编程题
1.有一个多项式:Pn(x)=a0xn+a1xn-1+…+an
它们的系数a0,a1,…,an存放在一个一维数组中。编制程序,输入系数和x的值,计算并输出Pn(x)。
习题
一、选择题
1.C 2.B 3.B 4.D
二、填空题
1. 4字节,1字节,4字节,8字节
2.20
3.660
4. 2625
5.256 22
三、简答题
1.C语言的基本类型包括整型、实型(浮点型)、字符型和枚举型。
2.定义符号常量和定义变量都要指定数据类型,系统将为其分配一定的存储空间。其不同之处在于:定义符号常量必须给出常量值,且以后不能修改本常量的值;而变量可以在定义变量的同时赋初值,以后可以修改该变量。
{
inti,j,max[N][N];
for(i=0;i<N;i++)
{
for(j=0;j<N;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]; }
{ inta[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];
printf("score=%d,grade=%c\n",score,grade);