C语言程序设计(第四版)谭浩强————课后习题名词解析11题

1.什么是程序?什么是程序设计

程序是一组计算机能够识别和执行的指令。一个特定的指令序列用来完成一定的功能。

程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。

2.为什么需要计算机语言?高级语言的特点?

1.计算机语言是人与计算机之间传递信息的媒介。计算机系统最大特征是指令通过一种语言传达给机器。为了使电子计算机进行各种工作,就需要有一套用以编写计算机程序的数字、字符和语法规划,由这些字符和语法规则组成计算机各种指令(或各种语句)。

2.高级语言更接近于人们习惯使用的自然语言和数学语言。特点:功能强大,不依赖于具体机器。用高级语言编写的源程序需要通过编译程序转换为机器指令的目标程序。

3.正确理解以下名词及其含义:

(1)源程序 目标程序 可执行程序

源程序:指未编译的按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令

目标程序:为源程序经编译可直接被计算机运行的机器码集合,在计算机文件上以.obj作扩展名

可执行程序:将所有编译后得到的目标模块连接装配起来,在与函数库相连接成为一个整体,生成一个可供计算机执行的目标程序,成为可执行程序

(2)程序编辑 程序编译 程序连接

程序编辑:上机输入或者编辑源程序。

程序编译:

  • 先用C提供的“预处理器”,对程序中的预处理指令进行编译预处理
  • 对源程序进行语法检查, 判断是否有语法错误,直到没有语法错误未知
  • 编译程序自动把源程序转换为二进制形式的目标程序

程序连接:将所有编译后得到的目标模块连接装配起来,在与函数库相连接成为一个整体的过程称之为程序连接

(3)程序 程序模块 程序文件

程序:一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具

程序模块:可由汇编程序、编译程序、装入程序或翻译程序作为一个整体来处理的一级独立的、可识别的程序指令

程序文件:程序的文件称为程序文件,程序文件存储的是程序,包括源程序和可执行程序

(4)函数 主函数 被调用函数 库函数

函数:将一段经常需要使用的代码封装起来,在需要使用时可以直接调用,来完成一定功能

主函数:又称main函数,是程序执行的起点

被调用函数:由一个函数调用另一个函数,则称第二个函数为被调用函数

库函数:一般是指编译器提供的可在c源程序中调用的函数。可分为两类,一类是c语言标准规定的库函数,一类是

编译器特定的库函数

(5)程序调试 程序测试

程序调试:是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程

程序测试:是指对一个完成了全部或部分功能、模块的计算机程序在正式使用前的检测,以确保该程序能按预定的

方式正确地运行

4.什么是算法?试从日常生活中找3个例子,描述它们的算法。

c语言中的算法是指:一系列解决问题的清晰指令,用系统的方法描述解bai决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。通俗说就是解决问题的方法和步骤。

1.问题:从上海去到北京。

其中的算法:做汽车、做飞机、或者徒步。

2.问题:喝茶。

其中的算法:先找到茶叶,再烧一壶开水,然后将茶叶放到杯子里,将开水倒入杯中,等茶叶泡好。

3.问题:开车。

其中的算法:首先要打开车门,驾驶员坐好,插上车钥匙,发动汽车。

5.什么叫结构化的算法?为什么要提倡结构化的算法?

结构化的算法:由三种基本结构构成的算法结构是结构化的算法。

因为结构化的算法不存在无规律的转向,只在本基本结构内才允许存在分支和向前或向后的跳转。不会出现死循环,使算法的质量得到保证和提高,所以,要提倡结构化的算法。

6.试述3种基本结构的特点,请另外设计两种基本结构(要符合基本结构的特点)。

结构化程序设计方法主要由以下三种基本结构组成:

  1. 顺序结构:顺序结构是一种线性、有序的结构,它依次执行各语句模块
  2. 选择结构:选择结构是根据条件成立与否选择程序执行的通路。
  3. 循环结构:循环结构是重复执行一个或几个模块,直到满足某一条件位置

重新设计基本结构要满足以下几点:

  1. 只有一个入口
  2. 只有一个出口
  3. 结构内的每一部分都有机会执行到
  4. 结构内不存在死循环

因此给出以下结构:while型和until型循环复合以及多选择结构

7.什么叫结构化程序设计?它的主要内容是什么?

自顶向下、逐步求精;其程序结构是按功能划分为若干个基本模块;各模块之间的关系尽可能简单,在功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成;其模块化实现的具体方法是使用子程序。结构化程序设计由于采用了模块分解与功能抽象,自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。

主要内容:
结构化程序设计方法具有很多的优点,但它是一种面向过程的程序设计方法,它把数据和处理数据的过程分离为相互独立的实体。当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,程序的可重用性差。

8.什么是算术运算?什么是关系运算?什么是逻辑运算?

+,-,*,/,%,是算术运算。

<,>,<=,>=,!=,,==是关系运算

&& ,|| ,!是逻辑运算

9.C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?

在C语言中,对于逻辑表达式,若其值为“真”,则以“1”表示。若其值为“假”,则以“0”表示。

对于系统来说,判断一个逻辑量的值时,系统会以“0“作为假,以”非0“作为真。

10.什么是文件型指针?通过文件指针访问文件有什么好处?

指向文件结构体类型变量的指针就是FILE文件类型指针。C程序在处理文件时,利用文件指针来访问文件缓冲区,实现对文件的操作和检测,方便对数据存取。

11.对文件的打开与关闭的含义是什么?为什么要打开和关闭文件?

打开文件,是建立文件的各种相关信息,并使文件类型指针指向该文件,以便进行其它操作。而关闭文件操作可强制把缓冲区中的数据写入磁盘文件,保证文件的完整性,同时还将释放文件缓冲区单元和FILE结构,使文件类型指针与具体文件脱钩。要对一个文件进行操作,必须先将其打开,读写完毕后还要将其关闭,以防止不正常的操作。

型指针指向该文件,以便进行其它操作。而关闭文件操作可强制把缓冲区中的数据写入磁盘文件,保证文件的完整性,同时还将释放文件缓冲区单元和FILE结构,使文件类型指针与具体文件脱钩。要对一个文件进行操作,必须先将其打开,读写完毕后还要将其关闭,以防止不正常的操作。

  • 12
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值