高等院校计算机基础教育规划教材《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.A
3.C
二、填空题
1.基本数据类型、构造数据类型、指针类型、空类型
2.反斜线“ \ ”
3.枚举数据类型(Enumerated Data Type)
三、简答题
1.答:
在C语言中,数据类型可分为:基本数据类型、构造数据类型、指针类型、空类型四大类。
基本类型是数据类型的基础,由它可以构造出其他复杂的数据类型。基本类型的值不可以再分解为其他类型。C语言的基本类型包括整型、实型(浮点型)、字符型和枚举型。
C语言的构造类型包括数组类型、结构类型和联合类型。构造类型是根据已定义的一种或多种数据类型用构造的方法定义的。也就是说,一个构造类型的值可以分解成若干个”成员”或”元素”。每个”成员”或”元素”都是一个基本数据类型,或又是一个构造类型。
指针是一种特殊而又具重要作用的数据类型,其值表示某个量在内存中的地址。虽然指针变量的取值类似于整型量,但这是两种完全不同类型的量,一个是变量的数值,一个是变量在内存中存放的地址。
在调用函数时,被调用函数通常应向调用函数返回一个函数值。返回的函数值具有一定的数据类型,应在函数定义的函数说明中给以说明。例如,在例1-1中给出的max函数定义中,函数头为"int max(int a, int b, int c)",其中写在函数名max之前的类型说明符”int" 表示该函数的返回值为整型量。但是,也有一类函数,被调用后并不向调用函数返回函数值,这种函数可以定义为”空类型”(也称”无值型,其类型说明符为VOido
习题3参考答案
一、选择题
1.  C
2.B
3.B
4.D
二、填空题
1.4字节,1字节,4字节,8字节
2.20
3.6 60
4.26 25
5.256 22
三、简答题
1.C语言的基本类型包括整型、实型(浮点型)、字符型和枚举型。
2.定义符号常量和定义变量都要指定数据类型,系统将为其分配一定的存储空间。其不同之处在于:定义符号常量必须给出常量值,且以后不能修改本常量的值;而变量可以在定义变量的同时赋初值,以后可以修改该变量。
3.常量就是在程序的运行过程中该量是不可修改的量;变量在程序的运行过程中允许对该变量的值进行修改。
四、程序题
1.程序运行结果为:
11
10
10
11
-10
-11
2.程序运行结果为:
3,12, 4, 4
习题4参考答案
一、选择题
1.C
2. D
3. C
4. C
5. B
6. D
7. B
8. C
9. 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()
int score,m,n;
char grade;
n=l;
while(n)
( printf("Please enter the score:");
scanf("%d",&score);
if((score> 100)||(score<0))
printf("\n Wrong! \n");
else n=0;
}
if(score==100) m=9;
else m=(score-score% 10)/10;
switch(m)
( case 0:case 1:case 2:case 3:case 4:case 5:grade='E';break;
case 6: grade='D' ;break;
case 7:grade='C';break;
case 8:grade='B';break;
case 9:grade='A';
}
printf("score=%d,grade=%c\n",score,grade);
}
c语言程序分析题及答案2.编程序打印出以下图形:
1
121
12321
12345678987654321
参考代码如下:
#include<stdio.h>
mainQ
(
int i,j;
for(i=l;i<=9;i++)
(
for(j=l;j<=i;j++)
printf("%d",j);
for(j=i-l;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值,用计数器计数即可得到兑换方案的数目o ]
参考代码如下:
mainQ
{
int x,y,z,s=0;
for(x= 1 ;x<=28 ;x++)
for(y= 1 ;y<=7 3 ;y++)
for(z= 1 ;z<= 148 ;z++)
{
if(150==5*x+2*y+z)
if(100==x+y+z)
{
printf(u x=%d y=%d z=%d\n”,x,y,z);
s++;
)
)
printf(”s=%d\n”,s);
}
4.编程:从键盘输入正整数n,输出1+(1+2)+(1+2+3)+……+(l+2+3+・・・+n)。
参考代码如下:
#include <stdio.h>
mainQ
{
int n,i,s=0,t=0;
printf("Please enter n=");
scanf("%d",&n);
for(i= 1 ;i<=n;i++)
{
t=t+i;
s=s+t;
}
printf("s=%d\n",s);
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。