C程序设计(谭浩强第四版)参考答案补录
第一章程序设计和C语言
1.什么是程序?什么是程序设计?
程序:就是一组能识别和执行的指令,每一条指令使计算机执行特定的操作
程序设计:是指从确定任务到得到结果、写出文档的全过程
2.为什么需要计算机语言?高级语言的特点?
为什么需要计算机语言:计算机语言解决了人和计算机交流的语言问题,使得计算机和人都能识别
高级语言有哪些特点:
1)高级语言的数据结构要比汇编和机器语言丰富;
2)高级语言与具体机器结构的关联没有汇编以及机器语言密切;
3)高级语言更接近自然语言更容易掌握;
4)高级语言编写的程序要经过编译或解释计算机才能执行
3.正确理解以下名词及其含义
(1)源程序 目标程序 可执行程序
源程序:程序可以用高级语言或汇编语言编写,用高级语言或汇编语言编写的程序称为源程序。源程序不能直接在计算机上执行,需要用“编译程序”将源程序编译为二进制形式的代码。
目标程序:源程序经过“编译程序”编译所得到的二进制代码称为目标程序。目标程序的扩展名为“.obj”。目标代码尽管已经是机器指令,但是还不能运行,因为目标程序还没有解决函数调用问题,需要将各个目标程序与库函数连接,才能形成完整的可执行程序。
可执行程序:目标程序与库函数连接,形成的完整的可在操作系统下独立执行的程序称为可执行程序。可执行程序的扩展名为“.exe”
(2)程序编辑 程序编译 程序连接
程序编辑:上机输入或者编辑源程序。
程序编译:①先用C提供的“预处理器”,对程序中的预处理指令进行编译预处理 ②对源程序进行语法检查,判断是否有语法错误,直到没有语法错误未知 ③编译程序自动把源程序转换为二进制形式的目标程序。
程序连接:将所有编译后得到的目标模块连接装配起来,在与函数库相连接成为一个整体的过程称之为程序连接。
(3)程序 程序模块 程序文件
程序:一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具。
程序模块:可由汇编程序、编译程序、装入程序或翻译程序作为一个整体来处理的一级独立的、可识别的程序指令。
程序文件:程序的文件称为程序文件,程序文件存储的是程序,包括源程序和可执行程序。
(4)函数 主函数 被调用函数 库函数
函数:将一段经常需要使用的代码封装起来,在需要使用时可以直接调用,来完成一定功能
主函数:又称main函数,是程序执行的起点
被调用函数:由一个函数调用另一个函数,则称第二个函数为被调用函数
库函数:一般是指编译器提供的可在c源程序中调用的函数。可分为两类,一类是c语言标准规定的库函数,一类是 编译器特定的库函数
(5)程序调试 程序测试
程序调试:是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程
程序测试:是指对一个完成了全部或部分功能、模块的计算机程序在正式使用前的检测,以确保该程序能按预定的方式正确地运行
第二章算法–程序的灵魂
1.什么是算法?试从日常生活中找3个例子,描述它们的算法
算法:简而言之就是求解问题的步骤,对特定问题求解步骤的一种描述。
生活中的例子:
1)考大学:首先填报志愿表、交报名费、拿到准考证、按时参加考试、收到录取通知书、按照日期到指定学校报到。
2)去北京听演唱会:首先在网上购票、然后按时坐车到北京,坐车到演唱会会场。
3)把大象放进冰箱:先打开冰箱门,然后将大象放进冰箱,关冰箱。
2.什是结构化算法?为什么要提倡结构化算法?
结构化算法:由一些顺序、选择、循环等基本结构按照顺序组成,流程的转移只存在于一个基本的范围之内。
机构化算法便于编写,可读性高,修改和维护起来简单,可以减少程序出错的机会,提高了程序的可靠性,保证了程序的质量,因此提倡结构化的算法。
7.什么叫结构化程序设计?它的主要内容是什么?
结构化程序设计(structured programming,简称SP)是进行以模块功能和处理过程设计为主的详细设计的基本原则。其概念最早由E.W.Dijikstra在1965年提出的。结构化程序设计思想确实使程序执行效率提高,是软件发展的一个重要的里程碑,它的主要观点是采用自顶向下、逐步求精的程序设计方法;各个模块通过“顺序、选择、循环”的控制结构进行连接,并且只有一个入口、一个出口
第三章 最简单的C程序设计—顺序程序设计
第四章 选择结构程序设计
1.什么是算术运算?什么是关系运算?什么是逻辑运算?
算术运算:指加减乘除和整数的模运算(即取余数运算)。
关系运算:就是比较运算,将两个数值进行比较,判断其比较结果是否符合给定的条件。
逻辑运算:指两个条件进行运算,有逻辑与、逻辑或、逻辑非三种。
第五章 循环结构程序设计
第六章 利用数组处理批量数据
第七章 利用函数实现模块化程序设计
第八章 善于利用指针
第九章 用户自己建立数据类型
第十章 对文件的输入输出
1.什么是文件型指针?通过文件指针访问文件有什么好处?
缓冲文件系统中,关键的概念是“文件类型指针”,简称“文件指针”。每个被使用的文件都在内存中开辟一个相应的文件信息区,用来存放文件的有关信息(如文件的名字、文件状态及文件当前位置等)。这些信息是保存在一个结构体变量中的。该结构体类型是由系统声明的,取名为FILE。
通过文件指针访问文件的好处是:可以随机访问文件,有效表示数据结构,动态分配内存,方便使用字符串,有效使用数组。
2.对文件的打开与关闭的含义是什么?为什么要打开和关闭文件?
打开文件,是建立文件的各种相关信息,并使文件类型指针指向该文件,以便进行其它操作。而关闭文件操作可强制把缓冲区中的数据写入磁盘文件,保证文件的完整性,同时还将释放文件缓冲区单元和FILE结构,使文件类型指针与具体文件脱钩。
要对一个文件进行操作,必须先将其打开,读写完毕后还要将其关闭,以防止不正常的操作。