[iOS笔试600题]一、语法篇(共有147题)

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/ 
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:https://www.cnblogs.com/strengthen/p/9802339.html 
➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

【A】1. @property 的作用是申明属性及真特性?[判断题]

A.正确

B.错误

【A】2. @synthesize的作用是自动笠成属性的访问器(getter/setter)方法?[判断题]

A.正确

B.错误

【A】3. 代理 (delegate) 的作用是让一个对象实现另外一个对象的方法?[判断题]

A.正确

B.错误

【A】4. #import和#includ1 的区别是:#import可以避免文件被多次引用?[判断题]

A.正确

B.错误

【B】5.在Objective-C 中是否支持运算符重载 ?[判断题]

A     是

B.    否

【B】6. 在Objective-C 中能否在头文件里申 明私有方法?[判断题]

A.    可以

B.    不可以

【A】7. Block不允许修改外部变量的值?[判断题]

A.正确

B.错误

【A】8. Swift布尔类型的值只能是true或者false?  [判断题]

A.正确

B.错误

【B】9. Swift语言可以像C语言那样,用非0表示true,用表示false?  [判断题]

A.正确

B.错误

【B】10. Swift语言可以像Objective-C那样,使用YES表示true,使用NO表示false?  [判断题]

A.正确

B.错误

【A】11. Swift的continue语句,用来告诉用户一个循环体停止本次的循环,并立即进入下次的循环。[判断题]

A.正确

B.错误

【B】12. 在Swift环境中,无法为函数的参数设置默认值。[判断题]

A.正确

B.错误

【A】13. Swift语言支持将函数作为另一个函数的返回类型?[判断题]

A.正确

B.错误

【A】14. Swift语言支持将函数作为另一个函数的参数?[判断题]

A.正确

B.错误

【B】15. Swift语言中的函激无法同时返回个值?[判断题]

A.正确

B.错误

【A】16. 在Swift环境中,可以为类 、结构体和枚举等类型定义静态方法 ?[判断题]

A.正确

B.错误

【A】17. 在为结构体和枚举定义静态方法时,可以使用static关键字?[判断题]

A.正确

B.错误

【A】18. 在为类定义静态方法时 ,可以使用class关键字?[判断题]

A.正确

B.错误

【A】19. Swift和Objective-C一样是通过 自动引用计数 (ARC) 技术,来实现对实例的内存管理的?[判断题]

A.正确

B.错误

【A】20. 在Swift环境中,类的继承不同于结构体和枚举类型,继承是类所特有的?[判断题]

A.正确

B.错误

【A】21. Swift的延迟加载属性是指当第一次被调用的时候,才会对真进行初始化操作的属性?[判断题|

A.正确

B.错误

【B】22. 在Swift环境中,元组、枚举相结构属于引用类型,而类则属于值类型?[判断题]

A.正确

B.错误

【A】23. 类型检查在Swift中,是使用is相as操作符来实现的?[判断题]

A.正确

B.错误

【A】24. Swift语言中的AnyObject ,可以代表任何class类型的实例?[判断题]

A.正确

B.错误

【A】25. Swift语言中的Any可以表示任何类型,除了方法类型 (function types)   ?  [判断题]

A.正确

B.错误

【A】26. Swift中的扩展功能 (Extension )  ,可以在没有权限获取原始源代码的情况下,扩展某个类型的功能?[判断题]

A.正确

B.错误

【A】27. 现有的类、结构 我枚举类型的方法,都可以在扩展的帮助下进行添加?[判断题]

A.正确

B.错误

【A】28. 在Swift语言中,类型的功能可以使用扩展加入 ,但重写的功能不能使用扩展?[判断题]

A.正确

B.错误

【B】29. 类,结构体和枚举类型都可以遵循协议,并提供具体实现来完成协议定义的方法和功能?[判断题]

A.正确

B.错误

【A】30. Swift没有Objecti1ve-C 中的#define、一OPTIMIZE一宏定义方法?[判断题]

A.正确

B.错误

【A】31. Objective-C 中的头文件和实现文件,请问.h文件类似C++中的.h文件,.m文件类似.cpp文件?I[判断题]

A.正确

B.错误

【A】32. Objective-C语言可以相C、C++混合编程吗?[判断题]

A.    可以

B.    不可以

【A】33. Objective-C只有单一继承,没有多重继承?[判断题]

A.正确

B.错误

【A】34. 如果Category相原始类中的方法名称冲突,则Category将覆盖原始类的方法,因为Category具有更高的优先级?[判断题]

A.正确

B.错误

【A】35. 无法向Category 中添加实例变量吗?[判断题]

A.正确

B.错误

【A】36. Swift 中枚举可以有初始化方法 、也可以添加函数?[判断题]

A.正确

B.错误

【A】37. Swift 中的结构体可以添加函数、扩展,和实现 protocol[判断题]

A.    可以

B.    不可以

【B】38. Swift 中字符串、数组相字典是以结构体的形式实现的,还是以类的形式实现的?[判断题]

A     类

B.    结构体

【A】39. Swift 中的 Array 、Diction町、String 都是结构体,传递时会进行拷贝,而不会改变原有的值吗?[判断题]

A.是的

B.不是

【B】40. 使用runtime Associate方法关联的对象,需要在主对象dealloc的时候释放么?[判断题]

A.    需要

B.    不需要

【B】41. 可以向编译后得到的类中增加实例变量?[判断题]

A.    可以

B.    不可以

【A】42. 可以向运行时创建的类中添加实例变量?[判断题]

A.    可以

B.    不可以

【B】43. 闭包是值类型还是引用类型的?[判断题]

A.    值类型

B.    引用类型

【B】44. weak属性需要在dealloc设置为nil吗?[判断题]

A.需要

B.不需要

【B】45. 在Objective-C 中,向nil对象发送消息会导致crash吗?[判断题]

A.会

B.不会

【A】46. Objective-C的lmlld相initialize方法只会被调用一次吗?[判断题]

A.是

B.不是

【B】47. 调用一个类的静态方法 ,需要release吗?[判断题]

A.    需要

B.    不需要

【B】48. 与alloc相对应的方法是 :[单选题]

A.alloc

B.dealloc

C.realease

D.autorelease

【D】49. 与retain对应的方法是 :[单选题]

A.alloc

B.dealloc

C.realease/autorelease

D.copy

【D】50. 一个对象的dealloc方法在什么时被调用?[单选题]

A.引用计数(retainCount)降为 1

B. 引用计数(retainCount)降为 l

C.引用计数(retainCount)降为2

D.引用计数(retainCount)降为0

【A】51. 分类(categories)能够向一个已有的类中添加 :[单选题]

A.方法

B.属性

C.动作

D.协议

【A】52. 协议(protocal)可以分为两种,其中以哪种关键字申明的协议可以不被实现 :[单选题]

A.@optional

B.@required

C.@none

D.@useful

【D】53. 哪个类是大多数Objective-C类继承的根类,它没有父类 [单选题]

A.NSNull

B.NSInteger

C.NSString

D.NSObject

【B】54. -(void ) setName:(NSString *)newName{self.name = newName;} 被调用的结果是:[单选题J

A.设置name属性的值

B.程序死循环

C.获得name属性的值

D.复制name属性的值

【A】55.关键字nil在Objective-C 中表示 :[单选题]

A. 一个空对象

B. 一个空指针

C. 一个空字符

D.   一个空字节

【B】56. 在Objective-C 中,类的成员变量默认被申明为 :[单选题]

A.@private

B.@protected

C.@public

D.@package

【C】57. 关于Objective-C++中的异常处理,下面说 去最正确的是:[单选题]

A.Objective-C不支持异常处理

B.在Objective-C++中,Objective-C 的异常处理能够捕获 C++的异常

C.在Objective-C++中,Objective-C 的异常处理不能捕获 到C++的异常

D.在Objective-C++中,Objective-C和C++的异常处理可 以相互捕获异常

 

【C】58. 在对象的dealloc方法中,关于[super dealloc] ;语句说法正确的是:[单选题]

A.[super dealloc];有没有都可以

B.[super dealloc];应该放在dealloc方法内的第一行

C.[super dealloc];应该放在dealloc方法内的最后一行

D.[super dealloc];位置无所谓 ,只要在dealloc方法里有就可 以

 

【B】59.下面关于方法 :[[[ object methodl] method2] method3: [object method4]]中的method调用 顺序是 :[单选题]

A.1 2 3 4

B.1 2 4 3

C.4 1 2 3

D.4 3 2 1

【B】60.ARC (Automatk Reference Counting)模式下,下面哪个方法是来被禁用的:[单选题]

A. retain

B.copy

C.release

D.autorelease

【B】61.下列对象中不能调用initWithContentsOfFile 方法进行构造的是:[单选题]

A.NSString

B.NSXMLParser

C.NSDictionary

D.NSData

【C】62. oc中包含一个国定义的头文件应该使用:[单选题]

A.#include ’”’

B.#include<>

C.#import ’”’

D.#import<>

【C】63. 必须实现的协议方法使用哪个关键字声明:[单选题]

A.@property

B.@interface

C.@required

D.@protocol

【A】64. 声明一个方法:提供Student对象数组按照学号升序排列的判断条件|单选题]

A.    -(NSComparisonResult)compareWithNumberForAscendSort: (Student*)otherStudent

B.    -(NSinteger)compareWithNumberForAscendSort: (Student*)otherStude nt

C.    - (BOOL))compareWithNumberForAscendSort: (Student*)otherStudent

D.    +(int)compareVithNumberForAscendSort: (Student*)otherStudent

【C】65. oc语言中类的实例变量如果只可以被本类和真子类访问,需要下列哪个修饰符 :[单选题]

A.  @public

B.  @private

C.  @protected

D.  @friendly

 

【A】66. 关于集合描述不正确的是:[单选题]

A.    所有的集合都可以添加元素。

B.    集合分为可变集合.不可变集合 。

C.    数组,字典和NSSet这三种集合存储数据的方式不同。

D.    所有集合都能保存id类型数据。

 

【C】67. NSDictionary  肯dilct = [NSDictionarydictionaryWithObject:@”a valut ” forKey :@"aKey”] ;NSLog (@”%@”, [dictobjectForKey:@”aKey"]);[diet release]; 以上内容输出:[单选题]

A.    a value

B.    aKey : a value

C.    崩溃信息

D.    a value : aKey

 

【A】68. 向oc控制台输出一个字符串应该用:[单选题]

A. NSLog()

B. Printf()

C. NSPrintf()

D. scanf()

 

【C】69. 名为print::的方法有几个传入参数 :[单选题]

A. 0

B. 1

C. 2

D. 3

【D】70. 下列哪个选项与Gsynthesize配合使用 :[单选题]

A.@end

B.@interface

C.@implementation

D.@property

【A】71. 在Objective-C 中,所有类的根类是 :[单选题]

A.    NSObject

B.    NSNull

C.    NSCoding

D.    UIView

【A】72. 能准确删除“张三”的代码是:NSMutableDictionary  * peoples=[NSMutableDictionary dictionaryWithObjedsAndKeys :@”张三”,@”左护法飞@”李四”,@”右便”,@”唐sir”,@”老大哥”,nil] ; [单选题]

A.    [peoples removeObjectForKey:@”左护法”];

B.    [peoples removeObject:@”张三”];

C.    [peoples removeObjectAtindex:O];

D.    [peoples removeAllObjects];

 

【D】73. 使用oc语言输出”This is a Objective-C program.”正确的是:[单选题]

A.NSLog(@”%s”,This is a Objective-C program.);

B.NSLog(@”%@”,This is a Objective-C program.);

C.NSLog(@”This is a Objective-C program.”,%@);

D.NSLog(@”This is a Objective-C program.");

 

【C】74. 协议与委托的描述不正确的是:[单选题]

A.    委托是iOS的一种设计模式

B.    协议里的方法默认是必须实现的

C.    类接受了多个协议 , 这些协议写在父类后面 的<>内  ,多个协议之间用'.'隔开

D.    定义协议使用@ protocol关键字

 

【D】75. 关于协议描述不正确的是:[单选题]

A.    协议分正式和非正式协议 。

B.    在要求确认协议 的类必须实现协议中的方法时,可以使用@required。

C.    一个协议可以被个类确认。

D.    协议中声明的方法,默认是@optional的。

 

【D】76. 下面关于类概念 的描述中,错误的是:[单选题]

A.    类是抽象数据类型的实现

B.    类是具有共同行为的若干对象 的统一描述体

C.    类是创建对象的模板

D.    类就是C语言中的结构体类型

 

【C】77. 在Objective-C 中,下面哪些选项是属性的正确声明方式 :[单选题]

A. @property(nonatomic,retain)NSStringmyString;

B. @property(nonatomic,assign)NSString * myString;

C. @property(nonatomic,assign)int mynumber;

D. @property(nonatomic,retain)int mynumber;

 

【A】78. NSString *name = [[NSString alloc] initWithString :@”张三”] ;NSLog(@”%d ”,[name retainCount]) 以上代码输出的 内容是:[单选题]

A. -1

B. 0

C. 1

D. 2

【C】79. 不会立刻使引用计数器改变的是:[单选题]

A.release

B.alloc

C.autorelease

D.retain

【B】80. oc中的委托最好声明成 :[单选题]

A.retain

B.assign

C.copy

D.readonly

【C】81. 经过下列哪种操作后需要使用release方法 :[单选题]

A.delegate

B.assign

C.retain

D.dealloc

【B】82. 在oc中类的接口声明关键字为 :[单选题]

A.@import

B.@interface

C.@implemention

D.@protocol

【C】83. -(id)setName:(NSString *)name  :(NSString *)sex age:(int)age的方法名是:[单选题]

A.-(id)setName:(NSString *)name :(NSString *)sex age:(int)age

B.-setName:name :sex age:age

C.-setName: : age:

D.-setName:name:age:

【B】84. 将@”2C青军”替换成@”有为青军”的代码是 :[单选题]

A.[@”2C青年” stringByAppendingOfString :@”2B" withString :@”有为”];

B.  NSRange range =  {0,2}; [@”2C青年” stringByReplacingCharacterslnR. ange:rangewithString:@”有为”];

C.  NSRange range =  {1,2};[@”2C青年” stringByReplacingCharacterslnRange :rangewithString:@”有为”];

D.[@”2C青年” stringByReplacingOccurrence sOfString :@”有为” withString :@”2C”];

【B】85. 下列回调机制的理解不正确的是:[单选题]

A.    目标动作对 :当两个对象之间有比较紧密的关系时     如视图控制器与真下的某个视图。

B.    代理 :也叫委托  当某个对象收到多个事件    并要求同一个对象来处理所有事件时 。委托机制必须依赖于某个协议 定义的方法来发送消息。

C.    通告机制 :当需要多个对象或两个无关对象处理同 一个事件时。

D.    Block :适用于回调只发生一次的简单任务。

【C】86. 在Xcode 中,需要编译混合Objective-C相C++的源码文件,需要将文件格式 的后缀改为 :[单选题]

A. .c

B. .cpp

C. .mm

D. .m

【A】87. Objective-C声明一个类所要用到的编译指令是 :[单选题]

A.@interface SomeClass

B.@protocol SomeClass

C.@implementation SomeClass

D.@autorelease SomeClass

【A】88. 下面哪个方法不属于NSObject的内省(Introspection)方法 :[单选题]

A.init

B.isKindOfClass

C.responseToSelector

D.isMemberOfClass

【B】89. 使用protocol时,声明一组可选择实现与否的函数,需要在声明的前一行加上 :[单选题]

A.@required

B.@optional

C.@interface

D.@protocol

【A】90. 下面关于#impor1t相#include的描述正确的是:[单选题]

A.#import 是 #incllude 的替代指令,防止重复引用

B.#import 和 #incllude 不可以混合使用

C.#import 只用于引用 Objective-C的文件,#include 只用于引用C和C++的文件

D.#import 和 #incllude 的使用效果完全相同

【B】91. 下面哪个方法可 以比较两个NSString:*strl,*str2的异同:[单选题]

A. if(str1= str2) xxx ;

B. if([strl isEqualToString:str2]) xxx ;

C. if(str l && str2) xxx ;

D. if([str1 length] === [str2 length]) xxx;

【C】92. Objective-C有私有方法吗?有私有变量吗?[单选题]

A.    有私有方法和私有变量

B.    没有私有方法也没有私有变量

C.    没有私有方法 ,有私有变量

D.    有私有方法 ,没有私有变量

【D】93. 一个类的delegate(代理)的作用不正确的是:[单选题]

A.    delegate中的函数在真他类中实现

B.    主要用于不同类型的对象之间一对一传递消息

C.    没有指派则不会触发

D.    可以一个对象的delegate指派给多个真他类型  的对象

【C】94. 下面说法不正确的是:[单选题]

A.    readwrite 是可读可写特性 ;需要生成getter方法和setter方法时

B.    readonly 是只读特性 只会生成getter方法 不会生成setter方法 i不希望属性在类外改变

C.  assign 是赋值特性 ,和weak一样,可用weak代替;

D.    retain 表示持有特性 ,setter方法将传入参数先保留,再赋值,传入参数的retaincount会+l;

【A】95. 对于语句NSStri11t     obj = [[NSData alloc] ir且it]; obj在编译时奉日运行H才,分别是什么类型的对象?[单选题]

A.  编译时是NSString的类型;运行时是NSData类型的对象

B.  编译时是NSObject 的类型;运行时是NSData类型的对象

C.  编译时是NSData的类型;运行时是NSString类型的对象

D.  编译时是NSObject 的类型;运行时是NSString类型的对象

【D】96. 以下关于类别的作用,说法不正确的是:[单选题]

A.    将类的实现分散到多个不 同文件或多个不同框架中。

B.    创建对私有方法 的前向引用。

C.    向对象添加非正式协议 。继承可以增加  修改或者删除方法 。

D.    不能添加属性

【A】97. 下面关于Objective-C 中的block定义正确的是:[单选题]

A. tyoedef void(ASuccessBlock)(BOOLsuccess);

B. tyoedef void(ASuccessBlock)(NSStringvalue ,BOOL success);

C. tyoedef voidA(SuccessBlock)(NSStringvalue ,BOOL success);

D.tyoedef voidA(SuccessBlock)(NSString*value);

【C】98. 下列关于iOS开发中类方法 的使用描述,错误的是:[单选题]

A.    类方法可 以调用类方法

B.    类方法不可 以调用实例方法 但是类方法可 以通过创建对象来访 问实例方法

C.    类方法不可 以使用实例变量,包括self(可以使用self)

D.    类方法作为消息可以被发送到类或者对象里面去

【C】99. 以下哪个语句,可以允许Swift代码在执行完一个case分支后,跳转到下一个case分支中。[单选题]

A.continue

B.break

C.fallthrough

D.goto

【B】100. 以下关于Swift语言中的数组,描述错误的是:[单选题]

A.    组成数组的各个变量称为数组 的分量     也称为数组的元素       有时也被称为下标变量。

B.    在Swift中,数据值在被存储进入某个数组之前  ,数据的类型不需要明确。

C.    数组中元素的访问,是通过下标语法实现 的。

D.    在Swift中,可以使用数组的append()方法,或者直接使用加号+,往已有的数组中添加新的元素。

【C】101. 以下关于Swift语言的枚举类型,描述错误的是:[单选题]

A.    所谓枚举是指将变量 的值一一列举出来  并只限于在列举出来的值的范围内进行取值 。

B.    Swift语言不须给枚举中的每一个成员都提供值。

C.    字符 、整数和 斗f点类型,可以作为枚举成员的数据类型,字符串则无法作为枚举成员的数据类型。

D.    和Objective-C语言中的枚举不同,你可以为Swift的枚举添加方法 。

【D】102. 以下关于Swift语言的结构体类型,描述错误的是:[单选题]

A.    可以为结构体定义常量或变量 的属性。

B.    和Objective-C语言中的结构体不同,你可以为Swift的结构体添加方法。

C.    可以给结构体定义下标。

D.    使用structure关键字来进行定义的

【C】103. 如果你用 Swift 写的class 是继承自NSObject 的话,Swift 会自动为所有的非 private 的类和成员加上哪个标记?[单选题]

A.    @property

B.    @objc-no

C.   @objc

D.   @sy肌hronized

【B】104. Objective-C异常3并不是真正的异常,但是当一个异常被抛出到最外层还没被捕获,程序会强行发送哪个信号来中断程序?[单选题]

A.SIGINT

B.SIGABRT

C.SIGQUIT

D.SIGSEGV

【C】105. 如果管理员发现某个进程终止不了,可尝试发送哪个信号?[单选题]

A.SIGINT

B.SIGABRT

C.SIGKILL

D.SIGSEGV

【D】106. 在哪个Swift版本中,Apple 向开发者提供了两个类 JSONEncoder 和 JSONDecoder ,使对象和 JSON 之间进行转化 变得非常简单?[单选题]

A. Swift 1.0

B. Swift 2.0

C. Swift 3.0

D. Swift 4.0

【B】107. 在Swift4中,以下哪条语句可以获得字符串的长度 :[单选题]

A.    "xxx".length

B.    "xxx”.count

C.    "xxx”.characters..count

D.    "xxx”.characters.length

【D】108. 单向区间主要给两种:确定上限和确定下限的区间,如6.叮 表示6及之后的所有数值空间 。请问单向区间是由哪个

Swift版本带来的?[单选题]

A.Swift 1

B.Swift 2

C.Swift 3

D.Swift 4

【D】109. runtime会将weak对象放入哪种数据结构?[单选题]

A     栈

B.    队列

C     堆

D.    hash表

【BC】110. 拓展(extensios)能够在当前类中增加[单选题]

A. 动作

B. 方法

C. 属性

D. 协议

【AC】111. autorelease的作用是:[多选题]

A.    将对象放入自动释放池

B.    将对象的引用计数减-

C.    延后调用release方法

D.    立即调用release方法

【AB】112. 在KVC 中通用的属性访问器方法是哪两个?[多选题]

A. valueForKey:

B. setValue:forKey:

C. getValeForKey:

D. SetValue:

【ACD】113. 下面哪些关键字会引起对象的引用计数(retainCount)加一:[多选题]

A.    alloc

B.    init

C.    retain

D.    copy

【ABC】114. 在以.mm 为拓展名的文件里,可以包含的代码有哪些?[多选题]

A.    C

B.    Objective-C

C.    C++

D.    Swift

【ABCD】115. 下面哪些类中使用到了单例 ( Singletion) 模式?[多选题]

A.    FileManager

B.    NotificationCenter

C.    Application

D.    Device

【CD】116. 下面备数据类型 中,能够直接放进NSArray数组的有 :[多选题]

A.    BOOL

B.    NSInteger

C.    NSString

D.    NSArray

【ABC】117. Objective-C的快速枚举对比循环访问的优点,下面说法正确的是:[多选题]

A.    使用快速枚举效率更高

B.    语法更简洁

C.    使用更安全

D.    支持更多的数据类型

【CD】118. 以下哪一段代码不会抛出异常:[选题]

A.    NSArray *array = @[l, 2, 3];NSNumber*number  = array[3]// @[@l,@ 2,@ 3]

B.    NSDictionary *diet @{@”key": nil}//value不能为空

C.    NSString *str = nil; NSString *str2 =[str substringFromlndex:3];

D.    NSStri吨*str @”hi";NSString  *str2 =[str substringFromlndex:3];

【ABD】119. 关于Swift语言中的常量和变量 ,以下说法正确的是:[选题]

A.    常量所指向的是一个特定类型 的值  如数字8或者字符“Swift”。

B.    你可以使用let关键词定义一个常量  使用var关键词定义一个变量 。

C.    常量和变量在使用前不需要定义 (声明) 。

D.    变量的值可以根据需要不断进行修改,而常量的值一经定义,是不能够被修改的。

【ACD】120. Swift4.0支持哪些输出函数?[多选题]

A.    print

B.    println

C.    debugPrint

D.    dump

【ABCD】121. 关于Swift注释,以下说法正确的是:[多选题]

A.  序言性注释的内容主要包括模块的接口、数据的描述和模块 的功能 ;

B.  功能性注释主要包括程序段 的功能、语句的功能和数据的状态。

C.  单行注释使用N来表示

D.    多行注释使用/*…*/来表示

【ABCD】122. 关于Swift语言的Double相Float类型,以下说法正确的是:[多选题]

A. 浮点数值是具有小数部分的浮点数,比如3.1415和 0.228。

B. 相比整数来说  浮点数类型能表示更广的数值范围储存更大或者更小的数字。

C. Double表示64位浮点数,在浮点数需要特别大或者特别精确 的时候,可使用此类型。

D. Float表示32位浮点数,在不需要64位精度的时候可使用此类型 。

【ABCD】123. 关于Swift字符串申的转义符,以下描述正确的是:[多选题]

A. 认 表示反斜杠  B. W 表示换行符 C. V表示回车符 D. W 表示制表符

【ABD】124. 以下对Swift中的switch条件判断语句,描述正确的是:[多选题]

A. switch语句会尝试把某个值与若干个条件进行匹 配。

B. switch语句都由多个case构成,每一个 case 都是代码执行的一条分支。

C.和Objective-C相同的是,在Swift中,你需要为case分支添加break语句。

D.当条件判断的情况比较多时  通常用switch语句替换if语句。

【ABC】125. 以下关于Swift语言中的字典,描述正确的是:[多选题]

A.字典是一个能够使用类似于键 的唯一标识符 来获取值的非序列化集合 。

B.和数组不同的是,字典中的元素并没有具体的顺序,也就是说字典是无序存放元素的。

C.字典可以存储的键和值  必须提前定义它们的类型。

D.字典可以存储的键和值 无须提前定义它们的类型。

【BC】126.对Swift 中的函数描述正确的语句是 :[多选题]

A. Swift使用关键字function进行函数的定义。

B. 函数是一个组织在一起的程序代码集合 用来完成某个特定的功能。

C. 通过函数名以及对应类型的参数值,可调用这个函数。

D. 调用函数时传递的参数的顺序,无需与参数列表中的顺序相同 。

【AC】127. 关于Swift语言的函数,以下说法正确的是:[多选题]

A. 如果你不确定参数的数量,可通过在变量类型后面加…,定义可变参数 。

B. 如果你不确定参数的数量,可通过在变量类型后面加_,定义可变参数。

C. 一个函数最多能有一个可变参数 ,且必须是函数表中最后的一个。

D. 一个函数可以有多个可变参数 ,可变参数可 以放在参数列表中 的任意位置。

【ABCD】128. 关于Swift语言的内置函数,以下描述正确的是:[多选题]

A.  abs绝对值函数,用来返回指定参数的正值。当参数为负数时,返回对应的正数;当参数为正数时,结果将保持不变 。

B.  min最小值函数,用来返回不定数量的参数之间的最小值。

C.  max最小值函数,用来返回不定数量的参数之间的最大值。

D.  map 函数通常用于将数组中的每个元素,通过指定的方法进行转换。

【ABCD】129. 以下有关Swift语言中的类相结构体,描述正确的是:[多选题]

A.  两者都可以定义属性以存储值。

B.  两者都可以定义方法以提供功能。

C.  两者都可以定义下标脚本 用于允许使用下标语法访问值。

D.  两者都可以定义初始化器用于初始化状态。

【AB】130. 以下有关Swift语言中的类相结构体,描述正确的是:[多选题]

A.  两者都可 以被扩展 以实现默认所没有的功能。

B.  两者都可 以遵循协议 以针对特定类型提供标准功能 。

C.  类可以继承另一个类,结构体也可以继承另一个结构体。

D.  类相结构体都可以添加析构方法 。

【ABCD】131.在Swift语言中,使用扩展可以完成哪些任务?[  选题]

A. 添加计算型属性和计算静态属性。

B. 定义实例方法和类型方法 。

C. 提供新的构造器。

D. 使一个已有类型符合某个接 口。

【AC】132. 以下关于Swift语言中的可选Optional类型,描述正确的是:[多选题]

A. Optional类型是一个enum枚举类型,包含None和Some两个元素。

B. Optional类型是一个enum枚举类型,包含Blank和Some两个元素。

C.在通过Some(T)包装wrap原始值之后,在使用Optional 的时候,就要进行相应 的拆包操作。

D.在通过Some(T)包装wrap原始值之后,在使用Optional 的时候,无需进行相应 的拆包操作。

【ACD】133. 在 Swift 中,我们可以给哪些类型定义subscript下标脚本的语法?[多选题]

A    类

B.   协议

C.   结构体

D.   枚举

【ABCD】134. 以下关于Swift语言的下标说法正确的是:[多选题]

A.下标脚本使用 subscript 关键字来定义

B.下标脚本使用 get、set 来定义读 、写属性,并不需要get军队et都有,可以只读,并且读必须有。

C.定义 set 属性时,传入的参数默认名称为newValue。并且newValue 的类型和subscript函数返回值相同。

D.下标脚本允许你通过在实例后面 的方括号中传入一个或者多个 的索引值来对实例进行访 问和赋值。

【ACD】135. Object-C具有哪些动态特性?[多选题]

A. 动态类型 B. 动态名称 C. 动态绑定 D. 动态加载

【BCD】136. 在Objective-C语言中,除了哪几个方法之外创建的对象都是autorelease的?[多选题]

A.   init

B.    alloc

C.    new

D.  copy

【ABCD】137. Objective-C有哪些遍历(迭代)方式?[多选题]

A.    使用for循环

B.    使用NSEnumerator遍历

C.    使用for...In遍历

D.    基于Block的遍历方式

【ABD】138.Objective-C的Category可以实现哪些功能?[多选题]

A.    将类的实现分散到多个不 同文件或不同框架中。

B.    创建对私有方法 的前向引用。

C.    向对象添加正式协议 。

D.    向对象添加非正式协议 。

【ABCD】139. 以下哪些情况会在Objective-C 中产生异常?[多选题]

A.    NSDictionary删除为nil的key

B.    NSDictionary添加nil的对象

C.    h文件里函数名,却忘了修改m文件里对应的函数名

D.    使用第三万库时,没有添加”-ObjC” flag

【ABCD】140. 以下哪些情况会在Objective-C中产生异常?[多选题]

A.    NSDictionary插入nil的对象

B.    NSURL的初始化,传入nil的http地址

C.    数组最大下标处理错误

D.    如果一个数组刚刚初始化,还是空的,就对它进行相关操作

【ABCD】141.Mach异常是指最底层的内核级异常,以下哪些属于Mach异常?[多选题]

A.    EXC_BAD_ ACCESS (Bad Memory Access)

B.    EXC_BAD_INSTRUCTION运行了非法的指令,往往是运行指令的参数不对 (0或者nil的参数)

C.    EXC_ SOURCE程序资源上限(cpu占用过高或者 内存不足) 。

D.    EXC_GUARD  些C函数访问错误导致的异常。

【AC】142. 最常见的Mach异常:EXC_BAD_ACCESS ,一般是由于哪两种情况造成的?[多选题]

A.    访问非法地址(SIGBUS信号)

B.    访问了尚未实现的方法

C.    访问了被回收掉的内存(SIGSEGV信号)

D.    访问数组时出现了索引越界

【CD】143. 在以下列出的信号中,程序不可捕获 、阻塞或忽略的信号有哪两个:[多选题]

A.    SIGTSTP

B.    SIGPWR

C.    SIGKILL

D.    SIGSTOP

【ABCD】144. 在以下列出的信号中,默认会导致进程退出的信号有:[多选题]

A.    SIGALRM

B.    SIGHUP

C.    SIGKILL

D.    SIGTERM

【ABCD】145. 以下哪些是常见的 Crash 场景?[多选题]

A.    访问了僵尸对象

B.    访问野指针

C.    数组越界

D.    访问了不存在的方法

【ABD】146. autoreleasepool是以一个队列数组的形式实现的,主要通过以下哪三个函数完成:[多选题]

A.    objc_autoreleasepoolPush

B.    objc_autoreleasepoolPop

C.    objc_autoreleasepoolMov

D.    objc_autorelease

【ABCD】147. 以下哪些是Runloop可以做到的?[多选题]

A.    使程序一直运行接受用户输入

B.    决定程序在何时应该处理哪些Event

C.   调用解耦

D.    节省CPU时间

原文地址:https://www.cnblogs.com/strengthen/p/9802339.html