A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

黑马入学测试题详解








昨天申请的入学测试,做了大概半天左右,把代码分享出来,不足之处望指点,不要抄代码,理解思路最重要


目前技术分不够,看完评论下谢谢





顺便问下有没IOS12月5日就业班的小伙伴,说不定我们是同学{:2_31:}


  1. <font size="3">第一至五题:
  2. 1、 Self和super的区别?

  3.     答:self:当前方法调用者,调用自己的方法,如果没有去父类找。谁调用self,
  4.        self就代表谁。self在类方法中指当前类,实例方法中指当前实例对象.

  5.         super表示调用父类方法.



  6. 2、 定义属性时候,什么情况下用copy、assign、retain、strong、week

  7.     答:copy:需要使用对象数据,但不想影响原对象内容是可使用cpoy
  8.        用于NSString,block等类型在属性set方法中的作用是
  9.        release旧值,copy新值

  10.         assign:直接赋值,用于基本数据类型,定义int double float时用assign

  11.         retain声明 在MRC下要增加对象的引用计数时用retain,用于oc对象类型
  12.         set方法中retain的作用release旧值retain新值

  13.         strong 相当于retain会将对象的引用计数加1,让对象不容易死

  14.         week 弱指针,适用于OC对象,指向的对象会被立即释放 将指针赋值为nil



  15. //说明:
  16. //因为test2是对象方法 用self表示当前类自己
  17. //test3实例方法 self表示当前实例对象

  18. 3、 下面第一个self指向的是___当前Person类____,第二个self指向的是__Person中的实例变量_age_______.

  19. #import <Foundation/Foundation.h>
  20. @interface Person : NSObject
  21. {
  22.     int _age;
  23. }
  24. + (void)test1;
  25. + (void)test2;
  26. - (void)text3;
  27. @end

  28. @implementation Person
  29. + (void)test1
  30. {
  31.     NSLog(@"调用了test1方法");
  32. }
  33. + (void)test2
  34. {
  35.     [self test1];
  36. }
  37. - (void)text3
  38. {
  39.     NSLog(@"%d",self->_age);
  40. }

  41. @end




  42. // .语法相当于隐式调用了对象的set方法 系统自动调用
  43. 4、 下面p.age = 10内部做了哪部操作(A)。
  44. #import <Foundation/Foundation.h>
  45. #import "Person.h"
  46. int main(int argc, const char * argv[])
  47. {
  48.     Person *p = [Person new];
  49.     p.age = 10;
  50.     int a = p.age;
  51.     return 0;
  52. }
  53. A.    [p setAge:10]
  54. B.    [p age]
  55. C.     以上都做
  56. D.    什么也没做
  57. </font>
复制代码
5,

  1. #import <Foundation/Foundation.h>

  2. //5、 编写一个程序,用于接受从终端输入的整数,提取并用英文显示这个数的每一位数。例如输入112 输出 One One Two。(Objective-C)

  3. int main(int argc, const char * argv[]) {
  4.     @autoreleasepool {
  5.         
  6.         //创建变量,存储用户输入的数字
  7.         int input;
  8.         //创建数组,存放英文数字
  9.         NSArray *array=@[@"zero",@"one",@"two",@"three",@"four",@"five"         ,@"six",@"seven",@"eight",@"nine"];
  10.         //创建可变字符串,存放结果
  11.         NSMutableString *result=[NSMutableString string];
  12.         //接收用户输入
  13.         scanf("%d",&input);
  14.         //转化为OC字符串
  15.         NSString *str=[NSString stringWithFormat:@"%d",input];
  16.         
  17.         for (int i=0; i<str.length; i++) {
  18.             
  19.             //循环取出每一个数字 由于返回值是char字符串将字符编码-48再转换为int数据
  20.             input=(int)[str characterAtIndex:i]-48;
  21.             //追加每个字符
  22.             [result appendFormat:array[input]];
  23.             //追加空格
  24.             [result appendFormat:@" "];
  25.             
  26.         }
  27.         //输出
  28.         NSLog(@"%@",result);
  29.         
  30.         
  31.     }
  32.     return 0;
  33. }
复制代码

看完的好心人评论下,谢谢,目前正在赚技术分
后续在下面


72 个回复

正序浏览
谢谢分享
回复 使用道具 举报
分享的很好,赞一个
回复 使用道具 举报
楼主看上去很牛逼的样子 完全是复制代码吧
回复 使用道具 举报
很实用,收下拉~~
回复 使用道具 举报
++++++++++++++++++++++++++
回复 使用道具 举报
必须的。。。
回复 使用道具 举报
支持下,有道题的思路还是不错的
回复 使用道具 举报
支持楼主,说的很详细
回复 使用道具 举报
加油!赞!
回复 使用道具 举报
楼主是好人,好人一生平安
回复 使用道具 举报
感觉有点难,看来得加油有了
回复 使用道具 举报
考的很全面!
回复 使用道具 举报
mark下。希望能用的上,
回复 使用道具 举报
谢谢楼主分享
回复 使用道具 举报
不忘初心 方得始终.
回复 使用道具 举报
看完后,感觉思路很清晰,fighting!
回复 使用道具 举报
入学班的表示就一道题有点思路,看样子考试题都是OC的
回复 使用道具 举报
都是高手啊,我正在学习,希望给能和你们成为同学
回复 使用道具 举报
王鹏飞1 发表于 2015-11-6 15:29
我也是12月5日ios14期。。。。

你好 ,你已经面试通过了
回复 使用道具 举报
1234下一页
您需要登录后才可以回帖 登录 | 加入黑马