C语言课后习题答案(最终)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第0章习题
1. 将下列十进制数分别转化为二进制数、八进制数和十六进制数:
(1)128 (2)511 (3)1024 (4)65535 (5)1048575
答:
(1)10000000、200、80
(2)111111111、777、1FF
(3)10000000000、2000、400
(4)1111111111111111、177777、FFFF
(5)11111111111111111111、3777777、FFFFF
2. 将下列二进制数转化为十进制数和十六进制数:
(1)1100110101B (2)101101.1011B
答:
(1)821、335
(2)45.6875、2D.B
3. 写出下列数的原码、反码、补码:15、-20、-27/32
答:
(1)00001111、00000000、00001111
(2)10010100、11101011、11101100
(3)1.1101100、1.0010011、1.0010100
4. 16位无符号定点整数的数值表示范围为多少?8位补码的表示范围是多少?16位补码的表示范围是多少?
答:
0~65535、-128~127、-32768~32767
5.1968年Dijkstra提出结构化程序设计的思想的原因是什么?简要回答结构化程序设计的经典定义。
答:
结构化程序设计概念的提出主要是源于程序结构的层次性与模块化使得构造出来的软件具有良好的可理解性和可维护性,随着软件规模的扩大与复杂性的提高,程序的可维护性成为程序设计者们关注的重要问题之一。
如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。
6.C程序在内存中存储在哪儿?计算机的内存空间是如何分区的?分区存放不同类型的数据的目的是什么?
答:
C语言程序属于应用程序,程序代码本身存放在应用程序区,程序运行时处理的数据存放在应用程序数据区。
计算机的内存空间主要分为3个区:系统程序区、应用程序区和数据区,其中数据区又分为系统程序数据区和应用程序数据区两类。系统程序区主要存放操作系统程序,计算机开机启动时,主要从该区取出程序分析执行;应用程序区主要存放应用程序设计者编制的应用程序;数据区则作为上述两类程序运行时的变量和中间结果的存放空间。
程序运行时所需要的不同存储属性的变量将分别分配在这几个数据区和寄存器区。寄存器区在CPU内部,而不在存储器中,所以C语言寄存器型变量的运算速度最快,但是在CPU 内部,寄存器非常有限,一般只有几个到几十个,所以C程序的寄存器型变量实际只有几个。
7.简要回答冯.诺依曼计算机的基本原理。
答:
计算机硬件系统的核心是由中央处理器(CPU)和可执行的主存组成的计算引擎。这里,主存存储程序(可执行的机器指令序列)和数据,是可以直接寻址单元的线性序列。除主存外,计算机系统还有辅存即辅助存储器,用来保存当前没有载入主存的、部分或临时载入的程序和数据(例如硬盘)。同时,计算机系统还需要从外界获取数据或者将处理后的数据通知外界,这就需要另外一个组件即一组通信设备(例如显示器、键盘等),使用它们可以在用户和计算机之间以及计算机和计算机之间进行数据和命令交换。
8.规范化编程的作用是什么?规范化编程主要包括哪几方面的内容?根据你的认识说一说什么样的程序才是具有规范化编码风格的程序。
答:
规范化编程的作用就是使代码容易阅读,无论是对程序员本人,还是对其他人。风格良好的代码更容易阅读和理解,其中的错误也更少。
规范化编程主要包括以下几方面的内容:
(1) 命名的问题 (2) 源程序的书写问题 (3) 算法设计的问题 (4) 程序注释
第1章习题
1.C语言的主要特点有哪些?
答:
一种语言之所以能存在和发展,并具有生命力,总是有其不同于其他语言的特点。C语言的主要特点如下。
(1) 语言简洁、紧凑,使用方便、灵活。(2) 运算符丰富。(3) 数据结构类型丰富,具有现代化的各种数据结构。(4) 具有结构化的控制语句。(5) 语法限制不太严格,程序设计自由度大。(6) C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。(7) 一般仍习惯将C语言称为高级语言,因为C程序也要通过编译、连接才能得到可执行的目标程序,这是和其他高级语言相同的。
2.简要叙述C语言程序的构成,并说明一个C程序要正确地运行,必须要有什么函数,该函数在程序中的地位如何?
答:
C语言是一种结构化程序设计语言,具体地说,C语言是一种函数模块式结构的程序设计语言,所有的C程序都是由一个或多个函数构成的。一个C程序可由一个主函数和若干个其它函数构成。由主函数调用其他函数,其他函数也可以互相调用。同一个函数可以被一个或多个函数调用任意多次。这些函数是由编译系统提供的标准函数或用户自己定义的函数,其中有一个特别的函数“main”我们称之为主函数。一个C程序要正确地运行,都必须有且只能有一个主函数,主函数是程序运行的入口,C程序从主函数开始执行,并最终从主函数结束。
3.开发一个C程序的一般过程是什么?
答:
开发一个C程序,通常包括以下几个步骤:(1)编辑C语言源程序(2)编译和链接(3)执行C程序。当我们用任一编辑软件(编辑器)编写好C源程序后,就以文本文件的形式保存在计算机的磁盘上,该文本文件即为C的源程序文件。当我们想运行一个C程序时,首先要进行程序编译和程序链接,从而生成机器代码即可执行文件。生成可执行文件后,就可以在操作系统控制下运行。
4.指出下面哪些是C语言的关键字?
A. char
B. abc
C. printf
D. Int
E. float
F. define
G. include
H. PI
答:
A E
5.下列说法正确的是()。
A. 在书写C语言源程序时,每个语句以逗号结束
B. 注释时,“/”和“*”号间可以有空格