zoukankan      html  css  js  c++  java
  • 蓝鸥0c考试 绝密


    //    选择题(共80题,每题1分)

    //    1NSString *name = [[NSString alloc]initWithString:@"张三"];

    //    NSLog(@"%d",[name retainCount]);

    //    上述代码打印结果是:

    //    答案:(A

    //    A-1

    //    B0

    //    C1

    //    D2

    //    2、经过下列哪种操作后需要使用release方法。

    //    答案:(C

    //    Adelegate

    //    Bassign

    //    Cretain

    //    Ddealloc

    //    3、必须实现的协议方法使用:关键字声明.

    //    答案:(C

    //    A@property

    //    B@interface

    //    C@required

    //    D@protocol

    //    4、关于集合描述不正确的是:

    //    答案:(A

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

    //    B、集合分为可变集合、不可变集合。

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

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

    //    5NSArray *array = [NSArray arrayWithObjects:@"1",@"2",@"3",@"4",@"2", nil];

    //    NSMutableSet *set = [[NSMutableSet alloc]init];

    //    for(NSString *str in array)

    //    {

    //        [set addObject:str];

    //    }

    //    NSLog(@"%lu",[set count]);

    //    [set release];

    //    控制台打印的结果是:

    //    答案:(A

    //    A4

    //    B5

    //    C6

    //    D7

    //    6、下列说法中错误的是:

    //    答案:(C

    //    AObjective-C不用"函数调用",而用互相传递讯息.

    //    BObjective-C一个完整的类分为interfaceimplementation两块

    //    CObjective-C对象使用new分配内存,delete释放

    //    DObjective-C协议分为非正式协议和正式协议

    //    7Objective-C中包含一个自定义的头文件应该使用:

    //    答案:(C

    //    A#include ""

    //    B#include<>

    //    C#import ""

    //    D#import<>

    //    8、用哪个关键字定义协议中必须实现的方法:

    //    答案:(D

    //    A@optional

    //    B@protected

    //    C@private

    //    D、不用写关键字

    //    9NSMutableString * str = [[NSMutableString alloc] initWithFormat:@"123"];

    //    NSLog(@"str = %p",str);

    //    [str appendFormat:@"456"];

    //    NSLog(@"str = %p",str);

    //    上面代码对字符串str进行拼接后,2次打印的地址是否相同:

    //    答案:(A

    //    A、相同

    //    B、不同

    //    C、随机打印

    //    D、有时相同,有时不同

    //    10、以下代码执行后,person对象的retain count是多少:

    //    Person * person = [[Person alloc] init];

    //    [person retain]; [person release];

    //    答案:(B

    //    A0

    //    B1

    //    C2

    //    D3

    //    11、下列哪个选项与@synthesize配合使用:

    //    答案:(D

    //    A@end

    //    B@interface

    //    C@implementation

    //    D@property

    //    12OC中布尔(BOOL)类型的变量的值只有:

    //    答案:(B

    //    A1/0

    //    BYES/NO

    //    Ctrue/false

    //    D1/-1

    //    13、下列哪个选项不需要release方法:

    //    答案:(C

    //    A[[NSString alloc]init];

    //    B[[NSString alloc] initWithString:@”hehe”];

    //    C[[NSArray arrayWithArray: arr1];

    //       D[[NSMutableDictionary alloc] init];

    //       14OC,所有类的根类是:

    //       答案:(A

    //       ANSObject

    //       BNSDate

    //       CNSCoding

    //       DUIView

    //       15NSDictionary *dict = [NSDictionary dictionaryWithObject:@"a value" forKey:@"aKey"];

    //       NSLog(@"%@",[dict objectForKey:@"aKey"]);

    //       [dict release];

    //       控制台中打印的最后一条信息会是:

    //       答案:(C

    //       Aa value

    //       BaKey : a value

    //       C、崩溃信息

    //       Da value : aKey

    //       16、下面关于类概念的描述中,错误的是:

    //       答案:(D

    //       A、类是抽象数据类型的实现

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

    //       C、类是创建对象的模板

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

    //       17、名为print::的方法有几个传入参数:

    //       答案:(C

    //       A0

    //       B1

    //       C2

    //       D3

    //       18、下面哪些选项是类:

    //       答案:(A

    //       A、导演

    //       B、张艺谋

    //       C、擎天柱

    //       D、辉哥的雪铁龙

    //       19、下列选项中全部属于对象的是:

    //       答案:(C

    //       A、我的白色iPhone4s;Mac Mini

    //       B、狗;老虎

    //       C、邻居家的猫咪贝贝”;我的弟弟张三

    //       D、保时捷;犀利哥

    //       20、不会立刻使引用计数器改变的是:

    //       答案:(C

    //       Arelease

    //       Balloc

    //       Cautorelease

    //       Dretain

    //       21、在OC中类的接口声明关键字为:

    //       答案:(B

    //       A@import

    //       B@interface

    //       C@implemention

    //       D@protocol

    //       22、下面哪些选项是属性的正确声明方式:

    //       答案:(C

    //       A@property(nonatomic,retain)NSString myString;

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

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

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

    //       23、在OC中,类的定义包括两部分(声明与实现),其中实现部分是:

    //       答案:(C

    //       A@import

    //       B@interface

    //       C@implementation

    //       D@protocol

    //       24、使用 Objective-C语言输出“This is a Objective-C program.”正确的是:

    //       答案:(D

    //       ANSLog(@"%s",This is a Objective-C program.);

    //       BNSLog(@"%@",This is a Objective-C program.);

    //       CNSLog(@"This is a Objective-C program.",%@);

    //       DNSLog(@"This is a Objective-C program.");

    //       25OC中与alloc相反的方法是:

    //       答案:(C

    //       Arelease

    //       Bretain

    //       Cdealloc

    //       Dfree

    //       26、向Xcode控制台输出一个字符串应该用:

    //       答案:(A

    //       ANSLog()

    //       BPrintf()

    //       CNSPrintf()

    //       Dscanf()

    //       27-(id)setName:(NSString *)name :(NSString *)sex age:(int)age的方法名是:

    //       答案:(C

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

    //       B-setName:name :sex age:age

    //       CsetName: : age:

    //       DsetName:name:age:

    //       28、关于类和对象的概念,下列属于对象的是:

    //       答案:(C

    //       A、奥迪A6

    //       B、保龄球

    //       C、世界冠军刘翔

    //       D、西红柿

    //       29OC中的委托最好声明成:

    //       答案:(B

    //       Aretain

    //       Bassign

    //       Ccopy

    //       Dreadonly

    //       30NSArray *array = [NSArray arrayWithObjects:@"one", @"two", @"three",nil];

    //       NSLog(@"%@",[array objectAtIndex:1]);

    //       NSLog(@"%@",[array objectAtIndex:3]);

    //       控制台中打印的最后一条信息会是:

    //       答案:(D

    //       Aone

    //       Btwo

    //       Cthree

    //       D、崩溃信息

    //       31、下列有效的键路径是:

    //       答案:(B

    //       A[foo valueForKeyPath:@”1SomeMember”]

    //       B[foo valueForKeyPath:@”someMember.someAttribute”]

    //       C[foo valueForKeyPath:@”SOMEMEMBER@someAttibute”]

    //       D[foo valueForKeyPath:@”some Member”]

    //       32@interface Person : NSObject

    //       @property(nonatomic,retain)NSString * name;

    //       @end

    //       上面声明一个Person

    //       Person * per = [[Person alloc] init];

    //       per.name = [[NSString alloc] initWithFormat:@"张三"];

    //       NSLog(@"per.name = %d",[per.name retainCount]);

    //       答案:(D

    //       Aper.name = -1;

    //       Bper.name = 0;

    //       Cper.name = 1;

    //       Dper.name = 2;

    //       33、关于类目的说法正确的有:

    //       答案:(A

    //       A、类目可以为所有的类添加新方法。

    //       B、类目中添加的方法比原类中定义的方法级别要低。

    //       C、定义类目需要使用关键字category

    //       D、类目可以随意使用。

    //       34、下面哪个选项对集合的描述是正确的:

    //       答案:(D

    //       A、集合内不能存不同类型的对象

    //       B、集合内可以存整型的数

    //       C、字典内键值可以相同,但是每个键值对应的对象必须不同

    //       D、集合内只能存对象

    //       35、关于NSSet描述正确的有:

    //       答案:(B

    //       ANSSet可以存放任何数据类型的数据。

    //       BNSSet存放数据是无序的。

    //       CNSSet可以通过下标获取数据。

    //       DNSSet存放的数据是有序的。

    //       36、下列代码:

    //       @property(nonatomic,assign)id<Painting>myObject;

    //       答案:(C

    //       A、是说myObjectPainting分类的一部分

    //       B、是说myObject遵从于Painting分类

    //       C、是说myObject遵从于Painting协议

    //       D、不是合法的Objective-C语法格式

    //       37、关于协议描述不正确的是:

    //       答案:(D

    //       A、协议分正式和非正式协议。

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

    //       C、一个协议可以被多个类确认。

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

    //       38、在OC中扩展类的方法的形式不包括:

    //       答案:(B

    //       A、继承

    //       B、多态

    //       C、类目

    //       D、延展

    //       39、关于类目、延展的描述错误的是:

    //       答案:(B

    //       A、延展主要为类提供私有方法

    //       B、类目、延展不但能为类添加方法,而且都可以添加新的实例变量

    //       C、无论能否拿到类的源码,类目都可以对其扩展

    //       D、类目和延展声明语法不同

    //       40、自定义一个Person类,下面哪个选项是规范的便利构造器声明方式:

    //       答案:(D

    //       A-(id)personWithName:(NSString *)theName;

    //       B-(id)personwithName:(NSString *)theName;

    //       C+(id)personwithName:(NSString *)theName;

    //       D+(id)personWithName:(NSString *)theName;

    //       41Objective-C语言中类的实例变量如果只可以被本类和其子类访问,需要下列哪个修饰符:

    //       答案:(C

    //       A@public

    //       B@private

    //       C@protected

    //       D@friendly

    //       42、以下说法正确的是:

    //       答案:(C

    //       A、求数组的内容的个数用length方法

    //       B、字典是根据其位置来索引数据的

    //       C、协议中定义的方法默认是必须实现的

    //       D、定义类目必须要拿到自己类的源代码

    //       43、下面哪个选项无内存问题的:

    //       答案:(C

    //       A

    //       -(NSString *)description{

    //           NSString * str = [[NSString alloc] initWithFormat:@"description"];

    //           return str;

    //       }

    //       B

    //       -(NSString *)description{

    //           NSString * str = [[NSString alloc] initWithFormat:@"description"];

    //           [str release];

    //           return str;

    //       }

    //       C

    //       -(NSString *)description{

    //           NSString * str = [[NSString alloc] initWithFormat:@"description"];

    //           [str autorelease];

    //           return str;

    //       }

    //       D

    //       -(NSString *)description{

    //           NSString * str = [NSString stringWithFormat:@"description"];

    //           return [str autorelease];

    //       }

    //       44、以下对类的描述不正确的是:

    //       答案:(C

    //       A、类的接口部分可以包含实例变量、属性和方法

    //       B、可以把声明和实现都放到.h文件中

    //       C、一对文件(Person.h Person.m)只能定义一个类

    //       D、类比较抽象,对象比较具体

    //       45NSString NSMutableString的关系和区别描述不正确的是:

    //       答案:(D

    //       ANSString是不可变字符串,即本身内容不能被改变。

    //       BNSMutableString是可变字符串,即本身内容可修改。

    //       CNSMutableStringNSString的子类。

    //       DNSStringNSMutableString没有任何关系。

    //       46、下面程序段的输出结果是什么:

    //       NSArray * arr1 = [[NSArray alloc] initWithObjects:@"1",@"2",@"3", nil];

    //       NSString *str;

    //       str = [arr1 objectAtIndex:2];

    //       NSLog(@"%@",str);

    //       答案:(C

    //       A1

    //       B2

    //       C3

    //       D、程序崩溃

    //       47、关于KVC的描述正确的是:

    //       答案:(A

    //       AKVC是指--编码

    //       B、是一种直接访问对象的属性的机制。

    //       C、只能访问对象的属性。

    //       D、当对象的属性值改变时,我们能收到一个通知。

    //       48、下面描述正确的选项是:

    //       答案:(B

    //       A、当计数器为1,dealloc方法由系统自动调用

    //       B、一个对象在引用计数变为0时,会调用自己的dealloc方法

    //       C、在dealloc方法里,应该在[super dealloc]后释放本类所拥有的对象

    //       D、开启ARC后,可以重载dealloc,必须在dealloc里写 [super dealloc]方法

    //       49、简单类型的成员比如:int类型成员在使用@property(),括号中应使用:

    //       答案:(A

    //       Aassign

    //       Bcopy

    //       Cretain

    //       Dauto

    //       50、下列哪个选项不能作为property的可选属性:

    //       答案:(A

    //       Aalloc

    //       Bretain

    //       Catomic

    //       Dstrong

    //       51NSRange的成员变量有:

    //       答案:(A

    //       Alocation,length

    //       Bwidth,height

    //       Clocation,height

    //       Dlength,width

    //       52、下面程序段的输出结果是什么:

    //       NSMutableDictionary * dic = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"1",@"2",@"2",@"3",@"3",@"4", nil];

    //       [dic removeObjectForKey:@"3"];

    //       NSLog(@"%@",dic);

    //       答案:(C

    //       A1=2 3=4

    //       B1=2 2=3

    //       C2=1 4=3

    //       D2=1 3=2

    //       53、现要求声明一个集合,并将字符串添加到集合中,编写了如下代码,其中错误的是第几行:

    //       NSString * aString = [[NSString alloc] initWithString:@"iLanou"]; 1

    //       [aString autorelease]; 2

    //       NSArray * arr = [NSArray array]; 3

    //       [arr addObject:aString]; 4

    //       NSLog(@"string = %lu",[aString retainCount]);

    //       答案:(C

    //       A(1)

    //       B(2)

    //       C(3)

    //       D(4)

    //       54、读代码:

    //       NSString *str=@"hello";

    //       NSMutableSet *mt=[NSMutableSet setWithObjects:str, nil];

    //       [mt addObject:str];

    //       NSLog(@"%lu",mt.count);

    //       结果是:

    //       答案:(A

    //       A1

    //       B2

    //       C3

    //       D4

    //       55、下列代码正确的输出结果是:

    //       NSString * urlStr = @"www.lanou3g.com";

    //       NSRange range = NSMakeRange(4,7);

    //       NSString *prefix = [urlStr substringWithRange:range];

    //       NSLog(@"%@",prefix);

    //       答案:(B

    //       Alan

    //       Blanou3g

    //       Cwww.lan

    //       Dou3g

    //       56、下面哪个选项是正确的:

    //       答案:(B

    //       A、用继承可以扩展一个类,要调用扩展的方法,既可以用父类,也可以用子类

    //       B、用类目可以扩展一个类,可以直接用该类或该类的实例对象,去调用该类目扩展的方法

    //       C、延展就是类目

    //       D、可以在一个类的外部,调用这个类延展的方法

    //       57NSDateFormatter * formatter = [[NSDateFormatter alloc] init];

    //       [formatter setAMSymbol:@"AM"];

    //       [formatter setPMSymbol:@"PM"];

    //       [formatter setDateFormat:@"YY-MM-dd hh:mm:ss aaa"];

    //       NSString * currentDate = [formatter stringFromDate:[NSDate date]];

    //       NSLog(@"%@",currentDate);

    //       打印结果是:

    //       答案:(D

    //       A2012-05-31 17:45:04 PM

    //       B12-05-31 17:45:04

    //       C2012-05-31 17:45:04

    //       D12-05-31 05:45:04 PM

    //       58、对于语句NSString* testObject = [[NSData alloc] init];关于testObject是什么类型对象,以下说法正确的是:

    //       答案:(A

    //       A、编译时,NSString类型,运行时,NSData类型

    //       B、编译与运行时,都是NSData类型

    //       C、编译与运行时,都是NSString类型

    //       D、运行时,NSString类型,编译时,NSData类型

    //       59、下面程序段的输出结果是什么:

    //       NSMutableArray * arr1 = [[NSMutableArray alloc] initWithObjects:@"1",@"2",@"3", nil];

    //       [arr1 addObject:@"0"];

    //       [arr1 replaceObjectAtIndex:2 withObject:@"3"];

    //       NSLog(@"%@",arr1);

    //       答案:(B

    //       A0,1,2,3

    //       B1,2,3,0

    //       C1,3,3,0

    //       D0,3,2,3

    //       60、现有自定义类Student,下列选项中Student类的便利构造器编写正确的是:

    //       答案:(D

    //       A

    //       -(id) initWithName:(NSString *) newName{

    //           Student * stu = [[Student alloc] init];

    //           stu.Name = newName;

    //           return stu;

    //       }

    //       B

    //       +(id) studentWithName:(NSString *) newName{

    //           Student * stu = [[Student alloc] init];

    //           stu.Name = newName;

    //           return stu;

    //       }

    //       C

    //       +(id) studentWithName:(NSString *) newName{

    //           Student * stu = [[Student alloc] init];

    //           stu.Name = newName;

    //           [stu release];

    //           return stu;

    //       }

    //       D

    //       +(id) studentWithName:(NSString *) newName{

    //           Student * stu = [[Student alloc] init];

    //           stu.Name = newName;

    //           [stu autorelease];

    //           return stu;

    //       }

    //       61、类何时调用dealloc方法:

    //       答案:(D

    //       A[property release]

    //       B[instance release]

    //       C[super dealloc]

    //       D、当引用计数为0.

    //       62、实例变量默认的访问修饰符是:

    //       答案:(C

    //       A@public

    //       B@private

    //       C@protected

    //       D@package

    //       63、关于KVC的描述正确的是:

    //       答案:(B

    //       AKVC是指"Key-Value Observing"

    //       B、是一种间接访问对象的属性的机制。

    //       C、只能访问对象的属性。

    //       D、当对象的属性值改变时,我们能收到一个通知。

    //       64NSRange是什么数据类型:

    //       答案:(C

    //       A、数组

    //       B、字典

    //       C、结构体

    //       D、指针

    //       65、现有Person类声明和Person的子类Student,代码如下:

    //       @interface Person : NSObject

    //       -(void) walk;

    //       @end

    //       @implementation Person

    //       -(void) walk

    //    {

    //        NSLog(@"Person is walking…");

    //    }

    //       @end

    //       @interface Student : Person

    //       -(void) studentWalk;

    //       @end

    //       @implementation Student

    //       -(void) studentWalk

    //    {

    //        (1)

    //    }

    //       end

    //       在下列选项中,那些代码可以填在(1)处实现调用Person类中的walk方法,并输出“Person is walking…”

    //       答案:(C

    //       Awalk();

    //       Bsuper.walk;

    //       C[self walk];

    //       Dself.walk();

    //       66、写出下面程序段的输出结果:

    //       NSString * aString = [[NSString alloc] initWithString:@"123"];

    //       [aString autorelease];

    //       NSMutableArray * arr = [NSMutableArray array];

    //       [arr addObject:aString];

    //       NSLog(@"string = %lu",[aString retainCount]);

    //       答案:(C

    //       A1

    //       B0

    //       C、整型最大值

    //       D2

    //       67、下列哪个操作不会引起引用计数(retaincount)的变化是:

    //       答案:(B

    //       ANSString *str1 = [[NSString stringWithFormat:@"hehe"];

    //                           Bint a=1;

    //                           CNSMutableData *data1 = [NSMutableData allocWithZone:data2];

    //                           DNSArray *arr1 = [[NSArray alloc]initWithArray:arr2];

    //                           68、下面程序段的输出结果是什么:

    //                           NSMutableDictionary * dic = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"1",@"2",@"2",@"3",@"3",@"4", nil];

    //                           [dic setObject:@"1" forKey:@"3"];

    //                           [dic removeObjectForKey:@"1"];

    //                           NSLog(@"%@",dic);

    //                           答案:(C

    //                           A1=3 2=3 3=4

    //                           B1=2 1=3 3=4

    //                           C2=1 3=1 4=3

    //                           D3=1 3=2 4=3

    //                           69NSMutableDictionary * dic = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"1",@"2",@"2",@"3",@"3",@"4", nil];

    //                           NSArray *arr = [[NSArray alloc] initWithArray:[dic allKeys]];

    //                           NSString *str = [[NSString alloc] initWithFormat:[arr objectAtIndex:0],[arr objectAtIndex:1],[arr objectAtIndex:2]];

    //                           NSLog(@"%@",str);

    ////                           结果是:

    //                           答案:(C

    //                           A123

    //                           B234

    //                           C2

    //                           D3

    //                           70、读代码

    //                           NSString * str =[[NSString alloc]initWithFormat:@"%@",@"iLanou123ios"];

    //                           NSString * str1=[str substringToIndex:3];

    //                           NSString * str2=[str substringWithRange:NSMakeRange(6, 3)];

    //                           NSString * newStr=[str1 stringByAppendingString:str2];

    //                           NSLog(@"newStr=%@",newStr);

    //                           newStr的值为:

    //                           答案:(D

    //                           AiLanou

    //                           BiL123

    //                           CiLaios

    //                           DiLa123

    //                           71、查看下列代码,能正确输出number的选项是:

    //                           @interface MyClass : NSObject

    //    {

    //        int number;

    //    }

    //                           +(void) printNumber;

    //                           @end

    //                           @implementation MyClass

    //                           +(void) printNumber

    //    {

    //        number =10;

    //        NSLog(@""%d"",number);

    //    }

    //                           @end

    //                           答案:(D

    //                           A[MyClass printNumber];

    //                           BMyClass * obj = [[MyClass alloc] init]; [obj printNumber];

    //                           CprintNumber();

    //                           D、编译错误,无法执行。

    //                           72、下面程序段的输出结果是什么:

    //                           NSString * aString = [[NSString alloc] initWithString:@"hehe"]; 

    //                           [aString autorelease];

    //                           NSMutableArray *arr = [NSMutableArray array];

    //                           [arr addObject:aString];

    //                           NSLog(@"string = %d",[aString retainCount]);

    //                           答案:(A

    //                           Astring = -1

    //                           Bstring = 0

    //                           Cstring = 1

    //                           Dstring = 2

    //                           73、下面程序段的输出结果是什么:

    //                           NSMutableDictionary * dic = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"1",@"2",@"2",@"3",@"3",@"4", nil];

    //                           NSString *str = @"3";

    //                           int a = 3;

    //                           [dic setObject:a forKey:str];

    //                           NSLog(@"%@",dic);

    //                           答案:(D

    //                           A2=1 3=3 4=3

    //                           B1=2 3=3 3=4

    //                           C1=2 3=3 3=3

    //                           D、程序崩溃

    //                           74、下面程序段的输出结果是什么:

    //                           int a = 10;

    //                           NSNumber *b = [[NSNumber alloc] initWithInt:a];

    //                           NSLog(@"%d", a+++b);

    //                           答案:(D

    //                           A21

    //                           B20

    //                           C30

    //                           D、编译错误

    //                           75、下面程序段的输出结果是什么:

    //                           NSMutableDictionary * dic = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"1",@"2",@"1",@"3",@"1",@"4", nil];

    //                           NSArray *arr1 = [[NSArray alloc] initWithArray:[dic allKeys]];

    //                           NSArray *arr2 = [[NSArray alloc] initWithArray:[dic allValues]];

    //                           NSMutableDictionary *dic2 = [[NSMutableDictionary alloc] initWithObjects:arr1 forKeys:arr2];

    //                           NSLog(@"%@",dic2);

    //                           答案:(C

    //                           A1=2 1=3 1=4

    //                           B2=1 3=1 4=1

    //                           C1=4

    //                           D4=1

    //                           76NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

    //                           NSString *str = [NSString stringWithFormat:@”abc”];

    //                           NSString *str2 = [str retain];

    //                           [pool release];

    //                           NSLog(@”str retainCount = %d,str2 retainCount = %d”,[str retainCount],[str2 retainCount]);

    //                           上述代码打印结果正确的是:

    //                           答案:(C

    //                           Astr retainCount = 2,str2 retainCount = 2

    //                           Bstr retainCount = 0,str2 retainCount = 1

    //                           Cstr retainCount = 1,str2 retainCount = 1

    //                           Dstr retainCount = 2,str2 retainCount = 0

    //                           77、关于内存管理的描述错误的是:

    //                           答案:(D

    //                           Aallocdealloc是对应的,前者分配内存,后者回收内存

    //                           Bretainrelease是对应的,前者retainCount1,后者retainCount1

    //                           C、当对象的retainCount0时,dealloc会被系统调用

    //                           DiOS5之后的ARC指的是系统垃圾回收

    //                           78NSMutableDictionary字典中删除对象可以使用下面那个方法:

    //                           答案:(D

    //                           AfilteredArrayUsingPredicate:

    //                           BarrayByAddingObject:

    //                           CinitWithCapacity:

    //                           DsetValue:forKey:

    //                           79、有如下一个类定义

    //                           @interface MyClass:NSObject

    //                           @property(nonatomic,retain)NSString *str;

    //                           @end

    //                           @implementation MyClass

    //                           (1)

    //                           -(NSString *)str

    //    {

    //        return str;

    //    }

    //                           -(void)dealloc

    //    {

    //        self.str = nil;

    //        [super dealloc];

    //    }

    //                           @end

    //                           答案:(C

    //                           A

    //                           -(void)setStr:(NSString *)newStr

    //    {

    //        str = newStr;

    //    }

    //                           B

    //                           -(void)setStr:(NSString *)newStr

    //    {

    //        [str release];

    //        str = [newStr retain];

    //    }

    //                           C

    //                           -(void)setStr:(NSString *)newStr

    //    {

    //        if(str != newStr)

    //        {

    //            [str release];

    //            str = [newStr retain];

    //        }

    //    }

    //                           D

    //                           -(void)setStr:(NSString *)newStr

    //    {

    //        [newStr retain]

    //        [str release] = newStr;

    //    }

    //                           80、对于下面代码说法正确的是:

    //                           @property (copy,nonatomic,readonly)NSString * calValue

    //                           答案:(D

    //                           A、没有getter方法,当对calvalue赋值时,将产生一个NSString副本。

    //                           B、此属性可保证多线程安全。

    //                           C、此属性在合成时可以生成设置器方法。

    //                           D、此属性只能读取,不能赋值。

    //                           判断题(共10题,每题2分)

    //                           1、在OC,数组保存的只能是对象。

    //                           答案:(T

    //                           正确

    //                           错误

    //                           2、实例对象都是通过调用类方法生成的。

    //                           答案:(T

    //                           正确

    //                           错误

    //                           3Objective-C可以多重继承。

    //                           答案:(F

    //                           正确

    //                           错误

    //                           4、协议中定义的方法默认是必须实现的。

    //                           答案:(T

    //                           正确

    //                           错误

    //                           5、一个文件中可以声明多个类。

    //                           答案:(T

    //                           正确

    //                           错误

    //                           6OC中如果向空指针nil发送消息,程序会崩溃的。

    //                           答案:(F

    //                           正确

    //                           错误

    //                           7、在动态(实例)方法中,self是指调用当前方法的那个对象。

    //                           答案:(T

    //                           正确

    //                           错误

    //                           8、便利构造器产生的对象应当由使用者进行销毁。

    //                           答案:(F

    //                           正确

    //                           错误

    //                           9、方法需要传递多个参数时,参数以逗号分隔。

    //                           答案:(F

    //                           正确

    //                           错误

    //                           10、注释可以出现在程序的任何位置。

    //                           答案:(T

    //                           正确

    //                           错误

    //                           [关闭]

    //

    //    return 0;

    //}


    o o

    //    

    //    C语言(iOS)

    //    Objective-C

    //    DAY_1

    //    DAY_2

    //    DAY_3

    //    DAY_4

    //    DAY_5

    //    DAY_6

    //    DAY_7

    //    DAY_8

    //    DAY_9

    //    DAY_10

    //    DAY_11

    //    UI课程

    //   //    

    //    

    //    Objective-C考试 [关闭]

    //    

    //    选择题(共80题,每题1分)

    //    1NSString *name = [[NSString alloc]initWithString:@"张三"];

    //    NSLog(@"%d",[name retainCount]);

    //    上述代码打印结果是:

    //    答案:(A

    //    A-1

    //    B0

    //    C1

    //    D2

    //    2、经过下列哪种操作后需要使用release方法。

    //    答案:(C

    //    Adelegate

    //    Bassign

    //    Cretain

    //    Ddealloc

    //    3、必须实现的协议方法使用:关键字声明.

    //    答案:(C

    //    A@property

    //    B@interface

    //    C@required

    //    D@protocol

    //    4、关于集合描述不正确的是:

    //    答案:(A

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

    //    B、集合分为可变集合、不可变集合。

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

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

    //    5NSArray *array = [NSArray arrayWithObjects:@"1",@"2",@"3",@"4",@"2", nil];

    //    NSMutableSet *set = [[NSMutableSet alloc]init];

    //    for(NSString *str in array)

    //    {

    //        [set addObject:str];

    //    }

    //    NSLog(@"%lu",[set count]);

    //    [set release];

    //    控制台打印的结果是:

    //    答案:(A

    //    A4

    //    B5

    //    C6

    //    D7

    //    6、下列说法中错误的是:

    //    答案:(C

    //    AObjective-C不用"函数调用",而用互相传递讯息.

    //    BObjective-C一个完整的类分为interfaceimplementation两块

    //    CObjective-C对象使用new分配内存,delete释放

    //    DObjective-C协议分为非正式协议和正式协议

    //    7Objective-C中包含一个自定义的头文件应该使用:

    //    答案:(C

    //    A#include ""

    //    B#include<>

    //    C#import ""

    //    D#import<>

    //    8、用哪个关键字定义协议中必须实现的方法:

    //    答案:(D

    //    A@optional

    //    B@protected

    //    C@private

    //    D、不用写关键字

    //    9NSMutableString * str = [[NSMutableString alloc] initWithFormat:@"123"];

    //    NSLog(@"str = %p",str);

    //    [str appendFormat:@"456"];

    //    NSLog(@"str = %p",str);

    //    上面代码对字符串str进行拼接后,2次打印的地址是否相同:

    //    答案:(A

    //    A、相同

    //    B、不同

    //    C、随机打印

    //    D、有时相同,有时不同

    //    10、以下代码执行后,person对象的retain count是多少:

    //    Person * person = [[Person alloc] init];

    //    [person retain]; [person release];

    //    答案:(B

    //    A0

    //    B1

    //    C2

    //    D3

    //    11、下列哪个选项与@synthesize配合使用:

    //    答案:(D

    //    A@end

    //    B@interface

    //    C@implementation

    //    D@property

    //    12OC中布尔(BOOL)类型的变量的值只有:

    //    答案:(B

    //    A1/0

    //    BYES/NO

    //    Ctrue/false

    //    D1/-1

    //    13、下列哪个选项不需要release方法:

    //    答案:(C

    //    A[[NSString alloc]init];

    //    B[[NSString alloc] initWithString:@”hehe”];

    //    C[[NSArray arrayWithArray: arr1];

    //       D[[NSMutableDictionary alloc] init];

    //       14OC,所有类的根类是:

    //       答案:(A

    //       ANSObject

    //       BNSDate

    //       CNSCoding

    //       DUIView

    //       15NSDictionary *dict = [NSDictionary dictionaryWithObject:@"a value" forKey:@"aKey"];

    //       NSLog(@"%@",[dict objectForKey:@"aKey"]);

    //       [dict release];

    //       控制台中打印的最后一条信息会是:

    //       答案:(C

    //       Aa value

    //       BaKey : a value

    //       C、崩溃信息

    //       Da value : aKey

    //       16、下面关于类概念的描述中,错误的是:

    //       答案:(D

    //       A、类是抽象数据类型的实现

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

    //       C、类是创建对象的模板

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

    //       17、名为print::的方法有几个传入参数:

    //       答案:(C

    //       A0

    //       B1

    //       C2

    //       D3

    //       18、下面哪些选项是类:

    //       答案:(A

    //       A、导演

    //       B、张艺谋

    //       C、擎天柱

    //       D、辉哥的雪铁龙

    //       19、下列选项中全部属于对象的是:

    //       答案:(C

    //       A、我的白色iPhone4s;Mac Mini

    //       B、狗;老虎

    //       C、邻居家的猫咪贝贝”;我的弟弟张三

    //       D、保时捷;犀利哥

    //       20、不会立刻使引用计数器改变的是:

    //       答案:(C

    //       Arelease

    //       Balloc

    //       Cautorelease

    //       Dretain

    //       21、在OC中类的接口声明关键字为:

    //       答案:(B

    //       A@import

    //       B@interface

    //       C@implemention

    //       D@protocol

    //       22、下面哪些选项是属性的正确声明方式:

    //       答案:(C

    //       A@property(nonatomic,retain)NSString myString;

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

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

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

    //       23、在OC中,类的定义包括两部分(声明与实现),其中实现部分是:

    //       答案:(C

    //       A@import

    //       B@interface

    //       C@implementation

    //       D@protocol

    //       24、使用 Objective-C语言输出“This is a Objective-C program.”正确的是:

    //       答案:(D

    //       ANSLog(@"%s",This is a Objective-C program.);

    //       BNSLog(@"%@",This is a Objective-C program.);

    //       CNSLog(@"This is a Objective-C program.",%@);

    //       DNSLog(@"This is a Objective-C program.");

    //       25OC中与alloc相反的方法是:

    //       答案:(C

    //       Arelease

    //       Bretain

    //       Cdealloc

    //       Dfree

    //       26、向Xcode控制台输出一个字符串应该用:

    //       答案:(A

    //       ANSLog()

    //       BPrintf()

    //       CNSPrintf()

    //       Dscanf()

    //       27-(id)setName:(NSString *)name :(NSString *)sex age:(int)age的方法名是:

    //       答案:(C

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

    //       B-setName:name :sex age:age

    //       CsetName: : age:

    //       DsetName:name:age:

    //       28、关于类和对象的概念,下列属于对象的是:

    //       答案:(C

    //       A、奥迪A6

    //       B、保龄球

    //       C、世界冠军刘翔

    //       D、西红柿

    //       29OC中的委托最好声明成:

    //       答案:(B

    //       Aretain

    //       Bassign

    //       Ccopy

    //       Dreadonly

    //       30NSArray *array = [NSArray arrayWithObjects:@"one", @"two", @"three",nil];

    //       NSLog(@"%@",[array objectAtIndex:1]);

    //       NSLog(@"%@",[array objectAtIndex:3]);

    //       控制台中打印的最后一条信息会是:

    //       答案:(D

    //       Aone

    //       Btwo

    //       Cthree

    //       D、崩溃信息

    //       31、下列有效的键路径是:

    //       答案:(B

    //       A[foo valueForKeyPath:@”1SomeMember”]

    //       B[foo valueForKeyPath:@”someMember.someAttribute”]

    //       C[foo valueForKeyPath:@”SOMEMEMBER@someAttibute”]

    //       D[foo valueForKeyPath:@”some Member”]

    //       32@interface Person : NSObject

    //       @property(nonatomic,retain)NSString * name;

    //       @end

    //       上面声明一个Person

    //       Person * per = [[Person alloc] init];

    //       per.name = [[NSString alloc] initWithFormat:@"张三"];

    //       NSLog(@"per.name = %d",[per.name retainCount]);

    //       答案:(D

    //       Aper.name = -1;

    //       Bper.name = 0;

    //       Cper.name = 1;

    //       Dper.name = 2;

    //       33、关于类目的说法正确的有:

    //       答案:(A

    //       A、类目可以为所有的类添加新方法。

    //       B、类目中添加的方法比原类中定义的方法级别要低。

    //       C、定义类目需要使用关键字category

    //       D、类目可以随意使用。

    //       34、下面哪个选项对集合的描述是正确的:

    //       答案:(D

    //       A、集合内不能存不同类型的对象

    //       B、集合内可以存整型的数

    //       C、字典内键值可以相同,但是每个键值对应的对象必须不同

    //       D、集合内只能存对象

    //       35、关于NSSet描述正确的有:

    //       答案:(B

    //       ANSSet可以存放任何数据类型的数据。

    //       BNSSet存放数据是无序的。

    //       CNSSet可以通过下标获取数据。

    //       DNSSet存放的数据是有序的。

    //       36、下列代码:

    //       @property(nonatomic,assign)id<Painting>myObject;

    //       答案:(C

    //       A、是说myObjectPainting分类的一部分

    //       B、是说myObject遵从于Painting分类

    //       C、是说myObject遵从于Painting协议

    //       D、不是合法的Objective-C语法格式

    //       37、关于协议描述不正确的是:

    //       答案:(D

    //       A、协议分正式和非正式协议。

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

    //       C、一个协议可以被多个类确认。

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

    //       38、在OC中扩展类的方法的形式不包括:

    //       答案:(B

    //       A、继承

    //       B、多态

    //       C、类目

    //       D、延展

    //       39、关于类目、延展的描述错误的是:

    //       答案:(B

    //       A、延展主要为类提供私有方法

    //       B、类目、延展不但能为类添加方法,而且都可以添加新的实例变量

    //       C、无论能否拿到类的源码,类目都可以对其扩展

    //       D、类目和延展声明语法不同

    //       40、自定义一个Person类,下面哪个选项是规范的便利构造器声明方式:

    //       答案:(D

    //       A-(id)personWithName:(NSString *)theName;

    //       B-(id)personwithName:(NSString *)theName;

    //       C+(id)personwithName:(NSString *)theName;

    //       D+(id)personWithName:(NSString *)theName;

    //       41Objective-C语言中类的实例变量如果只可以被本类和其子类访问,需要下列哪个修饰符:

    //       答案:(C

    //       A@public

    //       B@private

    //       C@protected

    //       D@friendly

    //       42、以下说法正确的是:

    //       答案:(C

    //       A、求数组的内容的个数用length方法

    //       B、字典是根据其位置来索引数据的

    //       C、协议中定义的方法默认是必须实现的

    //       D、定义类目必须要拿到自己类的源代码

    //       43、下面哪个选项无内存问题的:

    //       答案:(C

    //       A

    //       -(NSString *)description{

    //           NSString * str = [[NSString alloc] initWithFormat:@"description"];

    //           return str;

    //       }

    //       B

    //       -(NSString *)description{

    //           NSString * str = [[NSString alloc] initWithFormat:@"description"];

    //           [str release];

    //           return str;

    //       }

    //       C

    //       -(NSString *)description{

    //           NSString * str = [[NSString alloc] initWithFormat:@"description"];

    //           [str autorelease];

    //           return str;

    //       }

    //       D

    //       -(NSString *)description{

    //           NSString * str = [NSString stringWithFormat:@"description"];

    //           return [str autorelease];

    //       }

    //       44、以下对类的描述不正确的是:

    //       答案:(C

    //       A、类的接口部分可以包含实例变量、属性和方法

    //       B、可以把声明和实现都放到.h文件中

    //       C、一对文件(Person.h Person.m)只能定义一个类

    //       D、类比较抽象,对象比较具体

    //       45NSString NSMutableString的关系和区别描述不正确的是:

    //       答案:(D

    //       ANSString是不可变字符串,即本身内容不能被改变。

    //       BNSMutableString是可变字符串,即本身内容可修改。

    //       CNSMutableStringNSString的子类。

    //       DNSStringNSMutableString没有任何关系。

    //       46、下面程序段的输出结果是什么:

    //       NSArray * arr1 = [[NSArray alloc] initWithObjects:@"1",@"2",@"3", nil];

    //       NSString *str;

    //       str = [arr1 objectAtIndex:2];

    //       NSLog(@"%@",str);

    //       答案:(C

    //       A1

    //       B2

    //       C3

    //       D、程序崩溃

    //       47、关于KVC的描述正确的是:

    //       答案:(A

    //       AKVC是指--编码

    //       B、是一种直接访问对象的属性的机制。

    //       C、只能访问对象的属性。

    //       D、当对象的属性值改变时,我们能收到一个通知。

    //       48、下面描述正确的选项是:

    //       答案:(B

    //       A、当计数器为1,dealloc方法由系统自动调用

    //       B、一个对象在引用计数变为0时,会调用自己的dealloc方法

    //       C、在dealloc方法里,应该在[super dealloc]后释放本类所拥有的对象

    //       D、开启ARC后,可以重载dealloc,必须在dealloc里写 [super dealloc]方法

    //       49、简单类型的成员比如:int类型成员在使用@property(),括号中应使用:

    //       答案:(A

    //       Aassign

    //       Bcopy

    //       Cretain

    //       Dauto

    //       50、下列哪个选项不能作为property的可选属性:

    //       答案:(A

    //       Aalloc

    //       Bretain

    //       Catomic

    //       Dstrong

    //       51NSRange的成员变量有:

    //       答案:(A

    //       Alocation,length

    //       Bwidth,height

    //       Clocation,height

    //       Dlength,width

    //       52、下面程序段的输出结果是什么:

    //       NSMutableDictionary * dic = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"1",@"2",@"2",@"3",@"3",@"4", nil];

    //       [dic removeObjectForKey:@"3"];

    //       NSLog(@"%@",dic);

    //       答案:(C

    //       A1=2 3=4

    //       B1=2 2=3

    //       C2=1 4=3

    //       D2=1 3=2

    //       53、现要求声明一个集合,并将字符串添加到集合中,编写了如下代码,其中错误的是第几行:

    //       NSString * aString = [[NSString alloc] initWithString:@"iLanou"]; 1

    //       [aString autorelease]; 2

    //       NSArray * arr = [NSArray array]; 3

    //       [arr addObject:aString]; 4

    //       NSLog(@"string = %lu",[aString retainCount]);

    //       答案:(C

    //       A(1)

    //       B(2)

    //       C(3)

    //       D(4)

    //       54、读代码:

    //       NSString *str=@"hello";

    //       NSMutableSet *mt=[NSMutableSet setWithObjects:str, nil];

    //       [mt addObject:str];

    //       NSLog(@"%lu",mt.count);

    //       结果是:

    //       答案:(A

    //       A1

    //       B2

    //       C3

    //       D4

    //       55、下列代码正确的输出结果是:

    //       NSString * urlStr = @"www.lanou3g.com";

    //       NSRange range = NSMakeRange(4,7);

    //       NSString *prefix = [urlStr substringWithRange:range];

    //       NSLog(@"%@",prefix);

    //       答案:(B

    //       Alan

    //       Blanou3g

    //       Cwww.lan

    //       Dou3g

    //       56、下面哪个选项是正确的:

    //       答案:(B

    //       A、用继承可以扩展一个类,要调用扩展的方法,既可以用父类,也可以用子类

    //       B、用类目可以扩展一个类,可以直接用该类或该类的实例对象,去调用该类目扩展的方法

    //       C、延展就是类目

    //       D、可以在一个类的外部,调用这个类延展的方法

    //       57NSDateFormatter * formatter = [[NSDateFormatter alloc] init];

    //       [formatter setAMSymbol:@"AM"];

    //       [formatter setPMSymbol:@"PM"];

    //       [formatter setDateFormat:@"YY-MM-dd hh:mm:ss aaa"];

    //       NSString * currentDate = [formatter stringFromDate:[NSDate date]];

    //       NSLog(@"%@",currentDate);

    //       打印结果是:

    //       答案:(D

    //       A2012-05-31 17:45:04 PM

    //       B12-05-31 17:45:04

    //       C2012-05-31 17:45:04

    //       D12-05-31 05:45:04 PM

    //       58、对于语句NSString* testObject = [[NSData alloc] init];关于testObject是什么类型对象,以下说法正确的是:

    //       答案:(A

    //       A、编译时,NSString类型,运行时,NSData类型

    //       B、编译与运行时,都是NSData类型

    //       C、编译与运行时,都是NSString类型

    //       D、运行时,NSString类型,编译时,NSData类型

    //       59、下面程序段的输出结果是什么:

    //       NSMutableArray * arr1 = [[NSMutableArray alloc] initWithObjects:@"1",@"2",@"3", nil];

    //       [arr1 addObject:@"0"];

    //       [arr1 replaceObjectAtIndex:2 withObject:@"3"];

    //       NSLog(@"%@",arr1);

    //       答案:(B

    //       A0,1,2,3

    //       B1,2,3,0

    //       C1,3,3,0

    //       D0,3,2,3

    //       60、现有自定义类Student,下列选项中Student类的便利构造器编写正确的是:

    //       答案:(D

    //       A

    //       -(id) initWithName:(NSString *) newName{

    //           Student * stu = [[Student alloc] init];

    //           stu.Name = newName;

    //           return stu;

    //       }

    //       B

    //       +(id) studentWithName:(NSString *) newName{

    //           Student * stu = [[Student alloc] init];

    //           stu.Name = newName;

    //           return stu;

    //       }

    //       C

    //       +(id) studentWithName:(NSString *) newName{

    //           Student * stu = [[Student alloc] init];

    //           stu.Name = newName;

    //           [stu release];

    //           return stu;

    //       }

    //       D

    //       +(id) studentWithName:(NSString *) newName{

    //           Student * stu = [[Student alloc] init];

    //           stu.Name = newName;

    //           [stu autorelease];

    //           return stu;

    //       }

    //       61、类何时调用dealloc方法:

    //       答案:(D

    //       A[property release]

    //       B[instance release]

    //       C[super dealloc]

    //       D、当引用计数为0.

    //       62、实例变量默认的访问修饰符是:

    //       答案:(C

    //       A@public

    //       B@private

    //       C@protected

    //       D@package

    //       63、关于KVC的描述正确的是:

    //       答案:(B

    //       AKVC是指"Key-Value Observing"

    //       B、是一种间接访问对象的属性的机制。

    //       C、只能访问对象的属性。

    //       D、当对象的属性值改变时,我们能收到一个通知。

    //       64NSRange是什么数据类型:

    //       答案:(C

    //       A、数组

    //       B、字典

    //       C、结构体

    //       D、指针

    //       65、现有Person类声明和Person的子类Student,代码如下:

    //       @interface Person : NSObject

    //       -(void) walk;

    //       @end

    //       @implementation Person

    //       -(void) walk

    //    {

    //        NSLog(@"Person is walking…");

    //    }

    //       @end

    //       @interface Student : Person

    //       -(void) studentWalk;

    //       @end

    //       @implementation Student

    //       -(void) studentWalk

    //    {

    //        (1)

    //    }

    //       end

    //       在下列选项中,那些代码可以填在(1)处实现调用Person类中的walk方法,并输出“Person is walking…”

    //       答案:(C

    //       Awalk();

    //       Bsuper.walk;

    //       C[self walk];

    //       Dself.walk();

    //       66、写出下面程序段的输出结果:

    //       NSString * aString = [[NSString alloc] initWithString:@"123"];

    //       [aString autorelease];

    //       NSMutableArray * arr = [NSMutableArray array];

    //       [arr addObject:aString];

    //       NSLog(@"string = %lu",[aString retainCount]);

    //       答案:(C

    //       A1

    //       B0

    //       C、整型最大值

    //       D2

    //       67、下列哪个操作不会引起引用计数(retaincount)的变化是:

    //       答案:(B

    //       ANSString *str1 = [[NSString stringWithFormat:@"hehe"];

    //                           Bint a=1;

    //                           CNSMutableData *data1 = [NSMutableData allocWithZone:data2];

    //                           DNSArray *arr1 = [[NSArray alloc]initWithArray:arr2];

    //                           68、下面程序段的输出结果是什么:

    //                           NSMutableDictionary * dic = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"1",@"2",@"2",@"3",@"3",@"4", nil];

    //                           [dic setObject:@"1" forKey:@"3"];

    //                           [dic removeObjectForKey:@"1"];

    //                           NSLog(@"%@",dic);

    //                           答案:(C

    //                           A1=3 2=3 3=4

    //                           B1=2 1=3 3=4

    //                           C2=1 3=1 4=3

    //                           D3=1 3=2 4=3

    //                           69NSMutableDictionary * dic = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"1",@"2",@"2",@"3",@"3",@"4", nil];

    //                           NSArray *arr = [[NSArray alloc] initWithArray:[dic allKeys]];

    //                           NSString *str = [[NSString alloc] initWithFormat:[arr objectAtIndex:0],[arr objectAtIndex:1],[arr objectAtIndex:2]];

    //                           NSLog(@"%@",str);

    ////                           结果是:

    //                           答案:(C

    //                           A123

    //                           B234

    //                           C2

    //                           D3

    //                           70、读代码

    //                           NSString * str =[[NSString alloc]initWithFormat:@"%@",@"iLanou123ios"];

    //                           NSString * str1=[str substringToIndex:3];

    //                           NSString * str2=[str substringWithRange:NSMakeRange(6, 3)];

    //                           NSString * newStr=[str1 stringByAppendingString:str2];

    //                           NSLog(@"newStr=%@",newStr);

    //                           newStr的值为:

    //                           答案:(D

    //                           AiLanou

    //                           BiL123

    //                           CiLaios

    //                           DiLa123

    //                           71、查看下列代码,能正确输出number的选项是:

    //                           @interface MyClass : NSObject

    //    {

    //        int number;

    //    }

    //                           +(void) printNumber;

    //                           @end

    //                           @implementation MyClass

    //                           +(void) printNumber

    //    {

    //        number =10;

    //        NSLog(@""%d"",number);

    //    }

    //                           @end

    //                           答案:(D

    //                           A[MyClass printNumber];

    //                           BMyClass * obj = [[MyClass alloc] init]; [obj printNumber];

    //                           CprintNumber();

    //                           D、编译错误,无法执行。

    //                           72、下面程序段的输出结果是什么:

    //                           NSString * aString = [[NSString alloc] initWithString:@"hehe"]; 

    //                           [aString autorelease];

    //                           NSMutableArray *arr = [NSMutableArray array];

    //                           [arr addObject:aString];

    //                           NSLog(@"string = %d",[aString retainCount]);

    //                           答案:(A

    //                           Astring = -1

    //                           Bstring = 0

    //                           Cstring = 1

    //                           Dstring = 2

    //                           73、下面程序段的输出结果是什么:

    //                           NSMutableDictionary * dic = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"1",@"2",@"2",@"3",@"3",@"4", nil];

    //                           NSString *str = @"3";

    //                           int a = 3;

    //                           [dic setObject:a forKey:str];

    //                           NSLog(@"%@",dic);

    //                           答案:(D

    //                           A2=1 3=3 4=3

    //                           B1=2 3=3 3=4

    //                           C1=2 3=3 3=3

    //                           D、程序崩溃

    //                           74、下面程序段的输出结果是什么:

    //                           int a = 10;

    //                           NSNumber *b = [[NSNumber alloc] initWithInt:a];

    //                           NSLog(@"%d", a+++b);

    //                           答案:(D

    //                           A21

    //                           B20

    //                           C30

    //                           D、编译错误

    //                           75、下面程序段的输出结果是什么:

    //                           NSMutableDictionary * dic = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"1",@"2",@"1",@"3",@"1",@"4", nil];

    //                           NSArray *arr1 = [[NSArray alloc] initWithArray:[dic allKeys]];

    //                           NSArray *arr2 = [[NSArray alloc] initWithArray:[dic allValues]];

    //                           NSMutableDictionary *dic2 = [[NSMutableDictionary alloc] initWithObjects:arr1 forKeys:arr2];

    //                           NSLog(@"%@",dic2);

    //                           答案:(C

    //                           A1=2 1=3 1=4

    //                           B2=1 3=1 4=1

    //                           C1=4

    //                           D4=1

    //                           76NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

    //                           NSString *str = [NSString stringWithFormat:@”abc”];

    //                           NSString *str2 = [str retain];

    //                           [pool release];

    //                           NSLog(@”str retainCount = %d,str2 retainCount = %d”,[str retainCount],[str2 retainCount]);

    //                           上述代码打印结果正确的是:

    //                           答案:(C

    //                           Astr retainCount = 2,str2 retainCount = 2

    //                           Bstr retainCount = 0,str2 retainCount = 1

    //                           Cstr retainCount = 1,str2 retainCount = 1

    //                           Dstr retainCount = 2,str2 retainCount = 0

    //                           77、关于内存管理的描述错误的是:

    //                           答案:(D

    //                           Aallocdealloc是对应的,前者分配内存,后者回收内存

    //                           Bretainrelease是对应的,前者retainCount1,后者retainCount1

    //                           C、当对象的retainCount0时,dealloc会被系统调用

    //                           DiOS5之后的ARC指的是系统垃圾回收

    //                           78NSMutableDictionary字典中删除对象可以使用下面那个方法:

    //                           答案:(D

    //                           AfilteredArrayUsingPredicate:

    //                           BarrayByAddingObject:

    //                           CinitWithCapacity:

    //                           DsetValue:forKey:

    //                           79、有如下一个类定义

    //                           @interface MyClass:NSObject

    //                           @property(nonatomic,retain)NSString *str;

    //                           @end

    //                           @implementation MyClass

    //                           (1)

    //                           -(NSString *)str

    //    {

    //        return str;

    //    }

    //                           -(void)dealloc

    //    {

    //        self.str = nil;

    //        [super dealloc];

    //    }

    //                           @end

    //                           答案:(C

    //                           A

    //                           -(void)setStr:(NSString *)newStr

    //    {

    //        str = newStr;

    //    }

    //                           B

    //                           -(void)setStr:(NSString *)newStr

    //    {

    //        [str release];

    //        str = [newStr retain];

    //    }

    //                           C

    //                           -(void)setStr:(NSString *)newStr

    //    {

    //        if(str != newStr)

    //        {

    //            [str release];

    //            str = [newStr retain];

    //        }

    //    }

    //                           D

    //                           -(void)setStr:(NSString *)newStr

    //    {

    //        [newStr retain]

    //        [str release] = newStr;

    //    }

    //                           80、对于下面代码说法正确的是:

    //                           @property (copy,nonatomic,readonly)NSString * calValue

    //                           答案:(D

    //                           A、没有getter方法,当对calvalue赋值时,将产生一个NSString副本。

    //                           B、此属性可保证多线程安全。

    //                           C、此属性在合成时可以生成设置器方法。

    //                           D、此属性只能读取,不能赋值。

    //                           判断题(共10题,每题2分)

    //                           1、在OC,数组保存的只能是对象。

    //                           答案:(T

    //                           正确

    //                           错误

    //                           2、实例对象都是通过调用类方法生成的。

    //                           答案:(T

    //                           正确

    //                           错误

    //                           3Objective-C可以多重继承。

    //                           答案:(F

    //                           正确

    //                           错误

    //                           4、协议中定义的方法默认是必须实现的。

    //                           答案:(T

    //                           正确

    //                           错误

    //                           5、一个文件中可以声明多个类。

    //                           答案:(T

    //                           正确

    //                           错误

    //                           6OC中如果向空指针nil发送消息,程序会崩溃的。

    //                           答案:(F

    //                           正确

    //                           错误

    //                           7、在动态(实例)方法中,self是指调用当前方法的那个对象。

    //                           答案:(T

    //                           正确

    //                           错误

    //                           8、便利构造器产生的对象应当由使用者进行销毁。

    //                           答案:(F

    //                           正确

    //                           错误

    //                           9、方法需要传递多个参数时,参数以逗号分隔。

    //                           答案:(F

    //                           正确

    //                           错误

    //                           10、注释可以出现在程序的任何位置。

    //                           答案:(T

    //                           正确

    //                           错误

    //                           [关闭]

    //

    //    return 0;

    //}


  • 相关阅读:
    Java 中的JOption函数
    01背包与完全背包(对比)
    AC注定不平坦(大神回忆录)
    背包精讲之——01背包
    动规问题概述(待整理)
    背包九讲
    Tautology(递推)||(栈(stack))(待整理)
    深度优先和广度优先区别
    Linux下JDK、Tomcat的安装及配置
    同IP不同端口Session冲突问题
  • 原文地址:https://www.cnblogs.com/yuhaojishuboke/p/5043110.html
Copyright © 2011-2022 走看看