您好,欢迎访问三七文档
你当前的位置:成绩查询-试卷查看TCSD标准考试2013年03月_C++_CSD/ESD1212试题一、单选(40小题共80.0分)1.阅读如下代码:pid_tpid=fork();if(pid==-1)perror(创建失败),exit(-1);if(pid==0){printf(pid1=%d,pid2=%d\n,getpid(),getppid());}else{printf(pid3=%d,pid4=%d\n,getpid(),pid);}printf(%d进程结束运行\n,getpid());return0;下列说法正确的是:A.pid的值是父进程的idB.pid==0代表父进程的分支C.打印进程结束运行的那行代码会被执行2次,父进程和子进程都会执行。D.getpid函数可以取父进程的id正确答案:C2.以下哪一个不是设置信号暂停函数?A.alarmB.pauseC.waitD.stop正确答案:D3.下列关于进程间通信不正确的是?A.共享内存是进程间通信最快的方式。B.在使用msgsnd发送消息时,如果消息队列满,则发送阻塞。C.无名管道的适用范围是父子进程。D.若此信号量的值为正,则进程可以使用资源。进程将信号量加1表示使用了资源。正确答案:D4.阅读如下代码:DIR*dir=opendir(/root);if(dir==NULL)perror(打开目录失败),exit(-1);structdirent*ent=readdir(dir);while(ent){printf(%d,%s\n,ent-d_type,ent-d_name);ent=readdir(dir);}该代码实现的功能是?A.读取根目录的内容B.读取/root目录下所有内容C.读取根目录的所有子目录,不包含文件D.读取/root目录的所有子目录,不包含文件正确答案:B5.阅读如下代码:voidfa(intsigno){printf(你发信号%d,想杀我?没可能\n,signo);(空白处)//恢复指定信号的默认行为}intmain(){signal(SIGINT,fa);//注册一个信号处理函数if(signal(SIGQUIT,fa)==SIG_ERR){perror(注册信号出错);return-1;}while(1);}空白处应该填上的代码是?A.signal(2,SIG_IGN);B.signal(2,SIG_DFL);C.signal(3,SIG_IGN);D.signal(3,SIG_DFL);正确答案:B6.chararr[20]=1234zhangfei;现在需要定义一个函数,把数字1234和zhangfei分隔出来,此函数代码为:A.intsplit(char*s1,char**s2){intres=0;for(;;){if((*s1='0')&&(*s1='9')){intj=*s1-'0';res=res*10+j;s1++;}else{break;}}*s2=s1;returnres;}B.intsplit(char*s1,char*s2){intres=0;for(;;){if((*s1='0')&&(*s1='9')){intj=*s1-'0';res=res*10+j;s1++;}else{break;}}s2=s1;returnres;}C.intsplit(char*s1){intres=0;for(;;){if((*s1='0')&&(*s1='9')){intj=*s1-'0';res=res*10+j;s1++;}else{break;}}returnres;}D.以上代码都不对正确答案:A7.typedefstructPart{shorts;intid;charname;}Part;intmain(){printf(“%d\n”,sizeof(Part));}在考虑结构的对齐和补齐的前提下,打印的结果应该是:A.7B.8C.10D.12正确答案:D8.下列哪段代码能正确的打开文件,要求如果文件存在就打开,并清除文件原有内容,不存在就创建,同时具备读写权限?A.intfd=open(a.txt,O_RDONLY|O_CREAT|O_TRUNC,0666);if(fd==-1){perror(创建文件失败);exit(-1);}B.intfd=open(a.txt,O_RDWR|O_CREAT|O_EXCL,0666);if(fd==-1){perror(创建文件失败);exit(-1);}C.intfd=open(a.txt,O_RDWR|O_TRUNC,0666);if(fd==-1){perror(创建文件失败);exit(-1);}D.intfd=open(a.txt,O_RDWR|O_CREAT|O_TRUNC,0666);if(fd==-1){perror(创建文件失败);exit(-1);}正确答案:D9.阅读如下代码:structsembufop;op.sem_num=0;//对下标为0的信号量操作(空白处1)op.sem_flg=0;//无法完成时阻塞,可以是IPC_NOWAITsemop(semid,&op,1);printf(访问共享资源\n);sleep(30);printf(完成共享资源的访问\n);(空白处2)semop(semid,&op,1);空白处1和空白处2应该填上的代码是?A.不需要填写代码B.op.sem_op=1;和op.sem_op=1;C.op.sem_op=1;和op.sem_op=-1;D.op.sem_op=-1;和op.sem_op=1;正确答案:D10.阅读如下代码:void*task(void*p){int*pi=(int*)p;printf(*pi=%d\n,*pi);*pi=200;}intmain(){pthread_tid1;intx=100;if(pthread_create(&id1,0,task,&x)){printf(createthreaderror...\n);return-1;}printf(x=%d\n,x);return0;}打印出数字为?A.*pi=100x=100B.*pi=200x=100C.*pi=200x=200D.*pi=100x=200正确答案:D11.阅读如下代码:inti1=20;staticinti2=40;voidfa(){staticinti3=80;constinti4=90;}哪个变量不在全局区?A.i1B.i2C.i3D.i4正确答案:D12.统计一下那些部门的人数超过一个人的SQL语句是?A.selectdept_id,count(dept_id)froms_empgroupbydept_idwherecount(dept_id)1B.selectdept_id,count(dept_id)froms_empgroupbydept_idwheredept_id1C.selectdept_id,count(dept_id)froms_empgroupbydept_idhavingdept_id1D.selectdept_id,count(dept_id)froms_empgroupbydept_idhavingcount(dept_id)1正确答案:D13.定义联合代码如下:union{doubled;inti;}u;printf(u=%d\n,sizeof(u));那么,输出应该为:A.u=4B.u=8C.u=12D.u=16正确答案:B14.下列不是内存区域的是?A.代码区B.堆区C.连接区D.BSS段正确答案:C15.下面说法错误的是:A.Qt中一个信号可以连接多个槽函数。B.Qt中一个槽可以连接多个信号。C.Qt中信号和槽中带参数时在connect函数中要写出参数和类型和参数名字。D.我们可以自己定义信号和槽函数。正确答案:C16.int*i1=malloc(20);char*s1=malloc(20);printf(%d,%d\n,sizeof(*s1),sizeof(*i1));请问打印结果应该是:A.20,20B.1,1C.1,4D.4,4正确答案:C17.在C语言的主函数中调用函数f1,当f1函数执行完毕后,哪个变量的内存被回收了:inti=1;voidf1(inta){intb;staticintc=5;}intmain(){intd=1;f1(d);getchar();}A.变量aB.变量a和bC.变量a、b和cD.变量a、b、c和d正确答案:B18.查询所有人的名字只显示前三个字符不足的显示已经有的并且全部转为小写的SQL语句是?A.selectlower(substr(first_name,0,3))froms_empB.selectupper(substr(first_name,0,3))froms_empC.selectlower(substr(first_name,1,3))froms_empD.selectupper(substr(first_name,1,3))froms_emp正确答案:C19.统计每个部门的人数并要求显示部门名称的SQL语句是?A.Selectdept_id,count(dept_id),d.namefroms_emp,s_deptdwheredept_id=d.idgroupbydept_idB.Selectdept_id,count(dept_id),sum(d.name)froms_emp,s_deptdwheredept_id=d.idgroupbydept_idC.Selectdept_id,count(dept_id),max(d.name)froms_emp,s_deptdwheredept_id=d.idgroupbydept_idD.Selectdept_id,count(dept_id),count(d.name)froms_emp,s_deptdwheredept_id=d.idgroupbydept_id正确答案:C20.阅读如下代码:intfd=open(a.txt,O_WRONLY|O_CREAT|O_TRUNC,0666);intflags=fcntl(fd,F_GETFL);printf(flags=%d\n,flags);switch((空白处)){caseO_RDONLY:printf(RDONLY\n);break;caseO_WRONLY:printf(WRONLY\n);break;caseO_RDWR:printf(RDWR\n);break;}空白处的条件应该是?flags&5A.B.flagsC.flags&3D.flags&4正确答案:C21.下列关于进程的说法错误的是?A.一个运行的程序可能有多个进程。B.进程一般分为交互进程、批处理进程、精灵进程和守护进程。C.系统利用进程控制块(PCB)来管理进程。D.PCB和进程是一一对应的。正确答案:B22.下面qt中使用c++方式变成代码说法错误的是?A.我们的类的实例要做成可视化的界面则这个类要公共继承自QWidget或者QWidget的子类。B.头文件和实现文件要分离。C.一般界面中的组件都封装成自定义类的属性。D.自定义的信号和槽要起作用直接在类中定义和实现这些函数即可不需要加任何修饰。正确答案:D23.在C语言中,经常用到字符串的连接,已有代码如下:char*st1=“abcd”;char*st2=“1234”;下面哪段代码可以实现把st1和st2连接起来?A.st1=st1+st2;B.strcat(st1,str2);C.charst3[100]={0};strcpy(st3,st1);strcpy(st3,st2);D.charst3[100]={0};strcpy(st3,st1);strcat(st3,st2);正确答案:D24.关于预处理指令,以下说法正确的是:A.#include可以包含
本文标题:UC(试题1)
链接地址:https://www.777doc.com/doc-7175922 .html