黑马入学测试题详解
昨天申请的入学测试,做了大概半天左右,把代码分享出来,不足之处望指点,不要抄代码,理解思路最重要
目前技术分不够,看完评论下谢谢
顺便问下有没IOS12月5日就业班的小伙伴,说不定我们是同学{:2_31:}
- <font size="3">第一至五题:
- 1、 Self和super的区别?
- 答:self:当前方法调用者,调用自己的方法,如果没有去父类找。谁调用self,
- self就代表谁。self在类方法中指当前类,实例方法中指当前实例对象.
- super表示调用父类方法.
- 2、 定义属性时候,什么情况下用copy、assign、retain、strong、week
- 答:copy:需要使用对象数据,但不想影响原对象内容是可使用cpoy
- 用于NSString,block等类型在属性set方法中的作用是
- release旧值,copy新值
- assign:直接赋值,用于基本数据类型,定义int double float时用assign
- retain声明 在MRC下要增加对象的引用计数时用retain,用于oc对象类型
- set方法中retain的作用release旧值retain新值
- strong 相当于retain会将对象的引用计数加1,让对象不容易死
- week 弱指针,适用于OC对象,指向的对象会被立即释放 将指针赋值为nil
- //说明:
- //因为test2是对象方法 用self表示当前类自己
- //test3实例方法 self表示当前实例对象
- 3、 下面第一个self指向的是___当前Person类____,第二个self指向的是__Person中的实例变量_age_______.
- #import <Foundation/Foundation.h>
- @interface Person : NSObject
- {
- int _age;
- }
- + (void)test1;
- + (void)test2;
- - (void)text3;
- @end
- @implementation Person
- + (void)test1
- {
- NSLog(@"调用了test1方法");
- }
- + (void)test2
- {
- [self test1];
- }
- - (void)text3
- {
- NSLog(@"%d",self->_age);
- }
- @end
- // .语法相当于隐式调用了对象的set方法 系统自动调用
- 4、 下面p.age = 10内部做了哪部操作(A)。
- #import <Foundation/Foundation.h>
- #import "Person.h"
- int main(int argc, const char * argv[])
- {
- Person *p = [Person new];
- p.age = 10;
- int a = p.age;
- return 0;
- }
- A. [p setAge:10]
- B. [p age]
- C. 以上都做
- D. 什么也没做
- </font>
复制代码5,
- #import <Foundation/Foundation.h>
- //5、 编写一个程序,用于接受从终端输入的整数,提取并用英文显示这个数的每一位数。例如输入112 输出 One One Two。(Objective-C)
- int main(int argc, const char * argv[]) {
- @autoreleasepool {
-
- //创建变量,存储用户输入的数字
- int input;
- //创建数组,存放英文数字
- NSArray *array=@[@"zero",@"one",@"two",@"three",@"four",@"five" ,@"six",@"seven",@"eight",@"nine"];
- //创建可变字符串,存放结果
- NSMutableString *result=[NSMutableString string];
- //接收用户输入
- scanf("%d",&input);
- //转化为OC字符串
- NSString *str=[NSString stringWithFormat:@"%d",input];
-
- for (int i=0; i<str.length; i++) {
-
- //循环取出每一个数字 由于返回值是char字符串将字符编码-48再转换为int数据
- input=(int)[str characterAtIndex:i]-48;
- //追加每个字符
- [result appendFormat:array[input]];
- //追加空格
- [result appendFormat:@" "];
-
- }
- //输出
- NSLog(@"%@",result);
-
-
- }
- return 0;
- }
复制代码
看完的好心人评论下,谢谢,目前正在赚技术分。  后续在下面
|