C语言程序设计课后习题18参考答案.doc

上传人:h**** 文档编号:891058 上传时间:2018-11-05 格式:DOC 页数:42 大小:90.51KB
下载 相关 举报
C语言程序设计课后习题18参考答案.doc_第1页
第1页 / 共42页
C语言程序设计课后习题18参考答案.doc_第2页
第2页 / 共42页
C语言程序设计课后习题18参考答案.doc_第3页
第3页 / 共42页
C语言程序设计课后习题18参考答案.doc_第4页
第4页 / 共42页
C语言程序设计课后习题18参考答案.doc_第5页
第5页 / 共42页
点击查看更多>>
资源描述

1、C 语言程序设计课后习题1-8参考答案习题1参考答案一、简答题1、冯 诺依曼计算机模型有哪几个基本组成部分?各部分的主要功能是什么?答:冯 诺依曼计算机模型是由运算器、控制器、存储器、输入设备、输出设备五大功能部件组成的。运算器又称算术逻辑部件,简称 ALU,是计算机用来进行数据运算的部件。数据运算包括算术运算和逻辑运算。控制器是计算机的指挥系统,计算机就是在控制器的控制下有条不紊地协调工作的。存储器是计算机中具有记忆能力的部件,用来存放程序和数据。输入设备是用来输入程序和数据的部件。输出设备正好与输入设备相反,是用来输出结果的部件。2、简述计算机的工作原理。答:计算机的工作原理可简单地概括为

2、:各种各样的信息,通过输入设备,进入计算机的存储器,然后送到运算器,运算完毕把结果送到存储器存储,最后通过输出设备显示出来。整个过程由控制器进行控制。3、计算机软件系统分为哪几类?答:软件内容丰富,种类繁多,通常根据软件用途将其分为两大类:系统软件和应用软件。系统软件是指管理、监控、维护计算机正常工作和供用户操作使用计算机的软件。这类软件一般与具体应用无关,是在系统一级上提供的服务。系统软件主要包括以下两类:一类是面向计算机本身的软件,如操作系统、诊断程序等。另一类是面向用户的软件,如各种语言处理程序(像 BC、VC 等) 、实用程序、字处理程序等。应用程序是指某特定领域中的某种具体应用,供最

3、终用户使用的软件,它必须在操作系统的基础上运行。4、什么叫软件?说明软件与硬件之间的相互关系。答:软件是指计算机程序及有关程序的技术文档资料。两者中更为重要的是程序,它是计算机进行数据处理的指令集,也是计算机正常工作最重要的因素。在不太严格的情况下,认为程序就是软件。硬件与软件是相互依存的,软件依赖于硬件的物质条件,而硬件则需在软件支配下才能有效地工作。在现代,软件技术变得越来越重要,有了软件,用户面对的将不再是物理计算机,而是一台抽象的逻辑计算机,人们可以不必了解计算机本身,可以采用更加方便、更加有效地手段使用计算机。从这个意义上说,软件是用户与机器的接口。二、填空题1、算术 逻辑2、键盘

4、鼠标3、控制器 运算器4、10 25、0 0x6、原码 反码 补码7、00010111 111010018、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)具有预处理功能;

5、(10)具有递归功能。2、C 语言的主要应用有哪些?答:(1)许多系统软件和大型应用软件都是用 C 语言编写的,如 UNIX、Linux 等操作系统。 (2)在软件需要对硬件进行操作的场合,用 C 语言明显优于其他高级语言。例如,各种硬件设备的驱动程序(像显卡驱动程序、打印机驱动程序等)一般都是用 C 语言编写的。 (3)在图形、图像及动画处理方面,C 语言具有绝对优势,特别是游戏软件的开发主要就是使用 C 语言。 (4)随着计算机网络飞速发展,特别是 Internet 的出现,计算机通信就显得尤其重要,而通信程序的编制首选就是 C 语言。 (5)C 语言适用于多种操作系统,像 Windows

6、、UNIX 、Linux 等绝大多数操作系统都支持 C 语言,其他高级语言未必能得到支持,所以在某个特定操作系统下运行的软件用 C 语言编制是最佳选择。3、列举几种程序设计语言。答:C 语言、Java 语言、Pascal 语言、BASIC 语言、LOGO 语言等。二、填空题1、机器语言 汇编语言 高级语言2、机器语言3、ALGOL 604、多个函数5、main6、#include7、定义 使用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参考答案一、填

7、空题1、整型 字符型 实型2、字母 数字 下划线 字母 下划线3、直接 符号 符号4、0 0x5、1 26、4 87、-32768327678、-169、x+=1;10、2611、(m/10)%10*100+m/100(100*10)+m%10二、选择题1、D 2、C 3、A 4、B 5、B 6、D 7、B 8、C 9、A 10、A 11、C 12、B 13、B 14、D 15、B 16、D 17、B 18、D 19、C 20、A 21、B 22、D 23、D 24、D 25、D 26、D 27、C 28、A 29、C 30、B习题4参考答案一、填空题1、scanf printf2、按指定的输

8、出格式将信息输出到屏幕上 常规字符 格式控制符3、X、E、G4、getche 输入的字符回显,而 getch 输入的字符不回显5、fflush6、解决某个问题的具体的方法和步骤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 。#includevoid main()unsigned short a, b;scanf(“%4x

9、”, scanf(“%d%d”, printf(“before swap: a=%d b=%dn”, a,b);a=a+b;b=a-b;a=a-b;printf(“after swap: a=%d b=%dn”, a, b);3、编程从键盘输入圆的半径 r,计算出圆的周长和面积。#include#define PI 3.14159void main()float r, c, s;scanf(“%f”, c=2*r*PI;s=PI*r*r;printf(“c=%f s=%fn”, c, s);4、编程从键盘输入任意一个十六进制负整数,以输入的形式输出。例如:输入-FA98,输出-FA98。#in

10、cludevoid main()short int a;scanf(“%x”, printf(“-%hxn”, -a);5、已知一元二次方程 ax2+bx+c=0,编一程序当从键盘输入 a、b、c 的值后,计算 x 的值。#include#includevoid main()float a, b, c;float d;float x1, x2;printf(“input a, b, c: ”);scanf(“%f%f%f”, d=sqrt(b*b-4*a*c);x1=(-b+d)/(2*a);x2=(-b-d)/(2*a);printf(“x1=%.2f x2=%.2fn”, x1, x2);

11、6、假设从键盘输入某日午夜零点到现在已经历的时间(单位:s) ,遍一程序计算到现在为止已近过了多少天,现在的时间是多少?#includevoid main()unsigned long t, r;int d, h, m, s;printf(“second=”);scanf(“%d”, d=t/(24*3600);r=t%(24*3600);h=r/3600;m=(r%3600)/60;s=(r%3600)%60;printf(“have passed days is %d, current time is %02d:%02d:%02dn”, d, h, m, s):习题5参考答案编程题1、编一

12、程序判断输入整数的正负性和奇偶性。#includevoid main()int a;scanf(“%d”, if (a=0)printf(“the number %d is positive numbern”, a);elseprintf(“the number %d is negative numbern”, a);if (a%2=0)printf(“the number %d is even numbern”, a);elseprintf(“the number %d is odd numbern”, a);2、编程判断输入数据的符号属性。#includevoid main()int x,

13、 sign;scanf(“%d”, if (x0)sign=1;else if (x=0)sign=0;elsesign=-1;printf(“sign= %dn”, sign);3、输入任意三个数 num1、num2、num3,按从小到大的顺序排序输出。#includevoid main()int num1, num2, num3;scanf(“%d%d%d”, if (num1=num3)printf(“%d %d %dn”, num3, num1, num2);elseprintf(“%d %d %dn”, num1, num3, num2);elseif (num2=num3)printf(“%d %d %dn”, num3, num2, num1);elseif (num1=num3)printf(“%d %d %dn”, num2, num3, num1);elseprintf(“%d %d %dn”, num2, num1, num3);4、在屏幕上显示一张如下所示的时间表。#includevoid main()

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 参考答案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。