(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
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