姓名
得分 笔试时间 30分钟
IOS软件工程师笔试题
单选题(共25题)
1.OC中包含一个自定义的头文件应该使用: A.#include \B.#include<> C.#import \D.#import<>
2.必须实现的协议方法使用:关键字声明. A.@property B.@interface C.@required D.@protocol
3.NSArray *array = [NSArrayarrayWithObjects:@\NSMutableSet *set = [[NSMutableSetalloc]init]; for(NSString *str in array) {
[setaddObject:str]; }
NSLog(@\[set release];
控制台打印的结果是: A.4 B.5 C.6 D.7
4.声明一个方法:提供Student对象数组按照学号升序排列的判断条件: A.-(NSComparisonResult)compareWithNumberForAscendSort:(Student*)otherStudent B.-(NSInteger)compareWithNumberForAscendSort:(Student*)otherStudent C.- (BOOL))compareWithNumberForAscendSort:(Student*)otherStudent D.+(int)compareWithNumberForAscendSort:(Student
5.OC语言中类的实例变量如果只可以被本类和其子类访问,需要下列哪个修饰符: A.@public B.@private C.@protected D.@friendly
6.关于集合描述不正确的是: A.所有的集合都可以添加元素。 B.集合分为可变集合.不可变集合。 C.数组.字典.NSSet这三种集合存储数据的方式不同。 D.所有集合都能保存id类型数据。
7.NSDictionary *dict = [NSDictionarydictionaryWithObject:@\NSLog(@\[dict release];
控制台中打印的最后一条信息会是: A.a value B.aKey : a value
1/ 5
C.崩溃信息 D.a value : aKey
8.向OC控制台输出一个字符串应该用: A.NSLog() B.Printf() C.NSPrintf() D.scanf()
9.名为print::的方法有几个传入参数: A.0 B.1 C.2 D.3
10.下列哪个选项与@synthesize配合使用: A.@end B.@interface C.@implementation D.@property
11.面向对象的特性不包括: A.封装 B.继承 C.多态 D.构造
12.OC中,所有类的根类是: A.NSObject B.NSDate C.NSCoding D.UIView
13.现有如下集合,能准确删除“张三”的代码是:
NSMutableDictionary * peoples=[NSMutableDictionarydictionaryWithObjectsAndKeys:@\张三\左护法\李四\右使\唐sir\老大哥\ A.[peoples removeObjectForKey:@\左护法\ B.[peoples removeObject:@\张三\ C.[peoples removeObjectAtIndex:0]; D.[peoples removeAllObjects];
14.使用OC语言输出“This is a Objective-C program.”正确的是: A.NSLog(@\ B.NSLog(@\ C.NSLog(@\ D.NSLog(@\
15.协议与委托的描述不正确的是: A.委托是iOS的一种设计模式 B.协议里的方法默认是必须实现的 C.类接受了多个协议,这些协议写在父类后面的<>内,多个协议之间用“.”隔开 D.定义协议使用@protocol关键字 16.关于协议描述不正确的是: A.协议分正式和非正式协议。 B.在要求确认协议的类必须实现协议中的方法时,可以使用@required。 C.一个协议可以被多个类确认。
2/ 5
D.协议中声明的方法,默认是@optional的。
17.下面关于类概念的描述中,错误的是: A.类是抽象数据类型的实现 B.类是具有共同行为的若干对象的统一描述体 C.类是创建对象的模板 D.类就是C语言中的结构体类型
18.下面哪些选项是属性的正确声明方式: A.@property(nonatomic,retain)NSStringmyString; B.@property(nonatomic,assign)NSString * myString; C.@property(nonatomic,assign)intmynumber; D.@property(nonatomic,retain)intmynumber;
19.NSString *name = [[NSStringalloc]initWithString:@\张三\NSLog(@\上述代码打印结果是: A.-1 B.0 C.1 D.2
20.不会立刻使引用计数器改变的是: A.release B.alloc C.autorelease D.retain
21.OC中的委托最好声明成: A.retain B.assign C.copy D.readonly
22.经过下列哪种操作后需要使用release方法。 A.delegate B.assign C.retain D.dealloc
23.在OC中类的接口声明关键字为: A.@import B.@interface C.@implemention D.@protocol
24.-(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:
25.将@\青年\替换成@\文艺青年\的代码是: A.[@\青年\文艺\ B.NSRange range = {0,2}; [@\青年\stringByReplacingCharactersInRange:rangewithString:@\文艺\
3/ 5
C.NSRange range = {1,2};[@\青年\文艺\ D.[@\青年\文艺\
答案填写处: 第1题 第11题 第21题 第2题 第3题 第4题 第5题 第6题 第7题 第8题 第9题 第10题 第12题 第13题 第14题 第15题 第16题 第17题 第18题 第19题 第20题 第22题 第23题 第24题 第25题
标准答案 1-5 6-10 11-15 16-20 21-25
C A D D B C C A D C A A A C B C C D A C 4/ 5
C D C C B
5/ 5