《C语言程序设计:问题与求解方法》——1.4节本章习题

简介:

本节书摘来自华章社区《C语言程序设计:问题与求解方法》一书中的第1章,第1.4节本章习题,作者:何 勤,更多章节内容可以访问云栖社区“华章社区”公众号查看

本章习题
一、判断题

  1. C语言中,函数体必须用一对大括号括住,大括号不能省略。
  2. C语言中,函数首部不能以分号结束。
  3. C语言程序中一条语句或定义结束时的分号常常可以省略不写。
  4. 源程序中的注释在翻译成目标程序时会被编译程序忽略掉,所以写注释的意义不大,纯属浪费时间。
    二、连线题。不看术语对照表,请将两边的术语连线

冰箱格子的编号 内存的基本存储单元
冰箱的一个格子 数据
编写普通菜谱的人 状态寄存器
特殊菜谱 输出设备
加工步骤 用机器语言编程的程序员
理想厨房 信息
厨师及炒菜设备 输入设备
厨房管理员 指令地址寄存器
指令存放碟IR 指令寄存器
普通菜谱 CPU
专用加工容器 专用寄存器
编写特殊菜谱的人 基本运算
指令地址存放碟PC 内存地址
原材料 高级语言程序
采购员及配菜员 算术逻辑单元
传菜生 控制单元
炒好的菜 算术逻辑单元可进行的各种运算
厨师可做的各种炒菜的 用高级程序设计语言编程的程序员
基本动作 计算机系统
理想厨房 机器语言程序
状态存放碟 指令
三、问答题(带*号 的题目为选做题)
1.指令地址(PC)寄存器起了什么作用?它位于哪里?取完一条指令后,它的值一定加1吗? 指令(IR)寄存器是用来干什么的?它位于哪里?
2.控制单元的主要功能是什么?它位于哪里?
3.算术逻辑单元的主要功能是什么?它位于哪里?
4.总线在计算机中起何作用?
5.数据总线在传输数据时是双方向的还是单方向的?在传送指令时呢?
6.现代绝大部分计算机是以字作为基本存储单元还是以字节作为基本存储单元?
7.即将要运行的程序的指令序列存放在哪里?程序要加工的数据存放在哪里?
*8.指令序列是否可以直接从硬盘等外存中取到CPU中加以执行?
9.请你用计算机的术语,详细叙述控制单元通过三条总线到内存取指令的步骤。
10.将十进制整数134转化成二进制整数。
11.将二进制整数11010110011010分别转化成八进制和十六进制整数。
12.将十六进制整数(D34A)16转化成二进制整数。
13.将八进制整数623转化成二进制整数。(注意:一个八进制数字转化成多位二进制数字时,不足3位要补成3位,八进制2对应着二进制010而不是对应着二进制10。)
14.能否将内存中的任意一段数据当成指令来执行?(提示:非法指令问题、乱序指令问题。)
15.内存单元的地址是二进制位串,内存单元中存放的数据也是二进制位串,请尽量列出两者之间的不同点。
16.请将十进制数123.45转化成二进制数。(提示:将整数部分和小数部分分别进行转化。)
17.现代计算机的可执行程序在程序运行期间是不可修改的,但在计算机发明的早期却没有这种限制,请考虑一下这种限制的有利和不利之处。
18.一个机器语言程序中的任意一条指令的操作码发生一位错误,会出现什么问题(可能是一条非法指令,或者变成另一种指令)?一个机器语言程序中的任意一条指令的操作数发生一位错误,会出现什么问题(特别考虑跳转指令)?如果是表示一个文字的码发生一位错误,会出现什么问题?
19.请你模仿0.3节归纳出计算机工作的一些重要特点。
20.数据总线在传送指令时是单向的还是双向的?在传送数据时是单向的还是双向的?
21.请你列出理想厨房系统与计算机系统之间的重要不同点。
22.假设有一种采用固定长度操作码的CPU,指令集中共有43条指令,请问操作码的长度最少应当是多少位?其中有多少个是无效码?

相关文章
|
7天前
|
人工智能 C语言
C语言概述习题
C语言概述习题
12 0
|
7天前
|
Shell Linux 编译器
C语言,Linux,静态库编写方法,makefile与shell脚本的关系。
总结:C语言在Linux上编写静态库时,通常会使用Makefile来管理编译和链接过程,以及Shell脚本来自动化构建任务。Makefile包含了编译规则和链接信息,而Shell脚本可以调用Makefile以及其他构建工具来构建项目。这种组合可以大大简化编译和构建过程,使代码更易于维护和分发。
25 5
|
8天前
|
Shell Linux 编译器
C语言,Linux,静态库编写方法,makefile与shell脚本的关系。
总结:C语言在Linux上编写静态库时,通常会使用Makefile来管理编译和链接过程,以及Shell脚本来自动化构建任务。Makefile包含了编译规则和链接信息,而Shell脚本可以调用Makefile以及其他构建工具来构建项目。这种组合可以大大简化编译和构建过程,使代码更易于维护和分发。
15 3
|
10天前
|
传感器 人工智能 物联网
【C 言专栏】C 语言与硬件交互的方法
【5月更文挑战第4天】C 语言在硬件交互中扮演关键角色,主要通过直接访问硬件寄存器、中断处理、I/O 端口操作、内存映射I/O和设备驱动程序开发。挑战包括硬件多样性、实时性要求和错误处理。随着物联网和人工智能发展,C语言与硬件交互的需求增加,未来将面临更多新硬件和技术的挑战。本文旨在帮助读者理解和掌握这一领域的知识,以实现更高效的硬件互动。
【C 言专栏】C 语言与硬件交互的方法
|
13天前
|
算法 C语言
【C 言专栏】C 语言文件操作的技巧与方法
【4月更文挑战第30天】本文介绍了C语言文件操作的关键技巧,包括文件的打开与关闭(使用`fopen`和`fclose`函数),读取(`fgetc`、`fgets`和`fread`)和写入(`fputc`、`fputs`和`fwrite`)操作。此外,还讨论了文件指针移动(`fseek`)、错误处理、文件权限和格式等问题。文中提供了一个简单的读写文件的示例,并提到了高级技巧如随机访问、文件缓冲和截断。掌握这些技能将有助于提升C语言编程中的文件处理能力。
|
16天前
|
C语言
PTA 浙大版《C语言程序设计(第3版)》题目集 习题8-4 报数 (20分)
PTA 浙大版《C语言程序设计(第3版)》题目集 习题8-4 报数 (20分)
|
16天前
|
C语言
C语言 浙大版《C语言程序设计(第3版)》题目集 练习8-8 移动字母 (10分)
C语言 浙大版《C语言程序设计(第3版)》题目集 练习8-8 移动字母 (10分)
|
16天前
|
C语言
浙大版《C语言程序设计(第3版)》题目集 练习8-2 计算两数的和与差 (10分)
浙大版《C语言程序设计(第3版)》题目集 练习8-2 计算两数的和与差 (10分)
|
16天前
|
C语言
pta浙大版《C语言程序设计(第3版)》 习题6-4 使用函数输出指定范围内的Fibonacci数 (20分)
pta浙大版《C语言程序设计(第3版)》 习题6-4 使用函数输出指定范围内的Fibonacci数 (20分)
|
16天前
|
C语言
PTA 浙大版《C语言程序设计(第3版)》题目集 习题8-6 删除字符 (20分)
PTA 浙大版《C语言程序设计(第3版)》题目集 习题8-6 删除字符 (20分)