黑马入学测试一些比较难的题目

#import<stdio.h>

intadd(int p){

   

   return (p++) + (++p);

   

}

 

inttest(int (*p)(int)){

   return p(1);

   

}

intmain(){

   

   int (*p1)(int);

   p1=add;

   int p2 = test(p1);

   printf("%d",p2);

 

   return 0;

   

}

上面输出结果正确的是? ( )----- 单选

 

A1

B2

C3

D4

 

 

fwrite函数的参数不包括以下哪个? ( ) ----- 单选

A、数据容器

B、单个数据字节数

C、文件指针

D、数据

 

以下哪项不是const类型的特点? ( )----- 单选

A、只读

B、在堆区

C、内存空间固定

 

使用宏定义是如何占用内存的? ( )----- 单选

A、不消耗内存

B、用几次也只占一份

C、用不用都只占一份

D、哪里用哪里占一份

 

 

宏定义的效果是什么时候执行的? ( )----- 单选

A、运行时

B、编译前

C、编译时

D、退出时

 

关于文件操作描述中错误的是? ( )----- 单选

A、文件操作前必须先打开文件,使用完毕必须关闭文件

Bfgets读取到NULL的时候就读取结束了

C、字符缓存就是一块内存趋于,用于存储字符,大小由程序员定义

 

c语言和oc之间的关系是? ( ) ----- 单选

Ac语言包含了OC

Bc语言可以兼容oc

Cocc语言加了一层面向对象

Doc包含c语言

 

 

@try …. @catch …@finally @try主要是负责处理什么业务? ( ) ----- 单选

A、异常

B、多态

C、线程

D、内存泄露

 

下列特性中不属于oc特性的是? ( )----- 单选

A、封装型

B、继承型

C、多态类型

D、消息类型

 

类的设计规则是( ) ----- 单选

A、只有类名

B、只有属性不用方法

C、只有行为不用成员

D、需要关心类名、属性、行为

 

在构造方法内部需要写self = [superinit];为什么要这样写呢?( ) ----- 单选

A、这可以保证子类和父类分别开辟两块空间共享

Bsuper才是一个真正的指针,实质是调用了[super message]

C、之所以需要self指向,为了保证正常使用isa指针调用方法

Dself是一个虚拟地址的指针,并不实际存在。

 

关于对象方法说法错误的是( ) ----- 单选

A、对象方法必须以减号开头

B、对象方法只能由对象调用

C、对象方法可以由类名调用

D、对象方法实现在@interface

 

在对象方法中往往可以传递很多参数,方法程序调用,下列传递错误的是( ) ----- 单选

A、对象可以当做方法参数连续传递

B、方法里面可以调用其他方法

C、对象可以作为方法的返回值

D、方法中传递函数名

 

下列说法错误的是? ( ) ----- 单选

Aretain消息:使计数器+1,该方法返回对象本身

Brelease消息:使计数器-1, 并且会立即释放对象

CretainCount消息:获得对象当前的引用计数器值

D、当引用计数器为0的时候对象就会被销毁

 

当你用stringWithFormat来创建一个新NSString对象的时候,系统默认会?( ) ----- 单选

A、这个新创建的字符串对象已经被retain 

B、这个新创建的字符串对象已经被release 

C、调用新创建的字符串的autorelease 方法

D、以上都不对。

 

 

关于autorelease, 说法正确的是?( ) ----- 单选

A、给某个对象发送一条  autorelease   消息时,就会将这个对象加到一个自动释放池中。

B、当自动释放池销毁时,会给池子里面的所有对象发送一条   release   消息。

Cautorelease实际上只是把对 release 的调用延迟了

D、调用autorelease方法时并不会改变对象的计数器,并且没有返回值。

 

 

如果一个类遵从一项协议,这个类的对象成为了声明该协议的对象的代理,那这个类必须实现  ( ) ----- 单选

A、这个协议里的所有required methods

B、这个协议里的所有required methods optional methods 

C、这个协议里至少一个required method

D、以上都不对

 

在定义协议方法的时候, 如果想让一个类必须实现某个方法, 应该怎么做? ( ) ----- 单选

A@optional

B@class

C@private

D@required

 

关于block 的说法错误的是?( ) ----- 单选

Ablock 表示的是一个代码块

Bblock 的名称写在小括号中的 ^ 后面

Cblock 定义完成后会立即执行

D、如果 block 没有参数, 等号右边的小括号可以省略

 

 

下列block代码块书写错误的是? ( ) ----- 多选

^{

NSLog(@”无参,无返回值block1”);

};

 

^(inta){

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值