-
数据结构 与 数据类型的区别、疑惑
2020-05-07 23:11:58数据结构包括哪几个方面的内容? 答案是 数据结构包括3个方面的内容:数据之间的**_逻辑关系_**、数据在计算机中的**_存储方式_**,以及在这些数据上_定义的运算的集合_**(数据操作)。 ---------- 到底... -
IOS学习之——面试问题集锦
2016-03-30 20:08:271.C语言有多少个关键字? 32 2.变量与常量的区别是什么? // 变量可变 存在栈区 常量不可变 常量区3.... // 大小写 字母 数字 下划线 美元符 驼峰命名法,不能以数字开头4.c语言有哪五...逻辑运算有哪几种?判断原则是什么? /1.C语言有多少个关键字? 32 2.变量与常量的区别是什么? // 变量可变 存在栈区 常量不可变 常量区 3.变量的命名遵循什么原则? // 大小写 字母 数字 下划线 美元符 驼峰命名法,不能以数字开头 4.c语言有哪五大数据类型? // 基本类型 空类型 结构类型 自定义类型 5.常见的运算有哪些? // 数术 逻辑 关系 赋值 6.逻辑运算有哪几种?判断原则是什么? // 逻辑与 && 逻辑或|| 逻辑非 ! 7.存在多个运算符时,运算顺序由什么决定的? // 先算高级运算 同等级 从左往右 8.计算机存储的数据本质上是什么? // 二进制 9.流程控制有哪几种? //顺序 判断 循环 10.选择结构有哪几种? //if, if(){}else if(){} 11.switch语句如果case里没有break的执行流程是什么? // 穿透 12.循环结构有哪些? // while for do-while 13.什么时候适合用for什么时候适用用while? // 当知道循环次数是 用for 当不知道次数是用 while 14.for与while能不能相互转换? // for 循环 可以转换 while while 不一定能转换for 15.do while与while的区别是什么? // do while 至少会执行一次 16.continue与break的作用及区别是什么? // continue 是跳出本次循环 循环会继续执行 break 结束循环 17.什么是进制? // 进制就给计算机识别的 18.计算机中常见的进制是有哪些?怎么表示? // 二 八 O 十 十六 OX 进制 19.2进制有2吗?16进制每位最大是多少? // 没有 F 20.常见的位运算有哪几种?判断逻辑是什么? //与 或 异或 取反 21.函数可以分为哪几类?使用步骤是什么? // 无参无返回值 无参有返回值 有参无返回值 有参有返回值 先声明 再调用 22.函数的作用域是什么? 23.函数声明的作用是什么?可以没有声名吗? // 告诉编译器 可以在 主函数前面 没声明 24.函数的参数会开辟空间吗? // 会 25.函数的参数传递的是实际是什么? // 值传递 是把实参值传给形参 26.如果用函数改变一个局部变量的值? 27.什么是数组?什么时候用数组? //数组是把相关相同的数据集合在一起 当要把相同的数据集合在一起的时候 28.数组常见的排序算法有哪些? //冒泡排序 选择排序 快排 29.数组的元素的个数可以改变吗? // 不可以 30.定义数组时可不可以不写长度?什么时候必须写长度? // 当一维数组 定义同时赋值时不用 定义不赋值的时候 31.数组批量赋值要注意什么问题?什么情况下才可以批量赋值? // 要注意数组长度 定义同时一起赋值 32.指针是什么? // 指针是指 装地址的一个储存空间 33.指针可以进行什么运算? // 加减运算 赋值 34.指针加1或减一时移动的字节数由什么决定? // 是由当前的指针类型决定 35.如何确定一个指针的类型? 36.如何给一个数据类型定义指针? 37.什么叫野指针? // 当定义一个指针没初始化,使用指针 38.什么叫常量指针?什么叫指针常量? 39.数组名代表什么?什么叫指针数组?什么叫数组的指针? //代表数组的第一个元素首地址 指针数组是数组的每个元素 // 都是装指针的,数组的指针是指数组的首地址 40.C语言字符串有哪几种定义方式?各有什么区别? // 两种 字符数组每个元素代表一个字符 有\0 字符串数组 系统默认加\0 41.什么叫结构体? //是几个不同数据的集合 42.结构体的内存分配原则是什么? // 在足够的储存的情况下 巡址是从高到低,结构体的数据类型所占的字节数是当前的最大数据类型 的整数倍 43.结构体名含有首元素的地址吗? // 没有 44.枚举是什么?有什么作用? //是一种数据类型 是把多个整形常量以自定义的形式封装成一个整体 45.typedef有什么作用? // 是给数据类型 起别名 46.C预处理指令是什么?有哪几类? /* 宏定义:#define 代码替换,为了出现符号的优先级,替换后的代码加(), 头文件包含:#inclde 文件复制,会把整个文件内容复制; 条件编译:#if #else 给定条件为真,则编译下面代码 */ 47.防止重复包含与交叉包含的方法是什么? 48.static与extern的区别是什么? 49.文件操作的步骤是什么? // 打开文件 操作文件 关闭文件指针 50.文件操作的输入与输出怎么区分?是相对于什么而言? OC 部分 1.OC对比C语言多了什么数据类型? // BOOL block 2.#include与#import的异同点是什么? /* import 与include的区别 1.include是在C语言中.而import是在OC中,且仅在OC中使用,而include则C与OC都可以,因为OC兼容C. 2.include并没有做重复包含优化,需要自已用条件编译与宏定义去实现.而import自已内部已经实现了. 相同点: 1.都是预处理指令 2.都是文件内容拷贝 */ 2.OC是一门什么样的语言?面向对象与面象过程的区别是什么? //面向对象的语言 面向对象是只关心找谁去完成 面向过程是自己怎么完成每一步的过程 3.什么是类,什么是对象? //类是具体事物的抽象 对象是该类事物实实在在的个体 4.一个类主要有哪些部分组成? //类声明与实现 5.一个类可不可以没有声名?可不可以没有实现? // 可以没声明 但是不能没有实现 6.类的属性又称为什么?可不可以在定义时赋值?定义时默认是多少? //实例变量 不可以在定义时同时赋值 0 7.方法有哪两种?有什么区别? /* 两种 类方法以 + 开头,类方法是由类名调用,类名对是象名 2 对象方法以 - 开头,对象方法是由对象调用 类方法和对象方法可以同名 */ 8.方法与函数有什么区别? 9.用什么表示对象?什么叫匿名对象? //匿名对象:仅用来实现对象方法或者作为方法的参数时使用的对象,只能在创建时使用一次,访问类的实例变量无意义 10.内存主要分为哪几个区?对象在哪个区? //五大区 栈区 堆区 静态区 常量区 代码区 2堆区 11.属性的作用域由什么控制?分别是什么? // 权限控制 @public @package @private @protected 12.面向对象的三大特性是什么? //封装 继承 多态 13.什么是继承?继承必须满足什么条件? // 当A对象拥有B对象的所有声明 属性 与方法 而且A对象拥有独有的属性和方法 子类是父类 14.什么是组合(关联)?什么是依赖? // 1当A对作为B对象的属性时 2当A对作为B对象的方法的参数和局部变量是 15.OC是的方法可不可重写?可不可以重载?(方法名相同,参数不同称为重载) // 可已 不可以 16.属性能不能重写? // 不可以 17.self与super的作用及区别? /* /*self的用法 self 可以在类中用来表示调用者,去调用方法.或属性. 注意: 当self调用属性时,只在对象方法中.因为类方法中不能用属性. self调用属性,只表示类的对象. super 表示:调用父类中的方法. 使用场合: 当子类重写父类的方法后,在某些情况下,又需要用到父类方法的功能. 注意:对象方法中只能调用父类的对象方法.类方法只能调用对象的类方法. 如果子类没有重写父类的方法,没有必要用super.用self. 所以只有在子类重写了父类方法的时候,我们调用父类方法,才要用super. 属性不能用super.因为子类不能重写父类的属性. */ 18.什么是多态?多态的有什么作用? // 父类的指针向了子类的对象 代码的拓展性和复用性强 19.多态要满足什么条件? // 有继承关系 当父类指针指向子类对象时,父类必须要强转 20.多态中父类能直接访问子类独有方法及属性吗? // 不能 必须强转 21.id指针是什么?有什么作用? // 是OC一个指针--万能指针 用于表示任意的对象.类似于NSObject*, id本身已经封装好了一个*.不用加!!! //可以动态调用子类的方法.调用子类独有方法时,不需要强转! //注意:点语法除外!! 也就是id指针无法通过点语法给独有属性赋值.如果要使用,必须强转 22.id指针能使用点语法吗?能用调用子类独有方法吗? //id指针无法通过点语法给独有属性赋值.如果要使用,必须强转. //可以动态调用子类的方法.调用子类独有方法时,不需要强转! 23.类的本质上是什么?类的方法与属性内存的同一片区域吗? /* 本质上还是一个对象.叫类对象.这个对象的类型:Class 类对象是在程序启动的时候加载的,与对象创建无关. 加载的标志:是load方法. 对象是在它被创建的时候加载的.且必须在类对象加载完成后才会加载. 对象加载会执行initialize方法. 只会在对象第一次创建的时候执行. init :构造方法 构造方法是在对象被创建的时候执行的.对象每次创建都会执行. 注意: 1.一个类的实例对象被创建,则其父类的对象也会被创建.(直接或间接父类都会被创建) 2.分类的load方法不会覆盖主类的.主类与分类的load方法在程序启动的时候都会执行. */ 24.OC中封装主要指的是什么? //对属性的封装 //让一个属性不能让外部直接访问,而是由我们提供set与get方法去访问. //好处: //提高安全性 隔离的变化 提高复用性 便于使用 25.点语法的本质是什么?用点语法访问与赋值底层做了什么操作? // 属性的调用 编译器自动替换为set 和get 26.@property有什么作用? //编译器启动生成 set和get 方法 27.什么时候@property不起作用? // 当自己写出标准的set和get 方法时 28.动态类型与静态类型的区别?举例说明? //动态类型:编译时类型不确定,运行时才检测的类型,例如: id obj = [Person new]; //静态类型:编译时已经确定的类型,例如: Person *per = [Person new]; 29.构造方法有什么作用? //是一个对象在初始化的时候执行的方法. 30.重写构造方法的好处是什么?缺点呢? //给属性初始化时可以赋值,优点:实现简单. 不足:不能够根据不同对象赋不同的值,属性的值是固定的. 31.为什么要自定义构造方法?要注意哪些问题? /*优点:使用灵活,可以根据不同的对象给属性设定不同的值. 不足:写法比较麻烦一些. 注意: 自定义构造方法必须以init开头.而且,第二个单词首字母必须大写.--规则! 子类继承父类自定义构造的写法. 在子类里自定义构造时,要调用父类的自定义构造,而不是NSObject的init.这样才能隔离父类的变化. 而且,父类的属性可以保持私有化private. */ 32.OC内存管理的目的是什么?什么叫内存泄露? // 防止内存泄露 当一个对象不在使用时,这个对象没有被销毁,空间没有释放时,这就叫内存泄露 33.OC内存管理分为哪两种? // 手动管理 MRC 自动管理 ARC 34.MRC内存管理的目的及原则是什么? //防止内存泄露, //内存管理的原则:不再使用的对象必须销毁,释放内存. 35.ARC内存管理的机制是什么? //以下添加或减少计数器值的方式,不再需要手动添加,全不能手动添加,编译器全部帮你实现. 36.内存管理的方法有哪些?这些方法能不能在ARC里使用? //retain,release,dealloc 37.对象在释放时调用哪个方法?MAC与ARC下重写这个方法要注意什么问题? //dealloc 38.什么叫僵尸对象? //僵尸对象:当一个对象的引用计数变为0(MRC)或者没有被强指针指向时,其所占用的内存就会被系统回收.但是系统在没有新对象使用该空间前不会初始化该内存区域,原对象的数据信息仍会保留,通过原有的指针,可能仍可以访问到被释放对象的信息,这时候就称这个对象为"僵尸对象".对于僵尸对象,编译器并不会报错,需要在Xcode界面中设置开启僵尸对象检测 39.什么叫野指针?什么叫空指针? //OC中的野指针就是指向僵尸对象的指针或者未赋值的指针(类似于C中的野指针) 40.什么叫强指针?什么叫弱指针?分别用什么表示? ARC //强指针:__strong 对象被销毁之后,指针仍然指向那片内存区域.成为野指针. (默认) //弱指针:__weak 对象被销毁后,指针不再指向那片内存区域,成为空指针nil; //注意:strong和weak都只能用于oc对象.非oc对象仍然用assign. 如:基本数据类型. MRC //强指针:retain :表示自动生成set方法的内存管理,表示会自动release旧值,retian新值 .只用于OC对象 //弱指针:assign: 不生成自动内存管理.非OC对象.(不加默认是这个) 42.@property的参数是要有哪几类?分别是什么?有什么作用? /* 参数: 内存管理相关: retain :表示自动生成set方法的内存管理,表示会自动release旧值,retian新值 .只用于OC对象 assign: 不生成自动内存管理.非OC对象.(不加默认是这个) copy :表示自动生成set方法的内存管理,表示会自动release旧值,copy新值 强指针:__strong 对象被销毁之后,指针仍然指向那片内存区域.成为野指针. (默认) 弱指针:__weak 对象被销毁后,指针不再指向那片内存区域,成为空指针nil; 跟权限相关: readonly:只读.不自动生成set方法,只生成get方法 readwrite:可读可写:自动生成set与get方法 (不加默认是这个) 跟多线程相关: nonatomic:不同步,性能更高.--推荐 atomic:同步 性能更低. (不加默认是这个) 跟get与set方法命名相关: getter=get方法名 表示生成你自定义的get方法名.不再是原有的以属性名命名的方法 setter=set方法名: 表示生成你自定义的set方法名. 注意这个一般不设置. BOOL型除外. */ 下面的答案有错误的和不够完整的请见谅,本帖仅供参考。 如果想要更详细的,把问题放到百度 43.什么问题是ARC模式解决不了的?MRC与ARC如何解决循环引用的问题? // 循环引用循环引用: 概念: 一个对象引了另一个对象, 而另一个对象中同样引用了这个对象.两个对象互相引用. //MRC:一个retian 一个用assgin //ARC:一个用strong 一个用week 44.@autoreleasepool有什么作用? /* 作用:会把池内调用过autorelease的对象全部release一次.注意:是在这个池销毁的时候. 不足:控制不灵活,只能等释放池销毁才会release. 注意:不要把大对象放在这里auturelease.占用内存大的对象要手动release,在对象用完之后. */ 45.autorelease的作用是什么?要注意什么样的问题?与release区别是什么? /* 作用:把对象放到一个自动释放池里,则对象会被自动回收. 因为自动释放池销毁时会让对象调用release方法. 用法: 直接让对象创建后,调用一次autorelease方法. 这个方法会返回对象本身. 好处: 不用关心对象在什么时候释放. 注意: 1.不能再调用autorelease方法后,再调用release. 2.不能重复调用autorelease */ 44.@class与#import有什么区别? // @class 只会告诉编译器,这里要用到的是一个类,但是这个类里的属性与方法不知道, //#import是会把整个头文件拷贝到当前文件,则这个类以及这个类的属性与方法都知道. //@class不需要拷贝文件内容,执行效率更高.我们只需要在需要有到这个对象里的属性或方法时,再去导入头文件即可.(推荐) //#import只要导入,就会拷贝,不管这个文件是否要用到对象属性或方法.效率更低,同时,只要头文件改动,全部需要重新拷贝,编译. 45.分类Category是什么?有什么作用? /* 好处: 1.可以把一个类分模块,便于协同开发,并优化类的结构. 2.不改变类名,给类添加功能. 注意的问题: 1.分类不能写(添加)属性.只能(添加)写方法. 2.分类中的方法不能与主类或其它分类重复.即不能重写.如果重写了,那么会覆盖原来的方法. 3.分类中可以直接用主类的属性,但是属性的权限要>=@protected 4.不同分类中重写了同一个方法.那么哪个分类最后编译,则哪个分类的方法执行. 5.主类永远在分类之前编译 编译顺序: 父类-->主类-->分类(多个分类是可以调整顺序的) */ 46.分类与子类的相同点和区别是什么? 47.协议是什么?有什么作用? //协议就是一系列方法的列表.也是用来遵守的.如果一个类遵守了一份协议,就表示这个类拥有了这个协议里的所有方法. 48.协议中能定义属性吗?协议中有方法的实现吗? //不能定义属性, 只有方法的声明 没有实现 49.协议中的方法一定要实现?通过什么来控制方法是否一定要实现? //不一定要全部实现 取决于关键字 @optional: 不一定要实现 @required: 一定要实现 50.协议可以多遵守吗?可以协议遵守协议吗? //可以多遵守协议 可以协议遵守协议 51.协议限定对象类型指的是什么?代码怎么体现? //id 指针 id<ProtocolTest> ns 52.什么叫OC的代理模式?实现步骤是什么? /* 1.找代理对象去帮我们做事情. 2.当一个对象A希望在做某些事情的时候,告诉另一个对象B.--可以让B成为A代理. 3.当一个对象B希望另一人对象A在做完某些事情时,自已能知道.----可以让B成为A的代理. 定义: 1.分析需求,看实现需求需要哪些行为. 2.定义协议:把这些行为声名在协议中. 3.定义需求类,在类中定义一个id属性,让这个id属性去遵守这个协议.(限定这个id指向的对象类型) 4.定义一个实现需求的方法声名在类中. 5.在类的实现里去实现这个需求. 6.在这个方法的具体实现中调用id属性去动态调用对应的方法.去实现具体需求. 使用: 1.让一个类去遵守这个协议. 2.同时实现这个协议里的所有方法. 3.创建这个类的对象.以及需求类的对象,赋值给需求类的id指针. 4.让需求类的对象调用自已实现需求的方法.(真实处理需求的是代理对象). */ 53.block是什么?与函数有什么区别? //作用:对代码的封装,可以在程序运行时动态封装调用.效率很高. 54.block能访问外部变量吗?能直接修改吗?怎么样才能? //能访问外部变量 变量只有加了__block才能在block内部改变.默认不能改变外部的值,只能只读. 55.block可以当做哪些成分?要注意什么问题? 56.Foundation框架主要分为哪几大类? //结构体 集合 字符串 字典 NSDate NSValue NSNumber 拷贝 description 57.结构体主要分为哪几大类?各有什么作用? // NSRange 范围 NSPoint 坐标(X,Y) NSSize 宽高 W H NSRect 矩形 ( X,Y,W,H) 58.字符串主要分为哪两类?有什么区别? // NSArray 不可变字符串:长度不可变 ;NSMutadleArray //可变字符串,长度可变 NSMutadleArray 是NSArray 的子类 59.字符串主要有几种创建方式? // 普通创建 动态创建 通过C语言字符串创建,将C语言字符串,转换成了OC字符串 // 从文件中读取创建 从URL读取.URL: 60.字符串输出的方法主要有哪几种? // 把字符串输出到一个文件中 把字符串输出到一个 资源对象中(URL) 61.可变字符串常见操作有哪些? // 1增加:在后面增加 2减少:在删除一定范围的字符串 // 3替换:把某一个范围内的字符串替换成别的字符串 62.字符串常见用法有哪些? // 1 把字符串的所有的字符变成大写 ,2 把字符串的所有字符串的字符变成小写, // 3追加:重新生成一个字符 4 两个字符串的比较大小 ;是否相等 5 截取; 63.集合框架是要有哪三类? // NSArray NSSet NSDictiongary 64.Array集合是什么?分为哪两类? // NSArray NSMutableArray 65.Array集合常见操作有哪些? // 取值 遍历集合 66.Set集合是什么?分为哪两类? // 无序 的集合 NSSet NSMutableSet 67.Set集合常见操作有哪些? // 取值 遍历集合 68.Array与set集合是区别是什么? // NSArray 是一个有序的集合 可以遍历取出每一个值 // NSSet是一个无序的集合 遍历只能随机取出一个值 69.字典是什么?主要有哪两类? // 1 键值对 2 NSDictionary NSMutableDictionary 70.字典的常见操作有哪些? // 创建 遍历取值 NSMutableDictiongary 可以增加 删除 修改 71.字典的key值能相同吗?value值呢? // 不能 可以 72.NSNumber的主要作用是什么? // 1把基本数据类型包成OC对象 2把OC对象拆成基本数据类型 73.NSValue的主要作用是什么? // 1把结构体包装成OC对象 2把OC对象拆成 结构体 75.NSDate的主要作用是什么? // 1获取当前时间,或者获取任意一个时间节点,并封装成对象 // 2把一个字符串的时间转换成NSDate的对象 // 3 把NSDate对象转换成对应格式的字符串 76.description的作用是什么? // 1判断一个对象是否是一个类或者子类的对象 ,不包含父类 // 2判断一个对象是否是一个类的对象(实例) 不包含子类 78.copy的作用是什么? // 拷贝数据 79.深复制与浅复制有什么区别? //1.深复制:就是表示拷贝一个对象去生成一个新对象.也就是新对象与之前对象占用不同的空间,但内容一致. //2.浅复制:就是表示拷贝一个对象指针对生成一个新的指针.这两个指针指向同一个对象. 80.可变字符串与不可变字符串,可变集合与不可以变集合深复制与浅复制的区别?
-
js2
2019-09-20 15:30:541.js 的组成(中英文) ...2.运算有哪几种,分别是什么 算数: + - * / % 关系: < <= > >= == != === 逻辑:|| && ! 赋值: = += -= *= /+ %= ++ – 3.js 数据类型有哪些(英文) 字符st...1.js 的组成(中英文)
DOM:文档对象模型
BOM:浏览器对象模型
ECMAScript: 语法规范
2.运算有哪几种,分别是什么
算数: + - * / %
关系: < <= > >= == != ===
逻辑:|| && !
赋值: = += -= *= /+ %= ++ –
3.js 数据类型有哪些(英文)
字符string,数值number,布尔boolean,undefinde,对象object, 函数function,数组array,null
4.js三大特殊的值
undefinde,null,NAN
5.如何将字符"3.1415";
var a = “3.1415”;
a - 0
a * 0
a / 0
6.如何声明变量
var a = 10;
7.如何检测数据类型
typeof 数据 (变量)
8.数据类型:
字符型string: " " , ’ ’
数值型number: 012345678
布尔型boolean:true ,false
未赋值型undefinde:undefinde
对象型object:{name:“admin”}
数组型array:[1,2,3,4,“a”,“b”]
函数型: function(){}
空null:null -
java面试宝典2011整理有答案
2011-11-09 13:36:06解析XML文档有哪几种方式? 117 七. 流行的框架与新技术 117 1、谈谈你对Struts的理解。 117 2、谈谈你对Hibernate的理解。 118 3、AOP的作用。 118 4、你对Spring的理解。 118 5、谈谈Struts中的Action servlet。 ... -
超级有影响力霸气的Java面试题大全文档
2012-07-18 09:47:04引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始... -
微机原理期末复习
2021-01-04 11:20:492、总线分为哪几种类型?微型计算机采用总线结构有什么优点? 【答】 (1)分为地址总线,数据总线与控制总线三类,又称三总线。 (2)微型计算机的三总线结构是一个独特的结构。采用总线结构,系统中各功能部件之间的...1、简述微型计算机的组成。
【答】微型计算机是由微处理器、存储器、输入/输出接口电路和系统总线构成的裸机系统。
微处理器: 进行算术和逻辑运算, 完成内部与外部控制功能;存储器存储代码与数据信息;输入/输出接口电路实现外设与CPU信息交换。总线将各个部件互联。
2、总线分为哪几种类型?微型计算机采用总线结构有什么优点?
【答】 (1)分为地址总线,数据总线与控制总线三类,又称三总线。
(2)微型计算机的三总线结构是一个独特的结构。采用总线结构,系统中各功能部件之间的相互关系,变成了各功能部件面向总线的单一关系。一个部件只要符合总线标准,就可以连接到采用这种总线标准的系统中,使系统功能得到扩展。
3、8086 CPU在内部结构上由哪几部分组成?其功能是什么?
【答】 8086的内部结构-成两部分:总线接口部件BIU,负责控制存储器或I\O端口读写。执行部件EU,EU从指令队列中取出指令并执行。
4、8086的总线接口部件由那几部分组成? 其功能是什么?
【答】8086的总线接口部件主要由下面几部分组成:4个段寄存器CS/DS/ES/SS, 一个16位的指令指针寄存器IP, 一个20位地址加法器, 6字节的指令队列。
5、8086的执行单元(部件)由那几部分组成?有什么功能?
【答】 8086的执行单元部件主要由下面几部分组成:控制器、算数逻辑单元、标志寄存器、通用寄存器组。
(1)控制器,控制指令的读取、指令译码、指令的执行等。
(2)算数逻辑单元ALU,根据控制器完成8/16位二进制算数与逻辑运算。
(3)标志寄存器,使用9位,标志分两类,其中状态标志6位,存放算数逻辑单元ALU运算结果特征;控制标志3位,在某些指令操作中起控制作用。
(4)通用寄存器组,用于暂存数据或指针的寄存器阵列。
6、8086CPU内部包括哪几个通用寄存器? 8086内部有哪几个段寄存器?
【答】四个16位数据寄存器AX、BX、CX、DX,二个指针寄存器SP、BP, 二个变址寄存器SI、DI。这些寄存器使用上一般没有限制,但对某些特定指令操作,必须使用指定寄存器.
段寄存器: DS,CS,SS,ES
7、简述80486微处理器的工作模式中的虚拟8086模式特点。
【答】虚拟8086模式方式允许80486既运行在保护模式下,又可以直接执行8086代码。实际上,虚拟8086模式利用了硬件虚拟化技术实现了在80486 CPU上仿真出多个8086 CPU,并在其上运行各自的8086应用程序。
8、简述8086CPU的流水线思想,与传统计算机有何不同。
【答】(1)传统的计算机一般按照取指令、指令译码/执行指令的步骤工作。
(2)在8086/8088中,指令的提取与执行分别由总线接口部件BIU与执行部件EU完成,两个单元交叠并行工作,这种机制称为流水线,这种并行工作方式有力的提高了CPU的工作效率。
9、8086和8088是怎样解决地址线和数据线的复用问题的? ALE信号何时处于有效电平?
【答】(1)8086采用分时复用技术与地址锁存技术解决地址线和数据线的复用问题。
(2)T1状态,8086送地址,地址/数据复用总线AD15~ AD0上输出的是地址信息,ALE有效,将地址锁存。T3状态传送数据,地址/数据复用总线AD15~ AD0上输出的是数据信息。
10 CPU 和输入/输出设备之间传送的信息有哪几类?
【答】 数据信息、状态信息、控制信息。.
11 -存储器的逻辑地址由哪几部分组成?存储器的物理地址是怎样形成的?一个具有32位地址线的CPU,其最大物理地址为多少?,
【答】存储器的逻辑地址由段地址与段内偏移地址组成。存储器的物理地址:将16位段地址左移四位后,加上 16位段内偏移地址,形成20位物理地址。一个具有32位地址线的CPUJ,其最大物理地址为2的32次方=410241024*1024B=4GB。12、根据不同的寻址方式,说明指令中操作数所处位置有哪些?
【答】 根据不同的寻址方式,指令中操作数所在的地址包括:指令中(立即数)、寄存器中、存储器中、I/O端口上。
13. 汇编语言中指令与伪指令有什么区别? 简述指令性语句与指示性语句的作用与区别。
【答】(1)指令汇编时产生机器码,伪指令汇编时不产生机器码。
(2)指令性语句,由指令助记符构成,由CPU执行,每条指令都与一条机器码对应,汇编时产生机器码。
(3)指示性语句,由伪指令组成,是说明性语句 ,汇编时不产生机器码。
14·什么叫端口?通常有哪几类端口?他们的作用是什么?
【答】端口是指接口电路中能够被CPU直接访问的寄存器。按照保存在端口中数据的性质,端口可分为数据端口,状态端口,控制端口。数据端口:存放CPU与外设之间传送的数据信息。状态端口:反映当前外设所处的工作状态。控制端口:CPU 通过接口向外设传送控制信息。
15、计算机对I/O端口编址时通常采用哪两种方法?在8086/8088系统中,用哪种方法对I/O端口进行编址?
【答】
(1) 对端口编址的两种方法。计算机对内存和I/O端口统一编址;计算机对内存和I/O端口分别进行编址。
(2) 在8086/8088系统中用计算机对内存和I/O端口独立编址。
16、 一般的IO接口电路安排有哪三类寄存器?它们各自的作用是什么?
【答】
(1)安排数据寄存器、状态寄存器、控制寄存器。
(2)数据寄存器:存放CPU与外设之间传送的数据信息。状态寄存器: 存放当前外设所处的工作状态。控制寄存器: 存放CPU通过接口向外设传送控制信息。
17、简述CPU、内存和I/O接口之间的几种常用数据交换方式与特点。
【答】CPU与外设之间的数据传输有以下三种方式:程序方式、中断方式、DMA方式。
(1)程序方式又分为无条件传送方式和条件传送方式两种方式,接口简单。条件传送方式(又称查询时方式)用于外设较少、需要联络信号的情形。
(2)中断传送方式需要专门的中断控制电路。CPU利用率高,速度快,用于外设较多的实时系统。
(3)DMA方式需要专用硬件电路。外设直接和存储器进行数据传送,效率高,适合大量、快速数据传送,例如硬盘读写等。
18、简述查询式(条件)传送方式的工作过程,主要适用的场合。
【答】
1)条件传送数据有三个环节:(1)CPU从接口中读取状态字。(2)CPU检测状态字的对应位是否满足“就绪”条件,如不满足,则回到前一步读取状态字。(3)如状态字表明外设已处于就绪状态,则传送数据。
2)主要用于需要联络信号(如选通信号)的外设较少的系统。
19、什么是中断优先权?什么是中断嵌套?什么是可屏蔽中断?
【答】
中断优先权:对多个中断源分别赋予不同优先等级,中断处理时按优先权次序进行处理。
中断嵌套:CPU正在为优先级低的中断源进行中断服务,此时有级别更高的中断源发中断请求,若CPU响应优先级高的中断请求,转而为优先级高的中断源服务,称为中断嵌套。
可屏蔽中断:由外设发出的中断请求,由8086可屏蔽中断引脚INTR引入,受中断标志位IF的控制。
20、软件中断有哪些特点?硬件中断有那些特点?
【答】
(1)软件中断是由CPU内部事件引起的中断,是确定的 ;与硬件无关,不执行中断响应周期;除单步中断外,软件中断(内部中断)不可屏蔽;优先级高于硬件中断(外部中断)。
(2)硬件中断由外部事件引起,是随机的,需要执行总线周期,中断类型码由中断控制器提供 。
21、在中断处理子程序和主程序的关系上,软件中断和硬件中断有什么不同之处?
【答】(1)当软中断响应后,CPU自动形成中断类型码,然后进入中断处理子程序;
(2)当硬件中断响应后,CPU通过总线从中断控制器获取中断类型码,然后进入中断处理子程序。
22、8086CPU响应中断的流程包含哪四个阶段?
【答】 8086CPU响应中断流程包含:中断请求、中断响应、中断服务和中断返回四个阶段.
23、8259A中 IRR、IMR和 ISR三个寄存器的作用是什么?
【答】 中断请求寄存器IRR:保存对应位的中断请求
中断屏蔽寄存器IMR:屏蔽对应位的中断请求;
中断服务寄存器ISR:保存对应位当前正在服务的中断申请。
24 8086 CPU响应中断的条件?简述8086CPU响应中断处理过程。
【答】 CPU响应中断的条件:(1)有中断源发出的中断请求信号,并保存在中断请求触发器中,直至CPU响应此中断请求之后才清除。(2)开放总中断。(3)在现行指令结束后响应中断。
8086CPU的中断处理过程:
CPU自动完成如下工作:
关中断,断点保护,形成中断入口地址。即获得中断服务程序的入口地址,从而进入中断服务程序。
(2)CPU中断服务。包括保护现场、CPU开放中断、中断处理、CPU关中断、恢复现场。
(3)中断返回。
25、什么是中断向量?它放在哪里?对应于类型号1CH的中断向量在哪里?如1CH中断程序从5110H :2030H开始,则中断向量应怎样存放?
【答】
(1)中断向量是中断处理子程序的入口地址,它放在地址为00000H开始的连续存储单元中,称为中断向量表中。
(2)由1ch*4=70H知中断向量存放在0000:0070处。
(3)由于中断处理入口地址为5110H:2030H,所以2030H应放在0070H,0071H两个存储单元,5110H应放在0072H、0073H这2个单元。 -
C++程序员面试宝典
2013-04-01 13:36:19面试题37 C++中有哪几种基本数据类型 38 面试题38 整型有哪几种形式?各种形式有什么区别 39 面试题39 C++中有哪些常量 40 面试题40 常量与变量有哪些区别 42 4.2 操作符 42 面试题41 操作符有哪些分类 43 面试题42 ... -
C语言程序设计标准教程
2009-05-22 18:43:58指针变量的赋值运算有以下几种形式: ①指针变量初始化赋值,前面已作介绍。 ②把一个变量的地址赋予指向相同数据类型的指针变量。例如: int a,*pa; pa=&a; /*把整型变量a的地址赋予整型指针变量pa*/ ③把一个... -
计算机二级C语言考试题预测
2010-06-08 18:29:34(31) 算法一般都可以用哪几种控制结构组合而成(D) 注:P3 A. 循环、分支、递归 B. 顺序、循环、嵌套 C. 循环、递归、选择 D. 顺序、选择、循环 (32) 数据的存储结构是指(B) 注:P13,要牢记 A. 数据所占的存储空间量... -
二级C语言公共基础知识
2009-11-20 11:26:03(31) 算法一般都可以用哪几种控制结构组合而成______。(D) A. 循环、分支、递归 B. 顺序、循环、嵌套 C. 循环、递归、选择 D. 顺序、选择、循环 (32) 数据的存储结构是指______。(B) A. 数据所占的存储空间量 B. ... -
C#数据结构
2013-12-10 11:49:545、 能行性(realizability):算法中的每一步都可以通过已经实现的基本运算的有 限次运行来实现。 算法的含义与程序非常相似,但二者有区别。一个程序不一定满足有穷性。 例如操作系统,只要整个系统不遭破坏,它将... -
《数据结构 1800题》
2012-12-27 16:52:037. 根据数据元素之间的逻辑关系,一般有哪几类基本的数据结构? 【北京科技大学 1998 一、1】【同济大学 1998】 8.对于一个数据结构,一般包括哪三个方面的讨论?【北京科技大学 1999 一、1(2分)】 9. 当你为... -
Java程序员面试宝典pdf
2013-02-21 13:06:13面试题149 EJB的类型有哪几种 267 面试题150 EJB程序的开发思路和步骤是什么 268 面试题151 无状态会话Bean的生命周期是怎样的 271 面试题152 有状态会话Bean的生命周期是怎样的 274 面试题153 Servlet如何调用EJB ... -
大话数据结构
2019-01-10 16:35:22于是商品房就出现了各种各样的户型,有几百平米的别墅,也有仅两平米的胶囊公寓…… 1.6.1数据类型 11 .1.6.2抽象数据类型 12 1.7总结回顾 14 1.8结尾语 15 最终的结果一定是,你对着别人很牛的说“数据结构——就... -
大话数据结构 程杰
2018-09-01 10:06:43于是商品房就出现了各种各样的户型,有几百平米的别墅,也有仅两平米的胶囊公寓…… 1.6.1数据类型 11 .1.6.2抽象数据类型 12 1.7总结回顾 14 1.8结尾语 15 最终的结果一定是,你对着别人很牛的说“数据结构——就... -
java 面试题 总结
2009-09-16 08:45:34引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始... -
《大话数据结构》( 程杰 编著)
2018-02-15 10:00:21于是商品房就出现了各种各样的户型,有几百平米的别墅,也有仅两平米的胶囊公寓…… 1.6.1数据类型 11 .1.6.2抽象数据类型 12 1.7总结回顾 14 1.8结尾语 15 最终的结果一定是,你对着别人很牛的说“数据结构——就... -
大话数据结构(中文高清版)
2017-04-19 11:57:09于是商品房就出现了各种各样的户型,有几百平米的别墅,也有仅两平米的胶囊公寓…… 1.6.1 数据类型 11 1.6.2 抽象数据类型 12 1.7 总结回顾 14 1.8 结尾语 15 最终的结果一定是,你对着别人很牛的说"数据结构--就... -
大话数据结构三个版本
2018-09-10 09:39:38反正也是要让相邻元素间留有足够余地,那干脆所有元素都不要考虑相邻位置了,哪有空位就到哪里。而只是让每个元素知道它下一个元素的位置在哪里。 3.6.1顺序存储结构不足的解决 办法 55 3.6.2线性表链式存储结构定义... -
语言程序设计课后习题答案
2012-12-27 17:02:372-19 C++有哪几种数据类型?简述其值域。编程显示你使用的计算机中的各种数据类型的字节数。 解: 源程序: #include <iostream.h> int main() { cout (int) ; cout (short) ; cout (long) ; cout (char) ; cout ... -
大话数据结构-程杰
2014-07-13 23:45:52于是商品房就出现了各种各样的户型,有几百平米的别墅,也有仅两平米的胶囊公寓…… 1.6.1 数据类型 11 1.6.2 抽象数据类型 12 1.7 总结回顾 14 1.8 结尾语 15 最终的结果一定是,你对着别人很牛的说"数据结构-... -
计算机要学哪些东西----(还有附赠哦)
2010-11-21 12:50:472. 讨论对于指定的问题哪种类型的证明是最优的。 3. 把数学归纳思想与递归和递归定义的结构联系起来。 4. 说明数学归纳和完全归纳的差别并举例说明如何合理地使用它们。 DS4.计算基础 (核心) 主题: 计数理论... -
你必须知道的495个C语言问题
2015-10-16 14:14:281.1 我该如何决定使用哪种整数类型? 1.2 为什么不精确定义标准类型的大小? 1.3 因为C语言没有精确定义类型的大小,所以我一般都用typedef定义int16和int32。然后根据实际的机器环境把它们定义为int、short、... -
Java常用算法手册(第3版).宋娟(带详细书签).pdf
2018-10-22 23:41:442.1.5 数据结构的几种存储方式 2.1.6 数据类型 2.1.7 常用的数据结构 2.1.8 选择合适的数据结构解决实际问题 2.2 线性表 2.2.1 什么是线性表 2.2.2 线性表的基本运算 2.3 顺序表结构 2.3.1 准备数据 2.3.2 初始化... -
你必须知道的495个C语言问题(高清版)
2010-03-31 16:24:091.1 我该如何决定使用哪种整数类型? 1 1.2 为什么不精确定义标准类型的大小? 2 1.3 因为C语言没有精确定义类型的大小,所以我一般都用typedef定义int16和int32。然后根据实际的机器环境把它们定义为int、... -
《你必须知道的495个C语言问题》
2010-03-20 16:41:181.1 我该如何决定使用哪种整数类型? 1 1.2 为什么不精确定义标准类型的大小? 2 1.3 因为C语言没有精确定义类型的大小,所以我一般都用typedef定义int16和int32。然后根据实际的机器环境把它们定义为int、... -
做了一个小时的面试题(没有过 希望大家帮忙答下 虽然很幼稚 毕竟每个人都是这么过来的吗 感激了!...
2010-04-16 11:10:5836、排序都有哪几种方法?请举例 冒泡 选择 快序 二分查找 网上答案: 排序的方法有:插入排序(直接插入排序、希尔排序), 交换排序(冒泡排序、快速排序), 选择排序(直接选择排序、堆排序), 归并... -
SQL语法大全
2014-03-30 11:00:11以上几个游标类型将直接影响到Recordset对象所有的属性和方法,以下列表说明他们之间的区别。 ------------------------------------------------------------- Recordset属性 adOpenForwardOnly adOpenKeyset ...
-
一天学完MySQL数据库
-
文件操作所需Jar.zip
-
教你如何摆脱负债上岸,超详细(视频课程)
-
牛牛量化策略交易
-
access应用的3个开发实例
-
MySQL 数据库权限管理(用户高级管理和精确访问控制)
-
基于对偶四元数的姿轨耦合动力学模型1.md
-
MySQL 主从复制 Replication 详解(Linux 和 W
-
PPT大神之路高清教程
-
FTP 文件传输服务
-
php 基于redis计数器类
-
Mycat 实现 MySQL的分库分表、读写分离、主从切换
-
华为1+X——网络系统建设与运维(中级)
-
linux c uart 串口通信 应用层代码
-
基于Flink+Hudi构建企业亿级云上实时数据湖教程(PC、移动、小
-
jdk-9.0.4_Wind-x64.zip
-
【ACWing】1023. 买书
-
小爱同学windows10版.Appx
-
MySQL 高可用工具 heartbeat 实战部署详解
-
C/C++反汇编解密