admin 管理员组

文章数量: 1184232


2024年3月9日发(作者:易语言源码合并)

Objective-C入门(容易)

《objective-c(容易)》试卷

得分

一、单选题(每题2分,共计40分)

1.使用Xcode创建类时,应选择下列选项中的哪一类型来创建类()()

A、objective-C class

B、objective-C category

C、objective-C

D、objective-C protocol

2.下列关于面向对象和面向过程的说法中,错误的是()()

A、面向过程关注的是解决问题需要哪些步骤

B、面向对象关注的是解决问题需要哪些对象

C、两种思想都能达到解决问题的目的

D、两种思想解决问题的思路都一样

3.下列符号中,哪个符号用于包含遵守的协议?()

A、{ }

B、< >

C、[ ]

D、( ) 4.在Mac OS 上进行Objective-C开发的工具通常是()()

A、eclipse

B、SDK

C、Xcode

D、iOS

5.阅读下面的程序:#import int main(int argc, const char *

argv[]) { @autoreleasepool { NSString *path =

@"/Users/apple/Desktop/测试/"; NSData *data =

[@"Welcome to itcast"

dataUsingEncoding:NSUTF8StringEncoding]; BOOL result =

[manager create contents:data attributes:nil];

NSLog(@"result=%d",result); } return 0; } 上述代码执行成功后,下列关于运行结果的描述中,正确的是()()

A、创建了一个文本文件,且该文本中的内容为null。

B、创建了一个word文档,且该文档中的内容为null。

C、创建了一个文本文件,且该文本中的内容为Welcome to

itcast。

D、创建了一个word文档,且该文档中的内容为Welcome to

itcast。

6.关于管理内存的原因,下列描述正确的是()()

A、内存中的对象和变量,系统无法自动回收

B、内存中的变量,系统无法自动回收

C、内存中的对象,系统无法自动回收

D、手机内存垃圾过多,造成系统紊乱

7.下列选项中,OC中用来输出语句的函数是()()

A、printf

B、print

C、NSLog

总分题号一二三四五题分

得分

D、println

8.以下语法格式中#import “类名.h” @interface ______ //方法声明@end 在代码空白处应该填写下列选项中的哪项,才是分类的声明()()

A、分类名称

B、类名:分类名称

C、类名<分类名称>

D、类名(分类名称)

9.请阅读以下代码片段:#import int main(int argc, const char

* argv[]) { @autoreleasepool { NSArray *arr =

@[@"Spring",@"Summer",@"Autumn",@"Winter"];

NSLog(@"%lu",[arr indexOfObject:@"Autumn"]);

NSLog(@"%d",[arr indexOfObject:@"Fall"]) } return 0; } 分析代码可知,程序最终的运行结果为()()

A、1,0

B、1,-1

C、2,-1

D、2,0

10.下列选项中,可以正确表示分类声明的格式为()()

A、NSString.h

B、NSString+NumberEase.h

C、@interface NSString (NumberEase)

D、@interface NSString ( )

11.N SData是用来存储()进制字节数据的。()

A、二

B、八

C、十

D、十六

12.请阅读以下代码片段:#import int main(int argc, const

char * argv[]) { @autoreleasepool { NSArray *arr =

@[@11,@12,@13,@14,@15]; NSNumber *first = [arr firstObject];

NSNumber *last = [arr lastObject]; int sum = ue +

ue;

NSLog(@"%d",sum); } return 0; } 分析代码可知,程序最终的运行结果为()()

A、23

B、24

C、25

D、26

13.下列选项中,哪个是一系列方法的声明列表()()

A、协议

B、代理

C、分类

D、延展

14.阅读下列的代码int main() { NSArray *arr =

@[@"A",@"B",@"C",@"D",@"E"]; if ([arr containsObject:@"F"])

{ NSLog(@"Contain"); }else{ NSLog(@"Not Contain"); } return 0; }

下列选项中,程序的运行结果正确的是()()

A、Not Contain

B、Contain

C、Null

D、没有输出

15.O C在C语言的基础上扩充了()功能。()

A、指针

B、面向对象

C、面向过程

D、多继承

16.请阅读下面的代码Person *p = [[Person alloc]init]; [p

retain] ; _____________;

[p release]; 下列选项中,空白处填写哪个选项可以防止内存泄露?()()

A、[p retain]

B、[p release]

C、[p retainCount]

D、[p dealloc]

17.阅读下面的代码#import “Car.h” @interface ______

@end 在代码空白处应该填写下列选项中的哪项,才是分类的声明()()

A、Car

B、Car :BMW

C、Car< BMW >

D、Car(BMW)

18.下列选项中,哪个是构造方法()()

A、new

B、alloc

C、init

D、copy 19.以下有关构造方法的说法,错误的是()()

A、构造方法是特殊的类方法

B、它是用来初始化对象的

C、初始化后内部成员变量默认为0或nil

D、一定要先调用父类的构造方法

20.下列关于Objective-C的说法中,错误的是( )()

A、Objective-C是对C语言进行扩展后得到的语言

B、消息机制是Objective-C最为显著的特点之一

C、Objective-C发展到现在已经过时了

D、Objective-C语言是一门面向对象的语言

得分

二、多选题(每题0分,共计0分)

得分

三、判断题(对的打“√”,错的打“×”;每题2分,共20分)

21.一个应用程序可以包含多个对象。()

22.通过在线参考库可以快速访问Foundation文档。()

23.可以使用可变字典类读取plist文件,将plist文件中的数据保存到字典中。()

24.如果分类中添加的方法名与原始类中的方法名重复,则分类的方法将会覆盖原始类的方法。()25.分类既可以扩充类的成员变量,又可以扩充类的方法。()

26.R eadwrite和Readonly这两个属性是互斥的。()

27.代码NSMutableString *str = @"Jack";是错误的写法,原因

是将“不可变的对象”

当做“可变对象”来使用。()

28.i OS SDK包含的工具有Xcode工具、Interface Builder、Instruments、iPhone模拟器和iOS帮

助文档。()

29.B utton控件的Backgroud属性,用于设置按钮的背景图片和背景颜色。()

30.可变字典与不可变字典相比,最大的不同就是可变字典可以对其内部的元素进行动态地管理。()

得分

40.请简述什么是分类?

四、填空题(每题2分,共计10分)

31._______用于描述多个对象的共同特征,它是对象的模板。

32.如果某个类遵守的协议有多个,则使用_______符号进行分隔。

33.苹果官方对于ARC机制的引用规则是,只要没有_______指针指向的对象,对象就会被自动销毁。

34.用来初始化对象的方法是_______。

35.协议是由关键字_______表示。

得分

五、简答题(每题6分,共计30分)

36.请简述什么是Objective-C语言?

37.请简述开发框架的作用?

38.OC有支持多继承吗?没有的话可以怎样实现?

39.请简述类和对象的关系。

答案

一、单选题(每题2分,共计40分)

1.A

2.D

3.B

4.C

5.D

6.C

7.C

8.D

9.C

10.C

11.A

12.D

13.A

14.A

15.B

16.B

17.D

18.C

19.A

20.C

二、多选题(每题0分,共计0分)

三、判断题(每题2分,共计20分)

21.对

22.对

23.对

24.对

25.错

26.对

27.对

28.对

29.对

30.对四、填空题(每题2分,共计10分)

31.【类】

32.【逗号】

33.【强】

34.【init】

35.【@protocol】

五、简答题(每题6分,共计30分)

36.

Objective-C语言是苹果公司Mac OS X和iOS操作系统的核心,它在C语言的基础上进行扩充,支持面向对象的一门编程语言。

37.

开发框架实际上就是帮助开发人员多快好省地搭建各种应用程序的一系列辅助资源,包括头文件、库文件、各种驱动程序等等。

38.

不支持,可以通过分类和协议的方式实现。

39.

类是对无数对象相同属性和行为的概括,类是用来描述对象的,它是抽象的;

对象:利用类创建对象,对象是类的具体存在。

40.

分类(category)可以为已经存在的类增加方法,而不需要增加一个子类。可以在不知道某个类内部实现的情况下,为该类增加方法。


本文标签: 对象 每题 下列 分类 方法