【OC基础语法考试】

OC基础语法已经全部学完,但是这些知识只是最基础的,还有很多高级知识,这个可能需要后面慢慢的去学习才能体会到。接下来我会总结前面的OC基础语法,如果大家发现有什么不正确的地方,请指正,小弟是新生,多请OC老鸟来喷~~

试题如下:

1.将包含以下三个字符串@“1hello“,@“2word“,@”3good“的数组改写为字典,数字部分作为key,英文部分作为value。(15)

2.建立一个数组对象,使用3个不同的方法,使其引用计数增加为4,输出这个值,然后保证内存能够正确释放。(15)

3.使用类的扩展给NSString类增加一个方法,实现任意浮点数字符串的运算,要求计算结果也是字符串,分别完成加法和除法,如@“1.2” + @“2.3” = @“3.5”; (15)
计算完成后,思考以下如何扩展上述算法,使得这个算法能够计算科学计数法字符串。
@“2.0E3”[email protected]“3.1E2” = @“2.31E3” (5)

4.建立一个游戏角色(Hero),它有最大生命值,生命值,攻击,防御等属性
a.完成Hero的description和dealloc方法。(5)
b.给Hero类增加一个便利构造方法,使获取到的Hero角色所有属性均有默认值。(10)
c.写一个方法,描述Hero攻击一次其他Hero的行为。(10)
d.假设有一个特殊的Hero对象,它的attack为0,但是可以给其他Hero回复生命值至满值,完成这个功能。(10)

附:
数据和数据类型可自行设定,要求使用手动内存管理,并保证无内存问题(10)。
代码规范性(5)。

时间: 2024-10-17 11:58:58

【OC基础语法考试】的相关文章

oc基础语法(一)

//oc的第一个程序1 #impor <Foundation/Foundation.h> 2 int main() 3 { 5 NSLog("@hello,Object - C"); // oc使用了NSLog打印 return 0; 6 } oc语言是一门基于c的语言,在c语言的基础之上添加了一门面向对象的语法,将繁琐的c语言变得更简单.oc语言全面兼容c语言,它在基本数据类型上又添加了六种数据类型,分别是BOOL.Boolean.nil.SEL.class.block.

oc总结 --oc基础语法相关知识

m是OC源文件扩展名,入口点也是main函数,第一个OC程序: #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { theme manager @autoreleasepool { NSLog(@"Hello, World!"); } return 0; } 预处理指令import会自动检验头文件有没有被包含过,防止重复包含,NSLOG是日志输出,OC字符串以@开头,自动换行

第一部分 1.10 OC基础语法-点语法、构造方法、结构体

一.点语法 新建一个person类 #import <Foundation/Foundation.h> @interface Person : NSObject { int _age; } - (void)setAge:(int)age; // 方法名是setAge: - (int)age; // 方法名是age // 方法名是setAge:andNo: // - (void)setAge:(int)newAge andNo:(int)no; @end #import "Person

4.0 OC基础语法-set方法和get方法

set方法和get方法的使用场合@public的成员可以被随意赋值,应该使用set方法和get方法来管理成员的访问(类似机场的安检.水龙头过滤,过滤掉不合理的东西),比如僵尸的生命值不能为负数set方法作用:用来设置成员变量,可以在方法里面过滤掉一些不合理的值命名规范:方法都是以set开头,而且后面跟上成员变量名,成员变量名的首字母必须大写形参名称不要跟成员变量同名get方法作用:返回对象内部的成员变量命名规范:get方法的名称一般就跟成员变量同名成员变量的命名规范成员变量都以下划线 _ 开头可

OC基础语法

头文件 1 @interface Student : NSObject{ 2 int age; 3 int height; 4 }//成员变量的声明区间,成员变量必须在此声明 5 6 - (int)age;//本来是getAge,但是OC的习惯是用变量来命名get方法 7 - (void)setAge:(int)newAge; 8 //多形参的函数写法比较特别 9 - (void)setAge:(int)newAge andHeight:(int)newHeight; 10 @end//类的结束

OC基础语法之方法

看惯了c#的代码再去看Object-C的代码,总感觉有点懵逼,记录下OC的方法用法: 在OC中一个类中的方法有两种类型:实例方法(类似于非静态函数),类方法(类似非静态函数). 实例方法前用(-)号表明,类方法用(+)表明,通过下图可以看到,前面有一个(-)号,说明这是一个实例方法(nil关键字就相当于我们的null). 在OC中,调用一个方法相当于传递一个消息,这里的消息指的是方法名和参数. 所有的消息的分派都是动态的,这个体现了OC的多态性. 消息调用的方式是使用方括号. 如下面的例子中,向

第一部分 1.8 OC基础语法-Block

一.Block基本含义 Block封装了一段代码,可以在任何时候执行 Block可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值. 苹果官方建议尽量多用block.在多线程.异步任务.集合遍历.集合排序.动画转场用的很多 二.Blocks的定义 Blocks的定义: int (^MySum)(int, int) = ^(int a, int b) { return a+b; }; 定义了一个叫MySum的blocks对象,它带有两个int参数,返回int.等式右边就是block

第一部分 1.12 OC基础语法-类的声明和实现,static和变量,typedef

新建一student类 只是用来声明Student这个类有哪些成员变量和方法 #import <Foundation/Foundation.h> // @interface代表声明一个类 // : 代表继承 @interface Student : NSObject { // 成员变量要定义在下面的大括号中{} int age; int no; } // 在这里声明的所有方法都是公共 // age的get方法 // - 代表动态方法 + 代表静态方法 - (int)age; // age的se

IPhone开发值OC基础语法复习

1. 练习1 for循环打印 1-200内不能被3整除的数 #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //for循环打印 1-200内不能被3整除的数 printf("这些数不能被3整除: \n"); for(int i=1; i<=200; i++){ if( i% 3 != 0){ printf(" %d &