zoukankan      html  css  js  c++  java
  • 自己在OC考试中的试题

     

    Objective-C考试 

    ※ 选择题(共40题,每题2分)

        1、
    以下说法正确的是________。

    答案:(C)


        2、
    NSCountedSet * set3 = [NSCountedSet setWithObjects:@"123",@"456",@"789",@"123", nil];     		
    NSLog(@"%lu",[set3 countForObject:@“123"]);
    打印的是:

    答案:(C)


        3、
    NSString *string = @“IMac”;创建出的该字符串是存储在:

    答案:(C)


        4、
    - (void) backName;叙述错误的是

    答案:(D)


        5、
    NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@"wangwu",@"name",@"man",@"sex", nil];
        NSLog(@"dict = %@“,dict);
    控制台打印的是:

    答案:(A)


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

    答案:(D)


        7、
    方法 - (Fraction *)addFraction:(Fraction *)anotherFraction; 有几个参数?

    答案:(D)


        8、
    下列方法中是删除指定下标元素的方法是:

    答案:(A)


        9、
    协议与代理的描述不正确的是:________

    答案:(C)


        10、
    下面哪些选项是属性的正确声明方式______。

    答案:(A)


        11、
    属性的属性readonly是什么意思_______。

    答案:(A)


        12、
    以下哪个是Category的正确声明______。

    答案:(B)


        13、
    NSMutableDictionary *mutableDic = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"lisi",@"name",[NSNumber numberWithInt:20],@"age", nil];                           
    [mutableDic setObject:@"89" forKey:@"num"];
    NSLog(@"mutableDic4 = %@“,mutableDic);
    控制台打印是:

    答案:(B)


        14、
    对于- (id)objectAtIndex:(NSUInteger)index;描述正确的是: 

    答案:(C)


        15、
    - (instancetype)initWithName:(NSString*)name age:(NSInteger)age 在.m中实现正确的是

    答案:(A)

    • - (instancetype)initWithName:(NSString*)name age:(NSInteger)age{
          self = [super init];
          if(self) {
              _name = name;
              _age = age;
          }
            return self;
      }
    • - (instancetype)initWithName:(NSString*)name age:(NSInteger)age{
          _name = name;
          _age = age;
      }
    • - (void)initWithName:(NSString*)name age:(NSInteger)age{
          _name = name;
          _age = age;
         return self;
      }
    • + (instancetype)initWithName:(NSString*)name age:(NSInteger)age{
          self.name = name;
          self.age = age;
         return self;
      }

        16、
    NSMutableDictionary *mutableDic = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"zhangsan",@"name",[NSNumber numberWithInt:20],@"age", nil];
    [mutableDic setValue:@"nil" forKey:@"age"];NSLog(@"mutableDic3 = %@“,mutableDic);
    打印的是:

    答案:(D)


        17、
    OC中的实例对象是怎么产生的

    答案:(B)


        18、
    以下对类的描述不正确的是

    答案:(C)


        19、
    NSString 和 NSMutableString的关系和区别描述不正确的是

    答案:(D)


        20、
    -(void) sayHi{    
        NSLog(@"大家好。");
    }
    关于该方法,叙述错误的是

    答案:(A)


        21、
    关于类目和协议的说法错误的是______。

    答案:(B)


        22、
    NSMutableArray *array = @[@"bob", @"steve", @"john"];  //没有mutableCopy
    [array addObject:@“Peter"];                         
    NSLog(@“%@”,array);
    运行结果是:

    答案:(B)


        23、
    写出下面程序段的输出结果:
    NSString * aString = [[NSString alloc] initWithString:@"123"]; 	
    [aString autorelease];		
    NSMutableArray * arr = 
    [NSMutableArray array];		
    [arr addObject:aString];		
    NSLog(@"string = %lu",[aString retainCount])

    答案:(C)


        24、
    下列关于for...in快速遍历集合描述正确的是: ( )

    答案:(B)


        25、
    下列说法正确的是:

    答案:(C)


        26、
    属于类的扩展的是______。

    答案:(A)


        27、
    关于字符串的拷贝说法正确的是:()

    答案:(B)


        28、
    NSArray *arr = [NSArray arrayWithObjects:@“a1",@"a5",@"c4",@"l9",@"o0", nil];       
    NSComparator sortString = ^(id arr1,id arr2){
        
            return [arr1 compare: arr2];     //block
        };
        NSArray *array = [arr sortedArrayUsingComparator:sortString];
        NSLog(@“%@“,array) ;
    打印出的是:

    答案:(A)


        29、
    直接造成对象引用计数减一的是______。

    答案:(A)


        30、
    声明一个方法:提供Student对象数组按照学号升序排列的判断条件:

    答案:(A)


        31、
    下列哪个选项与@synthesize配合使用______。

    答案:(D)


        32、
    关于代理描述错误的是:________

    答案:(D)


        33、
    以下哪些对象不需要我们释放_________。

    答案:(D)


        34、
    - (NSString *)componentsJoinedByString:(NSString *)separator;关于这个方法下列表述正确的是:

    答案:(D)


        35、
    [str stringByReplacingOccurrencesOfString:@" " withString:@""] 关于上述方法描述正确的是:

    答案:(B)


        36、
    sendMessage::: 这个方法有几个参数传入

    答案:(C)


        37、
    -[Person sayHi]: unrecognized selector sent to instance 0x100114d70 上面崩溃信息可以看出崩溃原因是上面_________。

    答案:(C)


        38、
    copy下的属性的内部实现_______。

    答案:(B)

    • - (void)setName:(NSString *)name{ 
            if(_name != name){
                 [_name release];
                 _name = [[name copy] autorelease];
            }
      }
    • - (void)setName:(NSString *)name{ 
            if(_name != name){
                 [_name release];
                 _name = [name copy]; 
            }
      }
    • - (NSString *)name{
            return [[_name copy]autorelease];
      }
    • - (NSString *)name{
            return [_name copy];
      }

        39、
    有以下两个字符串 NSMutableString *str1 = [[NSMutableString alloc] initWithFormat:@"hey"]; NSString *str2 = [[NSString alloc] initWithFormat:@“hey"]; 则 str1 和 str2 的 retainCount 各为多少

    答案:(A)


        40、
    .h文件中声明如下:
    + (id)studentWithName:(NSString *)name
                      sex:(NSString *)sex
                      age:(NSInteger)age
                   school:(NSString *)school
                   number:(NSInteger)number;
    .m文件中如何实现?

    答案:(A)

    • + (id)studentWithName:(NSString*)name
                        sex:(NSString*)sex
                        age:(NSInteger)age
                     school:(NSString*)school
                     number:(NSInteger)number
      {
          Student* stu = [[Student alloc] initWithName:name sex:sex age:age school:school number:number];
          return stu;
      }
    • + (id)studentWithName:(NSString*)name
                        sex:(NSString*)sex
                        age:(NSInteger)age
                     school:(NSString*)school
                     number:(NSInteger)number
      {
          Student* stu = [[Student alloc] initWithName:name sex:sex age:age school:school number:number];
      }
    • + (id)studentWithName:(NSString*)name
                        sex:(NSString*)sex
                        age:(NSInteger)age
                     school:(NSString*)school
                     number:(NSInteger)number
      {
          Student* stu = [Student initWithName:name sex:sex age:age school:school number:number];
          return stu;
      }
    • + (id)studentWithName:(NSString*)name
                        sex:(NSString*)sex
                        age:(NSInteger)age
                     school:(NSString*)school
                     number:(NSInteger)number
      {
          Student* stu = [alloc initWithName:name sex:sex age:age school:school number:number];
          return stu;
      }

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

        1、
    componentsSeparatedByString:方法的返回值是字符串

    答案:(F)


        2、
    通过字面量创建的字符串是常量字符串, 存在于常量区

    答案:(T)


        3、
    sortedArrayUsingSelector: 给可变数组排序不需要返回值。    //函数名不对,没有Array.  NSArray和NSMutableArray的description方法都是 sortArrayUsingDescriptors

    答案:(F)


        4、
    -(id)objectForKey:(id)aKey;是根据key取出value

    答案:(T)


        5、
    NSEnumerator是一个抽象类, 所以没有NSEnumerator对象存在   //不是通过alloc实现

    答案:(F)


        6、
    所有集合都可以保存id类型的数据

    答案:(T)


        7、
    遵守协议,但没有实现协议方法,调用协议方法会出现程序奔溃

    答案:(T)


        8、
    self和super没有本质区别,可以互用

    答案:(F)


        9、
    在OC面向对象设计框架中,类是程序的基本组成单元     //**没有类的话, 就没有对象

    答案:(T)


        10、
    self 在实例方法中代表本类的对象,在类方法中代表本类

    答案:(T)



  • 相关阅读:
    Javascript + Dom知识点总结
    C#编码规范
    windows7下安装apache+PHP5.3
    Sublime Text 使用方法
    如何使用 Azure PowerShell 在 Azure Marketplace 中查找 Windows VM 映像
    Azure 实例元数据服务
    Azure 元数据服务:适用于 Windows VM 的计划事件(预览)
    处理 Windows 虚拟机的计划内维护通知
    Azure 虚拟机代理概述
    下载 VM 模板
  • 原文地址:https://www.cnblogs.com/mafeng/p/5234118.html
Copyright © 2011-2022 走看看