达内C++培训第二次月考(附答案)(5)

2019-02-16 00:29

(1). 空白1处:

A.

int len = 0;

char buf[1024] = {};

while((len= read(ff,buf,sizeof(buf)))>0){ write(ft,buf,len); }

B.

char buf[1024] = {};

while(read(ff,buf,sizeof(buf))>0){ write(ft,buf,sizeof(buf)); }

C.

int len = 0;

char buf[1024] = {};

while((len= write(ff,buf,sizeof(buf)))>0){ read(ft,buf,len); }

D.

char buf[1024] = {};

while(write(ff,buf,sizeof(buf))>0){ read(ft,buf,len); }

正确答案:A

(2). 空白2处:

A.

backup(pathFrom,pathTo);

B.

if(0==strcmp(\,p->d_name)||0==strcmp(\,p->d_name)){ backup(pathFrom,pathTo); }

C.

if(0==strcmp(\,p->d_name)||0==strcmp(\,p->d_name)){ continue; }else{

backup(pathFrom,pathTo); }

D.

if(\==p->d_name||\==p->d_name){ continue; }else{

backup(pathFrom,pathTo); }

正确答案:C

(3). 空白3处: A.

backup(argv[0],argv[1]);

B.

backup(argv[1],argv[2]);

C.

backup(argv[2],argv[3]);

D. backup(); 正确答案:B

(4). 空白4处:

A.

if(0==strcmp(\

B.

if(0==strcmp(\

C.

if(0==strcmp(\

D.

if(0==strcmp(\正确答案:D

(5). 空白5处: A.

if(NULL==from||'\\0'==from[0]||NULL==to||0==strlen(to)){ return ; }

B.

if((NULL==from||'\\0'==from[0])&&(NULL==to||0==strlen(to))){ return ; }

C.

if('\\0'==from[0]||NULL==from||0==strlen(to)||NULL==to){ return ; }

D.

if((NULL==from||'\\0'==from[0])&&(NULL==to||0==strlen(to))){ return ; }

正确答案:A 38. 阅读如下代码,完成下面 5 题: #include #include char* data[5]; int size=0;

pthread_mutex_t lock

= PTHREAD_MUTEX_INITIALIZER; void* task1(void* p){

pthread_mutex_lock(&lock); data[size] = \杨键\ sleep(1); size++;

pthread_mutex_unlock(&lock); }

void* task2(void* p){

pthread_mutex_lock(&lock); data[size] = \闵卫\ sleep(1); size++;

pthread_mutex_unlock(&lock); }

int main() {

data[size] = \郭镫鸿\ size++;

pthread_t id1, id2;

pthread_create(&id1, 0, task1, 0); pthread_create(&id2, 0, task2, 0); pthread_join(id1, 0); pthread_join(id2, 0);

pthread_mutex_destroy(&lock); int i;

for(i=0; i

printf(\}

(1). 关于这段代码完成的功能最准确的描述是?

A. 多进程中的进程间通信 B. 多线程的交互 C. 多线程中使用信号量

D. 多线程中使用互斥锁保护临界资源

正确答案:D

(2). pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER;如果不对lock进行赋值,那么需要用一个函数进行初始化,该函数是:

A. pthread_mutex_create B. pthread_mutex_init C. pthread_mutex_lock D. pthread_mutex_add

正确答案:B

(3). pthread_mutex_lock(&lock);是对代码进行加锁,如果不加锁会有什么问题:

A. 没有问题

B. size元素个数 会出现问题

C. data数组中的数据会出现问题,有可能丢失数据 D. 数据郭镫鸿会出现问题

正确答案:C

(4). pthread_mutex_unlock(&lock); 是对代码进行解锁,如果不解锁会有什么问题:

A. 没有问题

B. 代码的执行效率会降低,只有一个线程完全结束了另外一个线程才能继续运行

C. 多线程的执行会变成串行,主线程会优先执行完毕 D. 多线程出现死锁现象,有一个线程会无法执行锁定代码 正确答案:D

(5). pthread_join(id1, 0);代码实现的功能是:

A. 让主线程等待线程1的结束后才能继续运行 B. 让所有线程等待线程1的结束后才能运行 C. 让主线程等待线程1零秒后继续运行

D. 让所有线程等待线程1零秒后继续运行 正确答案:A


达内C++培训第二次月考(附答案)(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2015年中国水磨石板材市场运行态势报告 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: