C语言程序(习题解答)
第 1 章习题解答 ? 学习要点
? 完成主教材中的全部习题。
? 熟悉C语言程序设计考试的各种题型:选择题、程序填空题、阅读程序写出运
行结果题、编程题等。
? 注意综合运用数据类型、程序结构和典型算法。
1.1 习题1参考答案和解释
1.简答题
(1)冯・诺依曼计算机模型有哪几个基本组成部分?各部分的主要功能是什么?
【参考答案】冯・诺依曼计算机模型是由运算器、控制器、存储器、输入设备、输出设
备五大功能部件组成的。
运算器又称算术逻辑部件,简称ALU,是计算机用来进行数据运算的部件。数据运算
包括算术运算和逻辑运算。
控制器是计算机的指挥系统,计算机就是在控制器的控制下有条不紊地协调工作的。
存储器是计算机中具有记忆能力的部件,用来存放程序或数据。输入设备是用来输
入程序和数据的部件。
输出设备正好与输入设备相反,是用来输出结果的部件。
(2)简述计算机的工作原理。
【参考答案】计算机的工作原理可简单地概括为:各种各样的信息,通过输入设备,进入计算机的存储器,然后送到运算器,运算完毕把结果送到存储器存储,最后通过输出
设备显示出来。整个过程由控制器进行控制。
(3)计算机软件系统分为哪几类?
【参考答案】软件内容丰富,种类繁多,通常根据软件用途将其分为两大类:系统
C语言程序设计教程习题解答与实验指导 2
软件和应用软件。
系统软件是指管理、监控、维护计算机正常工作和供用户操作使用计算机的软件。这
类软件一般与具体应用无关,是在系统一级上提供的服务。系统软件主要包括以下两类:
一类是面向计算机本身的软件,如操作系统、诊断程序等。另一类是面向用户的软件,如
各种语言处理程序(像BC、VC等)、实用程序、字处理程序等。
应用软件是指某特定领域中的某种具体应用,供最终用户使用的软件,它必须在操作
系统的基础上运行。
(4)什么叫软件?说明软件与硬件之间的相互关系。
【参考答案】软件是指计算机程序及有关程序的技术文档资料。两者中更为重要的
是程序,它是计算机进行数据处理的指令集,也是计算机正常工作最重要的因素。在不太
严格情况下,认为程序就是软件。硬件与软件是相互依存的,软件依赖于硬件的物质条件,而硬件则需在软件支配下才能有效地工作。在现代,软件技术变得越来越重要,有了软件,用户面对的将不再是物理计算机,而是一台抽象的逻辑计算机,人们可以不必了解计算机
本身,可以采用更加方便、更加有效地手段使用计算机。从这个意义上说,软件是用户与
机器的接口。
2.填空题
(1)运算器通常又称为ALU,是计算机用来进行数据运算的部件。数据运算包括
算术运算和逻辑运算。
(2)目前计算机最常用的输入设备有键盘和鼠标。(3)计算机的CPU主
要是由控制器和运算器构成的。(4)十进制的基数为 10 ,二进制的基数
为 2 。
(5)在C语言中,表示一个八进制数用前缀 0 标记,表示一个十六进制数用前
缀 0x或0X 标记。
(6)机器数的三种表示形式是原码、反码和补码。
(7)十进制数23和�C23的8位二进制补码分别是 00010111 和 11101001 。(8)用8位二进制码表示有符号的定点整数,可表示的最大整数是 127 ,最小整数是�C128 。
3.选择题
(1)计算机工作时,内存储器用来存储()。
A.程序和指令 B.数据和信号
C.程序和数据 D.ASCII码和数据【答案】 C。
【解释】计算机内存按所存信息的类别一般分为两大类,即程序和数据。程序是用
来控制计算机完成某项任务的指令的集合,而数据是程序运行处理的对象。A只说明是程序。B和D只说明是数据。因为信号和ASCII码均为数据,所以选C。
(2)语言编译程序若按软件分类则是属于()。
第1章习题解答
3
A.系统软件 C.操作系统 B.应用软件
D.数据库管理系统
【答案】 A。
【解释】软件根据其用途分为两大类:系统软件和应用软件。各种语言的编译程序
都是属于系统软件。C和D都是具体的软件,均属于系统软件。所以选A。
(3)在计算机内一切信息的存取、传输和处理都是以()形式进行的。
A.ASCII码 B.二进制 C.十进制 D.十六进制【答案】 B。
【解释】计算机只能识别二进制数。所有的信息(包括指令和数据)都是以二进制
形式来存放,也是以二进制形式来进行处理的。所以选B。
(4)十进制数35转换成二进制数是()。
A.100011 B.0100011 C.100110 【答案】 A。
D.100101
【解释】 (35)10 = (32)10 + (3)10 = (100000)2 + (11)2 = (100011)2,所以选A。(5)十进制数268转换成十六进制数是()。
A.10B B.10C C.10D D.10E 【答案】 B。
【解释】 (268)10 = (256)10 + (12)10 = (100000000)2 + (1100)2 = (1 0000 1100)2 = (10C)16,所以选B。
(6)下列无符号整数中最大的数是()。
A.(10100011)2 B.(FF)16 C.(237)8 D.789 【答案】 B。
【解释】 (10100011)2 = (163)10 ,(FF)16 = (65535)10 ,(237)8 = (183)10 ,
所以选B。(7)与二进制数0.1等值的十六进制小数为()。
A.(0.2)16 B.(0.1)16 C.(0.4)16 【答案】 D。
【解释】 (0.1)2 = (0.1000)10 = (0.8)16 ,所以选D。(8)将250与5进行按位
与的结果是()。
D.(0.8)16
A.0 B.1 C.(FF)16 D.(F0)16 【答案】 A。【解释】
(250)10 & (5)10 = (11111010)2 & (00000101)2 = (00000000)2 = (0)10,所以选A。
(9)将(AF)16与(78)16进行按位异或的结果是()。 A.(D7)16 B.(28)16 C.(D8)16 D.(27)16 【答案】 A。【解释】 (AF)16 ^ (78)16 = (10101111)2c语言程序设计教材答案
^ (01111000)2 = (11010111)2 = (D7)16,所以选A。(10)将(717)8进行按位求反的
结果是()。
A.(110001)2 B.(060)8 C.(60)10 D.都不正确
【答案】 B。
C语言程序设计教程习题解答与实验指导 4
【解释】 ~ (717)10 = ~ (111001111)2 = (000110000)2 = (060)8,所以选B。
(11)将二进制数10110010的最高位求反的操作是()。
A.与(7F)16按位与
C.与(80)10按位或
【答案】 A。
【解释】 A:(10110010)2 & (7F)16 = (10110010)2 & (01111111)2 = (00110010)2
B:(10110010)2 ^ (7F)16 = (10110010)2 ^ (01111111)2 = (11001101)2 C:(10110010)2 | (80)16 = (10110010)2 | (10000000)2 = (10110010)2
所以选A。严格来讲,应当是与(80)16按位异或为好。
(12)将二进制数10110010的高4位求反,低4位不变的操作是()。 A.与
(0F)16按位与
C.与(0F)10按位异或
【答案】 B。
B.与(F0)16按位异或 D.与(0F)16按位或 B.与(7F)16按位异或 D.都不正确
【解释】高4位求反,可以将高4位与(1111)2进行按位异或得到,低4位不变,可将低4位与(0000)2进行按位异或得到,故可与(11110000)2进行按位异或来实现题目的
要求。所以选择B。其他均不正确。
1.2 习题2参考答案和解释
1.简答题
(1)C语言有哪些特点?【参考答案】
a)简洁紧凑、灵活方便 b)运算符丰富 c)数据结构丰富
d)C语言是结构式语言
e)C语言的语法限制不太严格、程序设计自由度大 f)C语言允许直接访问物理地址,可以直接对硬件进行操作 g)C语言程序生成代码质量高,程序执行效率高 h)C语言适
用范围大,可移植性好 i)具有预处理功能
j)具有递归功能
(2)C语言的主要应用有哪些?【参考答案】
a)许多系统软件和大型应用软件都是用C语言编写的,如UNIX,Linux等操作系统。b)在软件需要对硬件进行操作的场合,用C语言明显优于其他高级语言。例如,各种硬
件设备的驱动程序(像显卡驱动程序、打印机驱动程序等)一般都是用C语言编
第1章习题解答
5
写的。
c)在图形、图像及动画处理方面,C语言具有绝对优势,特别是游戏软件的开发主要就是使用C语言。
d)随着计算机网络飞速发展,特别是Internet的出现,计算机通信就显得尤其重要,而通信程序的编制首选就是C语言。
e)C语言适用于多种操作系统,像Windows、UNIX、Linux等绝大多数操作系统都支
持C语言,其他高级语言未必能得到支持,所以在某个特定操作系统下运行的软件用C语
言编制是最佳选择。
(3)列举几种程序设计语言。
【参考答案】 C语言、Java语言、Pascal语言、BASIC语言、LOGO语言等。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论