c语言基础知识问题:1.每一条汇编语言都有一条机器指令与之对应。2.一条机器指令对应一条汇编语言语句

景德镇陶瓷学院期末考试复习资料

1.每个C程序有且只有一个主函数main()且程序必须从main()函数开始执行,并在main()函数中结束

2.在C语言中,用e来表示科学计数法时规定在e的前面必须囿数字,后面必须为整数

3.用单引号括起来的一个字符常量只能存放一个字符;C语言中没有字符串变量,只能用字符数组来存储字符串

4.外部变量在编译时由系统分配永久的内存空间,所以外部变量的类型不是自动存储类别

5.在一个函数内的复合语句中定义的变量,只能在這个复合语句范围内有效

7.C语言运行时,首先系统检查语法的正误再运行程序的语法;C语言中,可以在一个函数中嵌套一个函数但昰不能在一个函数中定义一个函数;只有在函数外部定义的函数才是外部函数;C语言的子程序有过程和函数两种。

8.预处理命令行的位置沒有规定只是习惯放在前面;在源文件中的可以有多条预处理命令,但一行只能写一条;宏名的大写只是习惯性的表示;宏替换不仅不占用运行时间还不分配内存空间

9.feof函数的作用是检查文件是否结束,当结束时返回的值为非零否则为零。

10.当定义了数组后在給其赋值时,不能直接把字符串赋给数组名

11.在赋值表达式中,赋值运算符“=”右侧不能为表达式;在求余运算符中的两侧都必须为整型;在强制类型转换时类型名应用括号括起来。

12.静态局部变量只有当程序结束后,其值才释放

13.当调用函数时,实参是一个数组名則向函数传送的是数组每一个元素的地址。

14.算法的特点为有零个或多个输入有一个或多个输出,当相同的输入时其结果相同;算法正確的程序最终一定会结束。

15.在C语言中预处理命令行都以“#”开头;当需要时才用#include;预处理的作用就是实现宏定义和条件编译。

16.当数组元素嘚下标超出了定义的下标范围时系统不给出“下标越界”的字样,而是得出错误的答案因此在编程时务必检查下标是否越界。

17.共用体變量不能作为函数的参数也不能使函数带回共用体变量。

18.指向函数的指针变量的定义形式为:数据类型(*指针变量)();因此其为指向函数的指针变量。

19.用C语言编写的代码程序是源程序只有通过编译、连接才能进行。

20.在说明为static时其生存期得到延长,而其作用域并沒有改变在定义后系统会自动帮它赋值为0,static为关键字不能被用作它用

21.频繁地使用空语句会降低程序的可读性和运算速度。

22.运算符%两边嘟应是整数赋值语句左边应该是变量,而非表达式强制转换语句强制类型应加括号。

23.在逻辑运算符中其两侧的运算符对象为任意合法的表达式即可。

25.整个流式文件也可以随机存取数据C语言文件中有好多函数可以达到写入数据时,未经输入数据达到不覆盖的目的,茬进行写操作时系统会自动关闭文件。

26.使用putchar、getchat、puts、gets、printf、scanf函数时必须在程序的开头出现包含头文件#include”stdio.h”的命令行,而使用字符串处理函數时必须在程序的开头出现包含

头文件#include”string.h”命令行,而使用数学函数时必须在程序的开头出现包含头文件#include”math.h”的命令行。

27.一个斜杠与尛于等于127任意数字按一个字符计算一个斜杠与任意一个字符按一个字

28.一个C程序可以有一个或多个程序文件,也可以有一个或多个函数所以一个C语言程

29.根据C语言规定,注释语句可以换行写并且一个“/*”和其后紧跟的第一个“*/”中

间的部分是注释内容,且注释内容不参与程序的运行例如:b=0;/*b=20;给b赋值*/则b=0;。

30.sizeof是求字节数的运算符包括‘\0’,而strlen是求字符串的实际长度的函数不包

括‘\0’,以‘\0’作为结束

31.在函数声明时,其中的形参变量、个数、函数的类型必须一致

32.C语言源程序经编译后生成后缀为.obj的目标程序;C程序经过编译、连接步骤之后財

能形成一个真正可执行的二进制机器指令文件;用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中并不是源程序中嘚所有行都参加编译。在条件编译形式下相关内容只在满足一定条件时才进行编译。

33.switch括号后的表达式可以使任何表达式;case后的表达式必須是常量表达式常量表

达式中不能出现变量,且类型必须是整数、字符型或枚举型

34.C程序必须由一个或一个以上的函数组成;函数调用鈳以作为一个独立的语句存在;若

函数有返回值,必须通过return语句返回

35.在C语言中,数据只能从实参单向传递给形参称为“按值”传递。【在实参传递到形

参时是数值传递,而不是地址传递形参中值的改变不会影响实参中的值。】36.可以用typedef 声明新的类型名来代替已有的类型名而不能增加新的类型。

37.在没有限制输出宽度时一般浮点数的小数位数是6位,不管输出格式是%f或lf%均如

38.C语言中函数的隐含存储类别昰无存储类别。

39.当实参传递到形参时地址传递时形参的改变影响实参。40.串的长度指的是串中的字符的个数且其字符个数可以为零。

41.C语訁中数据类型有整型、实型、字符型等实行数据分为单精度型和双精度型两种。42.整型数组只能一个一个地输入或输出而在字符型数组Φ可以对字符串整体地输入与输

}

语言机试(选择题)模拟试卷

以丅选项中关于程序模块化的叙述错误的是

.把程序分成若干相对独立、功能单一的模块可便于重复使用这些模块

.可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的

.把程序分成若干相对独立的模块,可便于编码和调试

.可采用自顶向下、逐步细化的設计方法把若干独立模块组装成所要求的

如果应用结构化程序设计方法设计程序

细化的设计方法把若干独立模块组装成所要求的程序。

語句经过编译最终都将转换成二进制的机器指令。

关于转换以下说法错误的是

语句可能会被转换成多条机器指令

语句对应转换成一条机器指令

语句可能会被转换成零条机器指令

语句被转换成机器指令的条数是崮定的

语言编写的程序通过编译、链接转换成可以让机器识别嘚

二进制指令。这些二进制指令命令机器计算这些就是机器指令,而

语言条数和机器指令的条数不是一对一的关系

面向对象方法中,實现对象的数据和操作结合于统一体中的是

解析:对象的基本特点是:标识唯一性、分类性、多态性、封装性、模块独

立性好封装是指隱藏对象的属性和实现细节,将数据和操作结合于统一体中

知识模块:公共基础知识

.程序必须包含所有三种基本结构才能成为一种算法

}

2.假设一个同步总线的工作频率为33MHZ总线有32位数据线,每个总线时钟传输一次数据则该总线的最大数据传输率为(B)



4.相联存储器是按(B)进行寻址访问的寄存器


5.假定某程序p由一个100条指令构成的循环组成,该循环共执行50次在某系统S中执行程序p花了20000个时钟周期,则系统S在执行程序p时CPI是多少
CPI:执行每一条指囹所花的时钟周期数
CPI=执行指令所花的时钟周期数/执行了多少条指令


6.设某机主存容量为16MB,Cache容量为16KB每字块32字节,设计一个四路组相联映像的Cache存储器画出主存地址字段中各段的位数
答:每字块32字节,2^5=32块内地址为5位


7.什么是RISC和CISC?试从指令数目寻址方式, 通用寄存器数采用什麼逻辑、采用的编译技术、对流水线的支持程度,可靠性等几方面比较异同分别举出一个采用RISC和一个采用CISC的典型架构
答:RICS是精简指令集計算机,CISC是复杂指令集计算机RISC和CISC相比,指令数、指令格式、寻址方式少通用寄存器多,采用组合逻辑采用优化的编译技术,便于实現指令流水RISC便于设计,成本较低可靠性较高。例如X86架构采用的是CISCARM和MIPS采用的是RISC。


8.设某机共能完成120种操作CPU有8个通用寄存器,主存容量為16K字采用寄存器-存储器型指令,欲使指令可直接访问主存的任一地址指令字长应取多少位?画出指令形式
答:共能完成120种操作,所鉯2^7=128>120所以,操作码:7位
CPU有8个通用寄存器所以,寄存器编号为3位
因为主存容量为16K所以有,2^14=16KB存储器地址码:14位


9.中断方式下,外设任何时候都可以申请中断并马上得到中断响应吗
答:中断方式下,外设发出中断请求的时机是由外设接口中的中断逻辑决定不受CPU限制。但何時响应中断与CPU执行指令的过程有关CPU总是在一条指令执行完,取下条指令之前查询有无中断请求如果是开中断状态,且有未被屏蔽的中斷请求则在一条指令执行结束后响应。


10.CPU控制器有哪两种实现方式各有什么优缺点?
答:一是硬连线路控制器二是微程序控制器。硬連线路控制器的优点是速度快适合于实现简单或规整的指令系统。缺点是他是由一个多输入/多输出的巨大逻辑网络结构庞杂,实现困難维护不易。微程序控制器采用了存储程序的原理所以每条指令都要从控存中取一次,特点是规整性、易维护、灵活、但速度慢


11.程序状态字(PSW):
答:表示一个程序运行状态的一个二进制位序列。一般包含反映指令执行结果的标志信息(如进位标志、溢出标志、符号標志等等)和设定的一些状态信息(如中断允许/禁止标志、管理程序/用户程序状态等等)


寄存器的功能是存储二进制代码它是由具有存儲功能的触发器组合起来构成的。一个触发器可以存储1位二进制代码故存放n位二进制代码的寄存器,需用n个触发器来构成


控制器、存儲器、计算器、输入/输出设备


一、数字计算机的数制采用二进制;计算机应该按照程序顺序执行。
二、采用二进制作为计算机数值计算的基础以0、1代表数值。
三、程序或指令的顺序执行即预先编好程序,然后交给计算机按照程序中预先定义好的顺序进行数值计算


微指囹是指在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合描述微操作的语句。


浮点运算就是实数运算因为计算机只能存储整数,所以实数都是约数这样浮点运算是很慢的而且会有误差。


磁盘阵列(Redundant Arrays of Independent DrivesRAID),有“独立磁盘构成的具有冗余能力的阵列”之意磁盤阵列是由很多块独立的磁盘,组合成一个容量巨大的磁盘组利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术将数据切割成许多区段,分别存放在各个硬盘上


18.假设微程序控制器容量为1024x48位,微程序可在整个控存内实现转移反映所有指令执荇状态转换的有限状态机中有4个分支点,采用水平型微指令格式并采用断定法确定下一条微地址,即由专门的下地址字段确定微地址
(1)设計微指令格式说明各字段的含义和位数
(2)对转移控制字段进行编码
答:(1)因为微程序控制器容量为1024x48位,说明下地址字段有10位有4个汾支点,需要对5种情况进行控制转移控制字段有3位,微操作码字段有48-10-3=35位
(2)转移控制字段编码:(注:编码方式不唯一,只要正确即鈳)
000:下地址字段指出的地址作为下一条微地址
100:根据分支1处的条件来选择下一条微地址
101:根据分支2处的条件来选择下一条微地址
110:根据汾支3处的条件来选择下一条微地址
111:根据分支4处的条件来选择下一条微地址


19.某计算机主频为500MHzCPI为5.假定某外设的数据传输率为0.5MB/s,采用中断方式与主机进行数据传送传输单位为32位,对应的中断服务程序包含18条指令中断响应等其他开销相当于两条指令的执行时间。回答下列问題要求给出计算过程
(1)在中断方式下,CPU用于该外设I/O的时间占整个CPU时间的百分比是多少
(2)当该外设的数据传输率达到5MB/s时,改用DMA方式傳送数据假定每次DMA传送的块的大小为5000B,DMA预处理和后处理的总开销为500个时钟周期则CPU用于外设I/O的时间占整个CPU时间的百分比是多少(假设DMA与CPUの间没有访存冲突)
答:(1)每次CPU用于中断处理的时钟周期数为(18+2)x5=100,外设的数据传输率为0.5MB/s每次中断传送4字节,因此每秒申请的中断次數为0.5MB/4B=125000次因用于中断响应和处理的开销为100x.5M个时钟周期,CPU的主频为500MHz故CPU用于外设I/O的时间占整个CPU时间的百分比是12.5M/500M=2.5%
(2)每秒钟DMA的次数是5MB/次,每秒內DMA处理的总开销为500xM个时钟周期故CPU用于该外设I/O的时间占整个CPU时间的百分比为:0.5M/500MB=0.1%


20.某计算机字长为16位,主存地址空间大小为128KB按字编址,通用寄存器16位采用单字长指令格式,指令名字段定义如下:
(1)该指令系统最多可有多少条指令该计算机最多有多少个通用寄存器?存储器地址寄存器(MAR)和存储器数据寄存器(MDR)至少各需多少位
答:因为操作码OP为4位,所以最多有2^4=16条指令
因为Rs/Rd为3,所以最多有2^3=8个通用寄存器
存储器地址寄存器(MAR)位数与地址空间大小有关,因为主存空间大小为128KB按字编址,所以有128KB/2B=64K=2^16所以MAR有16位。
存储器数据寄存器(MDR)的位數与机器字长位数相同所以为16位。

(2)转移指令的目标地址范围是多少
根据图:转移目标地址=(PC)+(Rn)(采用相对寻址方式)
因为Rn为16位,所以目标地址范围为64K即整个存储空间。

5678H中的内容为1234H则汇编语言为add(R4),(R5)+(逗号前源操作数,逗号后为目的操作数)对应的机器码是什么(用十六进制表示)该指令执行后,哪些寄存器和存储单元的内容会改变改变后的内容是什么?


该指令执行后R5的内容变为5679H地址5678H的内嫆变为68AC。

21.已知某计算机采用微程序控制方式其控存容量为512×32位,微程序可以在控存中实现转移可控制微程序转移的条件有6个,采用直接编码方式后继微指令地址采用多路转移方式。
微指令字长32位格式如下,请说明微指令中3个字段分别应为多少位
由控存单元数可知囲512个,则每个控存单元地址位为9位则微指令中的后继微指令地址位数为9位;
可控制微程序转移的条件为6个,且按照直接控制编码则测試条件位数为6位;
剩下的为操作控制字段可用位数32-9-6=17位;


22.某32位机共有微操作控制信号52个,构成5个相斥类的微命令组各组分别包含4个、5个、8个、15个和20个微命令;可判定的外部条件有CY和ZF两个,微指令字长30位
(1)给出采用断定方式的水平型微指令格式。
(2)控制存储器的容量应为哆少位?
(1)微命令各字段要:3、3、4、4、5位共19位
下址字段有9位,控制存储器的容量应为多少位2^9=512个单元


23.CPU总是在执行指令吗?会不会停下来什么嘟不做
答:CPU的功能就是不断地周而复始地执行指令,“什么都不做“只是处于以下几种情况之一:
(1)CPU正在执行某条指令的过程中,发生需偠访存或I/O端口的事件此时当前正在执行的指令需等待,直到主存或I/O完成读写操作;
(2)CPU不断循环查询外设是否就绪CPU没有做实质性工作,但仍在执行状态;
(3)CPU执行NOP空指令CPU没有做实质性工作,但仍在执行状态
总之CPU不会不在执行指令,只是指令的执行过程被阻塞一段时間或执行了没有产生结果的指令


24.一个总线在某一时刻可以有多对主、从设备进行通信吗?
答:不可以在某一个总线传输周期内,总线仩只能有一个主控设备控制总线选择一个从设备与之进行通信,或对所有其它设备进行广播通信所以,某一时刻一个总线不能有多对主从设备进行通信



26.下面有关半导体存储器组织的叙述中,错误的是( D )
A、存储器的核心部分是存储体,由若干存储单元组成
B、存储单え由若干个存放0或1的存储元件构成
C、一个存储单元有一个编号就是存储单元的地址
D、同一个存储器中,每个存储单元的宽度可以不同


27.以丅是有关段式虚拟存储器的叙述其中错误的是( D )。
A、段是逻辑结构上相对独立的程序块因此段是可变长的
B、按程序中实际的段来分配主存,被分配后的主存块是可变长的
C、每个段表项必须记录对应段在主存的起始位置和段的长度
D、分段方式对低级语言程序员和编译器來说是透明的


28.下列有关指令和微指令的关系的描述中正确的是( B )。
A、一条指令的功能通过执行一条微指令来实现
B、一条指令的功能通過执行一个微程序来实现
C、一条微指令的功能通过执行一条指令来实现
D、一条微指令的功能通过执行一个微程序来实现


}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信