oc深坑测试题及其答案

一、选择题(共80题,每题1分)

1、
不会立刻使引用计数器改变的是:
答案:(C)
 A、release
 B、alloc
 C、autorelease
 D、retain

2、
在OC中类的接口声明关键字为:
答案:(B)
 A、@import
 B、@interface
 C、@implemention
 D、@protocol

3、
NSString *name = [[NSString alloc]initWithString:@"张三"];NSLog(@"%d",[name retainCount]);上述代码打印结果是:
答案:(A)
 A、-1
 B、0
 C、1
 D、2

4、
下列选项中全部属于对象的是:
答案:(C)
 A、我的白色iPhone4s;Mac Mini
 B、狗;老虎
 C、邻居家的猫咪“贝贝”;我的弟弟“张三”
 D、保时捷;犀利哥

5、
NSDictionary *dict = [NSDictionary dictionaryWithObject:@"a value" forKey:@"aKey"];NSLog(@"%@",[dict objectForKey:@"aKey"]);[dict release];控制台中打印的最后一条信息会是:
答案:(C)
 A、a value
 B、aKey : a value
 C、崩溃信息
 D、a value : aKey

6、
现有如下集合,能准确删除“张三”的代码是:NSMutableDictionary * peoples=[NSMutableDictionary dictionaryWithObjectsAndKeys:@"张三",@"左护法",@"李四",@"右使",@"唐sir",@"老大哥", nil];
答案:(A)
 A、[peoples removeObjectForKey:@"左护法"];
 B、[peoples removeObject:@"张三"];
 C、[peoples removeObjectAtIndex:0];
 D、[peoples removeAllObjects];

7、
关于类和对象的概念,下列属于对象的是:
答案:(C)
 A、奥迪A6
 B、保龄球
 C、世界冠军刘翔
 D、西红柿

8、
以下说法不正确的是:
答案:(A)
 A、nonatomic:提供多线程保护,提高性能,在没有使用多线程的编程中可以选择使用。
 B、assign:属性默认值。说明设置器直接进行赋值,针对基础数据类型 (NSInteger,CGFloat)和C数据类型(int, float, double, char)等等。
 C、retain:此属性只用于obj-c的对象类型,对参数进行release旧值,再retain新值。
 D、copy:此属性只对实现NSCopying协议的对象有效(NSString)。拷贝工作由copy方法执行。

9、
NSArray *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)
 A、4
 B、5
 C、6
 D、7

10、
经过下列哪种操作后需要使用release方法。
答案:(C)
 A、delegate
 B、assign
 C、retain
 D、dealloc

11、
声明一个方法:提供Student对象数组按照学号升序排列的判断条件:
答案:(A)
 A、-(NSComparisonResult)compareWithNumberForAscendSort:(Student*)otherStudent
 B、-(NSInteger)compareWithNumberForAscendSort:(Student*)otherStudent
 C、- (BOOL))compareWithNumberForAscendSort:(Student*)otherStudent
 D、+(int)compareWithNumberForAscendSort:(Student

12、
下列哪个选项不需要release方法:
答案:(C)
 A、[[NSString alloc]init];
 B、[[NSString alloc] initWithString:@”hehe”];
 C、[[NSArray arrayWithArray: arr1];
 D、[[NSMutableDictionary alloc] init];

13、
OC中,所有类的根类是:
答案:(A)
 A、NSObject
 B、NSDate
 C、NSCoding
 D、UIView

14、
下列哪个选项与@synthesize配合使用:
答案:(D)
 A、@end
 B、@interface
 C、@implementation
 D、@property

15、
向Xcode控制台输出一个字符串应该用:
答案:(A)
 A、NSLog()
 B、Printf()
 C、NSPrintf()
 D、scanf()

16、
必须实现的协议方法使用:关键字声明.
答案:(C)
 A、@property
 B、@interface
 C、@required
 D、@protocol

17、
NSMutableString * str = [[NSMutableString alloc] initWithFormat:@"123"];NSLog(@"str = %p",str);[str appendFormat:@"456"];NSLog(@"str = %p",str);上面代码对字符串str进行拼接后,2次打印的地址是否相同:
答案:(A)
 A、相同
 B、不同
 C、随机打印
 D、有时相同,有时不同

18、
Objective-C的代码文件的后缀为:
答案:(B)
 A、.cpp
 B、.m
  C、.pl
 D、.c

19、
下列说法中错误的是:
答案:(C)
 A、Objective-C不用"函数调用",而用互相传递讯息.
 B、Objective-C一个完整的类分为interface和implementation两块
 C、Objective-C对象使用new分配内存,用delete释放
 D、Objective-C协议分为非正式协议和正式协议

20、
NSArray *array = [NSArray arrayWithObjects:@"one", @"two", @"three",nil];NSLog(@"%@",[array objectAtIndex:1]);NSLog(@"%@",[array objectAtIndex:3]);控制台中打印的最后一条信息会是:
答案:(D)
 A、one
 B、two
 C、three
 D、崩溃信息

21、
OC中布尔(BOOL)类型的变量的值只有:
答案:(B)
 A、1/0
 B、YES/NO
 C、true/false
 D、1/-1

22、
Objective-C中包含一个自定义的头文件应该使用:
答案:(C)
 A、#include ""
 B、#include<>
 C、#import ""
 D、#import<>

23、
在OC中,类中成员变量的可见度(访问权限)不包括:
答案:(D)
 A、@public
 B、@protected
 C、@private
 D、@optional

24、
OC中的委托最好声明成:
答案:(B)
 A、retain
 B、assign
 C、copy
 D、readonly

25、
面向对象的特性不包括:
答案:(D)
 A、封装
 B、继承
 C、多态
 D、构造

26、
OC中与alloc相反的方法是:
答案:(C)
 A、release
 B、retain
 C、dealloc
 D、free

27、
用哪个关键字定义协议中必须实现的方法:
答案:(D)
 A、@optional
 B、@protected
 C、@private
 D、不用写关键字

28、
下面哪些选项是属性的正确声明方式:
答案:(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;

29、
对于Objective-C中的方括号“[]”的作用,下列说法错误的是:
答案:(D)
 A、用于通知某个对象该做什么
 B、方括号内第一项是对象,其余部分是你需要对象执行的操作
 C、在Objective-C中通知对象执行某种操作,称为发送消息.(也叫调用方法)
 D、方括号中可以为空

30、
以下代码执行后,person对象的retain count是多少:Person * person = [[Person alloc] init];[person retain]; [person release];
答案:(B)
 A、0
 B、1
 C、2
 D、3

31、
创建对象时,对象的内存和指向对象的指针分别分配在哪里:
答案:(A)
 A、堆区,栈区
 B、常量区,堆区
 C、全局区,栈区
 D、栈区,堆区

32、
协议与委托的描述不正确的是:
答案:(C)
 A、委托是iOS的一种设计模式
 B、协议里的方法默认是必须实现的
 C、类接受了多个协议,这些协议写在父类后面的<>内,多个协议之间用“、”隔开
 D、定义协议使用@protocol关键字

33、
类何时调用dealloc方法:
答案:(D)
 A、[property release]后
 B、[instance release]后
 C、[super dealloc]时
 D、当引用计数为0时.

34、
NSDateFormatter * 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)
 A、2012-05-31 17:45:04 PM
 B、12-05-31 17:45:04
 C、2012-05-31 17:45:04
 D、12-05-31 05:45:04 PM

35、
NSRange的成员变量有:
答案:(A)
 A、location,length
 B、width,height
 C、location,height
 D、length,width

36、
现有自定义类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;}

37、
自定义一个Person类,下面哪个选项是规范的便利构造器声明方式:
答案:(D)
 A、-(id)personWithName:(NSString *)theName;
 B、-(id)personwithName:(NSString *)theName;
 C、+(id)personwithName:(NSString *)theName;
 D、+(id)personWithName:(NSString *)theName;

38、
下列代码正确的输出结果是:NSString * urlStr = @" www.lanou3g.com ";NSRange range = NSMakeRange(4,7);NSString *prefix = [urlStr substringWithRange:range];NSLog(@"%@",prefix);
答案:(B)
 A、lan
 B、lanou3g
 C、www.lan
 D、ou3g

39、
在OC中扩展类的方法的形式不包括:
答案:(B)
 A、继承
 B、多态
 C、类目
 D、延展

40、
关于KVC的描述正确的是:
答案:(B)
 A、KVC是指"Key-Value Observing"
 B、是一种间接访问对象的属性的机制。
 C、只能访问对象的属性。
 D、当对象的属性值改变时,我们能收到一个通知。

41、
以下说法正确的是:
答案:(C)
 A、求数组的内容的个数用length方法
 B、字典是根据其位置来索引数据的
 C、协议中定义的方法默认是必须实现的
 D、定义类目必须要拿到自己类的源代码

42、
简单类型的成员比如:int类型成员在使用@property()时,括号中应使用:
答案:(A)
 A、assign
 B、copy
 C、retain
 D、auto

43、
下列代码:@property(nonatomic,assign)id<Painting>myObject;
答案:(C)
 A、是说myObject是Painting分类的一部分
 B、是说myObject遵从于Painting分类
 C、是说myObject遵从于Painting协议
 D、不是合法的Objective-C语法格式

44、
内存管理的关键字描述错误的是:
答案:(C)
 A、retaincount是指对象的引用计数。
 B、retain关键字可以增大对象的引用计数。
 C、release可以减小对象的引用计数,但autorelease不可以
 D、dealloc方法不能直接调用

45、
下面程序段的输出结果是什么:NSMutableArray * arr1 = [[NSMutableArray alloc] initWithObjects:@"1",@"2",@"3", nil];[arr1 addObject:@"0"];[arr1 replaceObjectAtIndex:2 withObject:@"3"];NSLog(@"%@",arr1);
答案:(B)
 A、0,1,2,3
 B、1,2,3,0
 C、1,3,3,0
 D、0,3,2,3

46、
下列有效的键路径是:
答案:(B)
 A、[foo valueForKeyPath:@”1SomeMember”]
 B、[foo valueForKeyPath:@”someMember.someAttribute”]
 C、[foo valueForKeyPath:@”SOMEMEMBER@someAttibute”]
 D、[foo valueForKeyPath:@”some Member”]

47、
有一个类Student,要求实现:定义一个实例初始化方法,初始化方法需要传入名字和性别:
答案:(B)
 A、-(id)initWithName:(NSString *)name sex:(NSString *)sex{  if (self){     self.name = name;    self.sex = sex;  }  return self;}
 B、-(id)initWithName:(NSString *)name sex:(NSString *)sex{  if (self = [super init]) {     self.name = name;    self.sex = sex;  }  return self;}
 C、-(id)initWithName:(NSString *)name sex:(NSString *)sex{  if (!self) {     self.name = name;    self.sex = sex;  }  return self;}
 D、-(id)initWithName:(NSString *)name sex:(NSString *)sex{  if (self = [super init]) {     self.name = name;    self.sex = sex;  }}

48、
下面哪个选项对集合的描述是正确的:
答案:(D)
 A、集合内不能存不同类型的对象
 B、集合内可以存整型的数
 C、字典内键值可以相同,但是每个键值对应的对象必须不同
 D、集合内只能存对象

49、
NSString 和 NSMutableString的关系和区别描述不正确的是:
答案:(D)
 A、NSString是不可变字符串,即本身内容不能被改变。
 B、NSMutableString是可变字符串,即本身内容可修改。
 C、NSMutableString是NSString的子类。
 D、NSString和NSMutableString没有任何关系。

50、
下面哪个选项无内存问题的:
答案:(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];}

51、
关于NSSet描述正确的有:
答案:(B)
 A、NSSet可以存放任何数据类型的数据。
 B、NSSet存放数据是无序的。
 C、NSSet可以通过下标获取数据。
 D、NSSet存放的数据是有序的。

52、
下列哪个选项不能作为property的可选属性:
答案:(A)
 A、alloc
 B、retain
 C、atomic
 D、strong

53、
NSRange是什么数据类型:
答案:(C)
 A、数组
 B、字典
 C、结构体
 D、指针

54、
下面描述正确的选项是:
答案:(B)
 A、当计数器为1时,dealloc方法由系统自动调用
 B、一个对象在引用计数变为0时,会调用自己的dealloc方法
 C、在dealloc方法里,应该在[super dealloc]后释放本类所拥有的对象
 D、开启ARC后,可以重载dealloc,必须在dealloc里写 [super dealloc]方法

55、
实例变量默认的访问修饰符是:
答案:(C)
 A、@public
 B、@private
 C、@protected
 D、@package

56、
下面程序段的输出结果是什么:NSArray * arr1 = [[NSArray alloc] initWithObjects:@"1",@"2",@"3", nil];NSString *str;str = [arr1 objectAtIndex:2];NSLog(@"%@",str);
答案:(C)
 A、1
 B、2
 C、3
 D、程序崩溃

57、
@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)
  A、per.name = -1;
  B、per.name = 0;
  C、per.name = 1;
  D、per.name = 2;

58、
下面程序段的输出结果是什么:NSMutableDictionary * dic = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"1",@"2",@"2",@"3",@"3",@"4", nil];[dic removeObjectForKey:@"3"];NSLog(@"%@",dic);
答案:(C)
 A、1=2 3=4
 B、1=2 2=3
 C、2=1 4=3
 D、2=1 3=2

59、
关于协议描述不正确的是:
答案:(D)
 A、协议分正式和非正式协议。
 B、在要求确认协议的类必须实现协议中的方法时,可以使用@required。
 C、一个协议可以被多个类确认。
 D、协议中声明的方法,默认是@optional的。

60、
下面哪个选项是正确的:
答案:(B)
 A、用继承可以扩展一个类,要调用扩展的方法,既可以用父类,也可以用子类
 B、用类目可以扩展一个类,可以直接用该类或该类的实例对象,去调用该类目扩展的方法
 C、延展就是类目
 D、可以在一个类的外部,调用这个类延展的方法

61、
以下对类的描述不正确的是:
答案:(C)
 A、类的接口部分可以包含实例变量、属性和方法
 B、可以把声明和实现都放到.h文件中
 C、一对文件(Person.h Person.m)只能定义一个类
 D、类比较抽象,对象比较具体

62、
声明一个返回值为NSArray,并且带两个字符串对象的BLOCK类型变量:
答案:(D)
 A、NSArray (*aBlock)(NSString * str,NSString *str2)
 B、NSArray ^(*aBlock)(NSString * str,NSString *str2)
 C、NSArray (^aBlock)(NSString * str,NSString *str2)
 D、NSArray *(^aBlock)(NSString * str,NSString *str2)

63、
Objective-C 语言中类的实例变量如果只可以被本类和其子类访问,需要下列哪个修饰符:
答案:(C)
 A、@public
 B、@private
 C、@protected
 D、@friendly

64、
关于类目、延展的描述错误的是:
答案:(B)
 A、延展主要为类提供“私有”方法
 B、类目、延展不但能为类添加方法,而且都可以添加新的实例变量
 C、无论能否拿到类的源码,类目都可以对其扩展
 D、类目和延展声明语法不同

65、
现要求声明一个集合,并将字符串添加到集合中,编写了如下代码,其中错误的是第几行: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)

66、
查看下列代码,能正确输出number的选项是:  @interface MyClass : NSObject{  int number;}+(void) printNumber;@end@implementation MyClass+(void) printNumber{  number =10;  NSLog(@""%d"",number);}@end
答案:(D)
 A、[MyClass printNumber];
 B、MyClass * obj = [[MyClass alloc] init]; [obj printNumber];
 C、printNumber();
 D、编译错误,无法执行。

67、
读代码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)
 A、iLanou
 B、iL123
 C、iLaios
 D、iLa123

68、
对于下面代码说法正确的是:@property (copy,nonatomic,readonly)NSString * calValue;
答案:(D)
 A、没有getter方法,当对calvalue赋值时,将产生一个NSString副本。
 B、此属性可保证多线程安全。
 C、此属性在合成时可以生成设置器方法。
 D、此属性只能读取,不能赋值。

69、
NSMutableDictionary * 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)
 A、123
 B、234
 C、2
 D、3

70、
下面程序段的输出结果是什么:NSString * aString = [[NSString alloc] initWithFormat:@"123"]; NSLog(@"%d",aString.retainCount);aString = @"456";NSLog(@"%d",aString.retainCount);[aString release];aString = @"789";NSLog(@"%d",aString.retainCount);
答案:(D)
 A、1,2,1
 B、1,1,0
 C、1,-1,0
 D、1,-1,-1

71、
下面程序段的输出结果是什么: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)
 A、2=1 3=3 4=3
 B、1=2 3=3 3=4
 C、1=2 3=3 3=3
 D、程序崩溃

72、
写出下面程序段的输出结果:NSString * aString = [[NSString alloc] initWithString:@"123"]; [aString autorelease];NSMutableArray * arr = [NSMutableArray array];[arr addObject:aString];NSLog(@"string = %lu",[aString retainCount]);
答案:(C)
 A、1
 B、0
 C、整型最大值
 D、2

73、
NSMutableDictionary字典中删除对象可以使用下面那个方法:
答案:(D)
 A、filteredArrayUsingPredicate:
 B、arrayByAddingObject:
 C、initWithCapacity:
 D、setValue:forKey:

74、
有如下一个类定义@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;}

75、
下列哪个操作不会引起引用计数(retaincount)的变化是:
答案:(B)
 A、NSString *str1 = [[NSString stringWithFormat:@"hehe"];
 B、int a=1;
 C、NSMutableData *data1 = [NSMutableData allocWithZone:data2];
 D、NSArray *arr1 = [[NSArray alloc]initWithArray:arr2];

76、
下面程序段的输出结果是什么:NSString * aString = [[NSString alloc] initWithString:@"hehe"]; [aString autorelease];NSMutableArray *arr = [NSMutableArray array];[arr addObject:aString];NSLog(@"string = %d",[aString retainCount]);
答案:(A)
 A、string = -1
 B、string = 0
 C、string = 1
 D、string = 2

77、
下面程序段的输出结果是什么: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)
 A、1=2 1=3 1=4
 B、2=1 3=1 4=1
 C、1=4
 D、4=1

78、
下面程序段的输出结果是什么:int a = 10;NSNumber *b = [[NSNumber alloc] initWithInt:a];NSLog(@"%d", a+++b);
答案:(D)
 A、21
 B、20
 C、30
 D、编译错误

79、
下面程序段的输出结果是什么:NSMutableDictionary * dic = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"1",@"2",@"2",@"3",@"3",@"4", nil];[dic setObject:@"1" forKey:@"3"];[dic removeObjectForKey:@"1"];NSLog(@"%@",dic);
答案:(C)
 A、1=3 2=3 3=4
 B、1=2 1=3 3=4
 C、2=1 3=1 4=3
 D、3=1 3=2 4=3

80、
下列选项中不能正常为emp的name属性赋值的代码有:
答案:(B)
 A、emp.name=@"李嘉诚";
 B、emp->name=@"李开复";
 C、[emp setValue:@"柳传志" forKey:@"name"];
 D、[emp setName:@"黄光裕"];

二、判断题(共10题,每题1分)

1、
一个文件中可以声明多个类。
答案:(T)
 正确
 错误

2、
实例对象都是通过调用类方法生成的。
答案:(T)
 正确
 错误

3、
方法需要传递多个参数时,参数以逗号分隔。
答案:(F)
 正确
 错误

4、
不是每个对象都有引用计数。
答案:(F)
 正确
 错误

5、
Objective-C 可以多重继承。
答案:(F)
 正确
 错误

6、
为了保证程序不产生额外的内存开销,当对象不再被需要以后,应当被立即销毁。
答案:(T)
 正确
 错误

7、
retain的作用是引用计数减一。
答案:(F)
 正确
 错误

8、
注释可以出现在程序的任何位置。
答案:(T)
 正确
 错误

9、
在dealloc方法中对变量的释放顺序与初始化的顺序相同。
答案:(F)
 正确
 错误

10、
便利构造器产生的对象应当由使用者进行销毁。
答案:(F)
 正确
 错误

[关闭]

报露出的问题
1. 不熟悉
2. 不在意
3. 




  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值