书签 分享 收藏 举报 版权申诉 / 25
上传文档赚钱

类型达内C++培训第二次月考(附答案).doc

  • 上传人(卖家):无敌的果实
  • 文档编号:305598
  • 上传时间:2020-02-26
  • 格式:DOC
  • 页数:25
  • 大小:721KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《达内C++培训第二次月考(附答案).doc》由用户(无敌的果实)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    C+ 培训 第二次 月考 答案
    资源描述:

    1、考试场次:2013_09月考_9月2日_C+ 试卷名称:2013年09月_C+_CSD/ESD1306(new) 1. 统计每个部门的人数并要求显示部门名称的SQL语句是? A. Select dept_id,count(dept_id),d.name from s_emp,s_dept d where dept_id=d.id group by dept_idB. Select dept_id,count(dept_id),sum(d.name) from s_emp,s_dept d where dept_id=d.id group by dept_idC. Select dept_id,

    2、count(dept_id),max(d.name) from s_emp,s_dept d where dept_id=d.id group by dept_idD. Select dept_id,count(dept_id),count(d.name) from s_emp,s_dept d where dept_id=d.id group by dept_id正确答案:C 2. 打开共享库文件函数的是? A. dlerrorB. dlsymC. dlopenD. dlclose正确答案:C 3. 下面分组语句正确的是? A. Select name,dept_id from s_dept

    3、 d,s_emp e where dept_id=id group by dept_id;B. Select e.name,dept_id from s_dept d,s_emp e where dept_id=d.id group by dept_id;C. Select e.name,dept_id from s_dept d,s_emp e where dept_id=d.id group by dept_id;D. Select max(name),dept_id from s_dept d,s_emp e where dept_id=d.id group by dept_id;正确答

    4、案:D 4. 在建表时,经常需要用到约束,请问下面哪个不是常见约束? A. 主键B. 非空C. 回滚D. 外键正确答案:C 5. 阅读如下代码:int fd = open(a.txt, O_WRONLY|O_CREAT|O_TRUNC, 0666);int flags = fcntl(fd, F_GETFL);printf(flags=%dn, flags);switch(空白处)case O_RDONLY: printf(RDONLYn);break;case O_WRONLY: printf(WRONLYn);break;case O_RDWR: printf(RDWRn);break;空

    5、白处的条件应该是? A. flags & 5B. flagsC. flags & 3D. flags & 4正确答案:C 6. 关于排序,下列说法错误的是? A. 排序的关键字是order byB. 升序是默认排序顺序C. 降序的关键字是descD. 不能使用多字段排序正确答案:D 7. 下列建表的SQL语句错误的是? A. Create table test123(Id number, Dname varchar2(30)B. Create table test123( Id number, Dname varchar2(30), MyDate date)C. Create table te

    6、st123( Id number, Dname char(30)D. Create table test123( Id number,name varchar2(30),)正确答案:B 8. 如果想在代码中禁止使用goto,可以采用的是? A. #pragma GCC dependency gotoB. #pragma GCC poison gotoC. #pragma pack(2)D. #pragma GCC goto正确答案:B 9. 显示所有的工资级别和级别对应的salary和first_name的SQL语句是? A. Select grade,first_name,salary fr

    7、om s_emp,salgrade where salary(+) between losal and hisalB. Select grade,first_name,salary from s_emp,salgrade where salary between losal and hisal(+)C. Select grade,first_name,salary from s_emp,salgrade where salary between(+) losal and hisalD. Select grade,first_name,salary from s_emp,salgrade whe

    8、re salary(+) between losal and hisal(+)正确答案:A 10. 下列内存区域中,一般不用来存放变量的是: A. 栈区 B. 代码区 C. BSS段 D. 堆区 正确答案:B 11. 关于动态库和静态库,下列说法错误的是? A. 打包静态库用的是ar命令。B. 打包共享库用的是gcc -shareC. 静态库和共享库都必须配置环境变量才能使用D. .a文件是静态库, 而.so文件是共享库正确答案:C 12. 把工资大于1000的first_name,salary 显示出来,按工资排序,工资相同按first_name降序的SQL语句是? A. select fi

    9、rst_name,salary from s_emp order by salary,first_name B. select first_name,salary from s_emp order by salary,first_name asc C. select first_name,salary from s_emp order by salary desc,first_name D. select first_name,salary from s_emp order by salary,first_name desc正确答案:D 13. Plsql中定义变量,哪个是正确的? A. Va

    10、r_i int ;B. Number Var_i;C. Var_i number;D. var_i number not null;正确答案:C 14. 阅读如下代码:int sockfd = socket(PF_INET, SOCK_DGRAM, 0);if(sockfd=-1)perror(socket创建失败),exit(-1);/2.准备地址(空白处)/3.绑定int res = bind(sockfd, (struct sockaddr*)&addr, sizeof(addr);if(res = -1)perror(绑定失败),exit(-1);printf(绑写成功n);/4.通信

    11、char buf100 = ;int len = read(sockfd, buf, sizeof(buf);if(len1000 B. select name,salary from s_emp where salary1000 C. select name,salary from s_emp where salary1000 D. select last_name,salary from s_emp where salary losal and hisal正确答案:B 27. 把s_emp中的月薪在900和1500之间的人列出来的SQL语句是? A. select first_name,s

    12、alary from s_emp where 1500salary900 B. select first_name,salary from s_emp where salary in (900,1500) C. select first_name,salary from s_emp where salary between 900 and 1500 D. select first_name,salary from emp where salary between 900 and 1500正确答案:C 28. int fd open(a.txt, O_RDWR|O_CREAT|O_TRUNC,

    13、0666); 请问是采用何种方式打开的a.txt? A. 创建新文件,并且权限是666B. 采用可读可写方式,如文件存在截断后打开,不存在新建权限为666的新文件C. 可写方式,文件权限改为666D. 只读方式,如文件存在截断后打开,不存在新建权限为666的新文件正确答案:B 29. 阅读如下代码:key_t key = ftok(., 200);if(key=-1)perror(key生成失败),exit(-1);int shmid = (空白处);if(shmid=-1)perror(创建共享存储段失败),exit(-1);printf(创建共享存储段成功n); void* p = shm

    14、at(shmid, 0, 0);if(p=(void*)-1)perror(挂接内存段失败),exit(-1);printf(已挂接到共享存储段n); int* pi = p;*pi = 12345678;if(shmdt(p)=-1)perror(脱接失败),exit(-1);空白出应该填上的代码是? A. shmget(key, 4, 0666|IPC_CREAT|IPC_EXCL)B. shmget(key, 3, 0666|IPC_CREAT|IPC_EXCL)C. shmctl(shmid, IPC_SET, 4)D. shmctl(shmid, IPC_SET,0666|IPC_C

    15、REAT|IPC_EXCL)正确答案:A 30. 查找和Smith一个title的所有员工的名字的SQL语句是? A. SELECT last_name from s_emp where title=(select title from s_emp where last_name=Smith)B. SELECT last_name from s_emp where title=(select title from s_emp where last_name=”Smith”)C. SELECT last_name from s_emp where title=(select last_name,

    16、title from s_emp where last_name=Smith)D. SELECT last_name from s_emp where title=(select title from s_emp last_name=Smith)正确答案:A 31. 阅读如下代码:void* task(void* p)int* pi = (int*)p;printf(*pi=%dn, *pi);*pi = 200; int main()pthread_t id1;int x = 100;if(pthread_create(&id1, 0, task, &x)printf(create thre

    17、ad error.n);return -1;printf(x=%dn, x);return 0;打印出数字为? A. *pi=100 x=100B. *pi=200 x=100C. *pi=200 x=200D. *pi=100 x=200正确答案:D 32. 下列关于进程描述符说法错误的是? A. getpid 获取进程ID。B. getppid 获取父进程ID。C. getuid 获取有效用户ID。D. getgid 获取实际组ID。正确答案:C 33. 阅读如下代码:pid_t pid = fork();if(pid=0)/子进程printf(子进程开始运行,即将进入睡眠n);sleep

    18、(3); printf(子进程运行结束n); exit(100);/不能超过255/父进程printf(父进程运行,子进程的PID=%dn, pid);printf(父进程等待子进程结束.n);int result;pid_t res = wait(&result);printf(等到结束的子进程是%dn, res);printf(result=%dn, result);if(空白处1)printf(子进程是正常结束的n); /取返回值 printf(子进程返回值:%dn, (空白处2);空白处1和空白处2分别应该填入的代码是? A. WIFEXIT(result)和WEXITSTATUS(r

    19、esult)B. WEXITSTATUS(result)和WIFEXIT(result)C. WEXITSTATUS(result)和WIFEXITED(result)D. WIFEXITED(result)和WEXITSTATUS(result)正确答案:D 34. 下列哪段代码能正确的打开文件,要求如果文件存在就打开,并清除文件原有内容,不存在就创建,同时具备读写权限? A. int fd = open(a.txt, O_RDONLY|O_CREAT|O_TRUNC, 0666); if(fd=-1) perror(创建文件失败); exit(-1); B. int fd = open(a

    20、.txt, O_RDWR|O_CREAT|O_EXCL, 0666); if(fd=-1) perror(创建文件失败); exit(-1); C. int fd = open(a.txt, O_RDWR |O_TRUNC, 0666); if(fd=-1) perror(创建文件失败); exit(-1); D. int fd = open(a.txt, O_RDWR|O_CREAT|O_TRUNC, 0666); if(fd=-1) perror(创建文件失败); exit(-1); 正确答案:D 35. 阅读如下代码:int fd2 = ;pipe(fd);int pid = fork(

    21、);if(pid=0)/子进程(空白处1)while(1)int x;if(read(fd0, &x, sizeof(x)=0)break;printf(%d , x);fflush(0);close(fd0);exit(0);(空白处2)int i;for(i=0; i100; i+)write(fd1, &i, sizeof(int);usleep(200000);close(fd1);空白处1和空白处2应该填上的代码是? A. 什么都不需要填B. close(fd1);和close(fd0);C. close(fd0);和close(fd1);D. close(fd1);和close(f

    22、d1);正确答案:B 36. 阅读如下代码,完成下面 5 题:#include stdafx.h#include windows.h#include stdio.hvoid VirtualInfo( ) CHAR* pszBuffer = (CHAR *)VirtualAlloc( NULL, 1024*1024*1024, MEM_RESERVE, PAGE_READWRITE ); VirtualFree( pszBuffer, 0, MEM_DECOMMIT );void Virtual_Commit( ) CHAR *pszBuff = (CHAR *)VirtualAlloc( NU

    23、LL, 4096, MEM_COMMIT, PAGE_READWRITE ); strcpy( pszBuff, Hello VirtualCommit ); printf( %sn, pszBuff ); VirtualFree( pszBuff, 0, MEM_RELEASE );void Virtual_Reserve( ) CHAR *pszBuff = (CHAR *)VirtualAlloc( NULL, 4096, MEM_RESERVE, PAGE_READWRITE ); VirtualAlloc( pszBuff, 1024, MEM_COMMIT, PAGE_READWR

    24、ITE ); strcpy( pszBuff, Hello VirtualRelease ); printf( %sn, pszBuff ); VirtualFree( pszBuff, 0, MEM_RELEASE );int main(int argc, char* argv) VirtualInfo( ); Virtual_Commit( ); Virtual_Reserve( ); return 0;(1). 关于这段代码完成的功能最准确的描述是? A. 这段代码是关于虚拟内存管理的B. 这段代码是关于堆内存管理的C. 这段代码是关于栈内存管理的D. 这段代码是关于内存映射文件的正确答

    25、案:A (2). CHAR* pszBuffer = (CHAR *)VirtualAlloc( NULL, 1024*1024*1024,MEM_RESERVE, PAGE_READWRITE ) 赋值函数如果改为VirtualAlloc( NULL, 1024*1024*1024,MEM_COMMIT, PAGE_READWRITE ),有何区别:A. 没有区别B. MEM_RESERVE只要地址,不要物理内存,而MEM_COMMIT是都占用 C. MEM_RESERVE是释放内存,而MEM_COMMIT是申请内存D. MEM_RESERVE只要物理内存,不占用地址,而MEM_COMMIT

    26、是都占用正确答案:B (3). VirtualFree( pszBuffer, 0, MEM_DECOMMIT ) 函数如果改为VirtualFree( pszBuffer, 0, MEM_RELEASE ),有何区别: A. 没有区别B. MEM_DECOMMIT是再次内存申请,MEM_RELEASE释放内存C. MEM_DECOMMIT只释放内存,不释放地址,MEM_RELEASE地址和内存都释放D. MEM_DECOMMIT只释放地址,不释放内存,MEM_RELEASE地址和内存都释放正确答案:C (4). 函数Virtual_Commit对于内存的使用方式是: A. 内存地址和物理内存

    27、一起申请,并同时释放B. 内存地址和物理内存一起申请,但分别释放C. 内存地址和物理内存分别申请,但同时释放D. 内存地址和物理内存分别申请,分别释放正确答案:A (5). 函数Virtual_ Reserve对于内存的使用方式是: A. 内存地址和物理内存一起申请,并同时释放B. 内存地址和物理内存一起申请,但分别释放C. 内存地址和物理内存分别申请,但同时释放D. 内存地址和物理内存分别申请,分别释放正确答案:C 37. #include #include #include #include #include#include#include #include void copyFile(c

    28、onst char*from,const char*to) /判断一下传进来的参数是不是空 (空白5); int ff = open(from,O_RDONLY); if(-1=ff)perror(打开原文件失败n);return ; int ft = open(to,O_RDWR|O_CREAT,0666); if(-1=ft)perror(打开目标文件失败n);return ; (空白1); close(ff); close(ft);void backup(const char*from,const char*to) /判断一下传进来的参数是不是空 (空白5); /打开要被复制的文件夹 D

    29、IR *q = opendir(from); if(NULL=q) perror(打开文件夹失败n); return ; /创建一个文件夹 mkdir(to,0777); struct dirent *p = NULL; struct stat s; char pathFrom256 = ; char pathTo256 = ; strcat(strcpy(pathFrom,from),/); strcat(strcpy(pathTo,to),/); char *pf = pathFrom + strlen(pathFrom); char *pt = pathTo + strlen(pathT

    30、o); while(NULL!=(p = readdir(q) strcpy(pf,p-d_name); strcpy(pt,p-d_name); lstat(pathFrom,&s); if(S_ISREG(s.st_mode) /判断一下是不是.c/.h文件 char* pff = pf+strlen(pf)-2;(空白4); copyFile(pathFrom,pathTo); else continue ; else if(S_ISDIR(s.st_mode) (空白2); closedir(q);int main(int argc,char *argv)(空白3); return 0

    31、;(1). 空白1处: A. int len = 0;char buf1024 = ;while(len= read(ff,buf,sizeof(buf)0) write(ft,buf,len);B. char buf1024 = ;while(read(ff,buf,sizeof(buf)0) write(ft,buf,sizeof(buf);C. int len = 0;char buf1024 = ;while(len= write(ff,buf,sizeof(buf)0) read(ft,buf,len);D. char buf1024 = ;while(write(ff,buf,si

    32、zeof(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;elsebackup(pathFrom,pathTo);D. if(.=p-d_name|.=p-d_name) continue;elsebackup(pathFrom,pathTo);正确

    33、答案:C (3). 空白3处: A. backup(argv0,argv1); B. backup(argv1,argv2); C. backup(argv2,argv3); D. backup(); 正确答案:B (4). 空白4处: A. if(0=strcmp(.c,pff) B. if(0=strcmp(.h,pff) C. if(0=strcmp(.c,pff)&0=strcmp(.h,pff) D. if(0=strcmp(.c,pff)|0=strcmp(.h,pff) 正确答案:D (5). 空白5处: A. if(NULL=from|0=from0|NULL=to|0=strlen(to) return ;B. if(NULL=from|0=from

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:达内C++培训第二次月考(附答案).doc
    链接地址:https://www.163wenku.com/p-305598.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库