C语言程序设计课后习题1-8参考答案
习题1参考答案
一、简答题
1、冯 诺依曼计算机模型有哪几个基本组成部分?各部分的主要功能是什么?
答:冯 诺依曼计算机模型是由运算器、控制器、存储器、输入设备、输出设备五大功能部件组成的。
运算器又称算术逻辑部件,简称ALU,是计算机用来进行数据运算的部件。数据运算包括算术运算和逻辑运算。
控制器是计算机的指挥系统,计算机就是在控制器的控制下有条不紊地协调工作的。 存储器是计算机中具有记忆能力的部件,用来存放程序和数据。 输入设备是用来输入程序和数据的部件。
输出设备正好与输入设备相反,是用来输出结果的部件。
2、简述计算机的工作原理。
答:计算机的工作原理可简单地概括为:各种各样的信息,通过输入设备,进入计算机的存储器,然后送到运算器,运算完毕把结果送到存储器存储,最后通过输出设备显示出来。整个过程由控制器进行控制。
3、计算机软件系统分为哪几类?
答:软件内容丰富,种类繁多,通常根据软件用途将其分为两大类:系统软件和应用软件。 系统软件是指管理、监控、维护计算机正常工作和供用户操作使用计算机的软件。这类软件一般与具体应用无关,是在系统一级上提供的服务。系统软件主要包括以下两类:一类是面向计算机本身的软件,如操作系统、诊断程序等。另一类是面向用户的软件,如各种语言处理程序(像BC、VC等)、实用程序、字处理程序等。
应用程序是指某特定领域中的某种具体应用,供最终用户使用的软件,它必须在操作系统的基础上运行。
4、什么叫软件?说明软件与硬件之间的相互关系。
答:软件是指计算机程序及有关程序的技术文档资料。两者中更为重要的是程序,它是计算机进行数据处理的指令集,也是计算机正常工作最重要的因素。在不太严格的情况下,认为程序就是软件。硬件与软件是相互依存的,软件依赖于硬件的物质条件,而硬件则需在软件支配下才能有效地工作。在现代,软件技术变得越来越重要,有了软件,用户面对的将不再是物理计算机,而是一台抽象的逻辑计算机,人们可以不必了解计算机本身,可以采用更加方便、更加有效地手段使用计算机。从这个意义上说,软件是用户与机器的接口。
二、填空题 1、算术 逻辑 2、键盘 鼠标 3、控制器 运算器 4、10 2 5、0 0x
6、原码 反码 补码 7、00010111 11101001 8、127 -128
三、选择题
1、C 2、A 3、B 4、A 5、B 6、B 7、D 8、A 9、A 10、B 11、A 12、B
习题2参考答案
一、简答题
1、C语言有哪些特点?
答:(1)简洁紧凑、灵活方便;(2)运算符丰富;(3)数据结构丰富;(4)C语言是结构
式语言;(5)C语言的语法限制不太严格、程序设计自由度大;(6)C语言允许直接访问物理地址,可以直接对硬件进行操作;(7)C语言程序生成代码质量高,程序执行效率高;(8)C语言使用范围大,可移至性好;(9)具有预处理功能;(10)具有递归功能。
2、C语言的主要应用有哪些?
答:(1)许多系统软件和大型应用软件都是用C语言编写的,如UNIX、Linux等操作系统。(2)在软件需要对硬件进行操作的场合,用C语言明显优于其他高级语言。例如,各种硬件设备的驱动程序(像显卡驱动程序、打印机驱动程序等)一般都是用C语言编写的。(3)在图形、图像及动画处理方面,C语言具有绝对优势,特别是游戏软件的开发主要就是使用C语言。(4)随着计算机网络飞速发展,特别是Internet的出现,计算机通信就显得尤其重要,而通信程序的编制首选就是C语言。(5)C语言适用于多种操作系统,像Windows、UNIX、Linux等绝大多数操作系统都支持C语言,其他高级语言未必能得到支持,所以在某个特定操作系统下运行的软件用C语言编制是最佳选择。
3、列举几种程序设计语言。
答:C语言、Java语言、Pascal语言、BASIC语言、LOGO语言等。
二、填空题
1、机器语言 汇编语言 高级语言 2、机器语言 3、ALGOL 60 4、多个函数 5、main 6、#include 7、定义 使用
8、声明部分 执行部分 声明部分 执行部分
三、选择题
1、D 2、B 3、B 4、C 5、C 6、C 7、D 8、C 9、D 10、A 11、B 12、 A 13、B 14、C 15、A
习题3参考答案
一、填空题
1、整型 字符型 实型
2、字母 数字 下划线 字母 下划线 3、直接 符号 符号 4、0 0x 5、1 2 6、4 8 7、-32768~32767 8、-16 9、x+=1; 10、26
11、(m/10)*100+m/100(100*10)+m
二、选择题
1、D 2、C 3、A 4、B 5、B 6、D 7、B 8、C 9、A 10、A 11、C 12、B B 14、D 15、B 16、D 17、B 18、D 19、C 20、A 21、B 22、D 23、D D 25、D 26、D 27、C 28、A 29、C 30、B
习题4参考答案
一、填空题
13、24、 1、scanf printf
2、按指定的输出格式将信息输出到屏幕上 常规字符 格式控制符 3、X、E、G
4、getche输入的字符回显,而getch输入的字符不回显 5、fflush
6、解决某个问题的具体的方法和步骤 7、自然语言描述 伪代码 流程图 N-S图 8、顺序 分支 循环
二、选择题
1、B 2、C 3、D 4、C 5、B 6、C 7、D 8、C 9、B 10、B 11、D 12、C 13、D 14、D 15、A
三、编程题
1、编写一程序要求任意输入四位十六进制整数,以反序的方式输出该十六进制数。例如:输入9AF0,则输出0FA9。 #include
unsigned short a, b;
scanf(“%4x”, &a) //输入4位十六进制数给变a
b=(a & 0X000F)<<12; //取a的最低一位十六进制数并左移12位后赋值给b
b+=(a & 0X00F0)<<4; //取a的次第一位十六进制数并左移4位后与b相加再赋值给b b+=(a & 0X0F00)<<4; //取a 的次高一位十六进制数并右移4位后与b相加再赋值给b b+=(a & 0XF000)<<12; //取a的最高一位十六进制数并右移12位后与b相加再赋值给b printf(“%4x\\n”, b); //输出变化后的十六进制数 }