您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > C语言(31次)试题及答案
四川省计算机二级考试第三十一次C与C++语言笔试试卷第1页共11页四川省普通高等学校计算机应用知识和能力第三十一次等级考试二级(C与C++语言)笔试试卷时间:2009年10月24日上午9:00—11:00第一部分软件技术基础(共15分)一、是非判断题(每小题1分,共10分)(判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B)1.数据在计算机内存中的表示是指数据的存储结构。(1)2.作业与进程的主要区别是前者是由系统自动生成,后者是由用户提交。(2)3.从逻辑上可以把数据结构分为线性结构和非线性结构。(3)4.在设备管理中,通道是处理输入、输出的软件。(4)5.链表可以随机访问任意一个结点,而顺序表则不能。(5)6.栈顶的位置是随着进栈和退栈操作而变化的。(6)7.处于等待状态的进程,若其等待的事件已发生,就立即转入运行状态。(7)8.任何两个并发进程之间一定存在互斥关系。(8)9.在面向过程方法的软件生存期内,能准确确定软件系统必须做什么和必须具备的功能阶段是需求分析。(9)10.在软件测试的基本方法中,静态测试不用测试用例。(10)二、选择题(每小题1分,共5分)1.若进栈序列为1,2,3,4,且进栈过程中可以出栈,则不可能出栈的序列是(11)。11(A)1,4,3,2(B)2,3,4,1(C)3,1,4,2(D)3,4,1,22.操作系统本身是计算机系统软件的重要组成部分,而其物质基础是(12)。12(A)系统硬件(B)程序(C)数据结构(D)标准程序库3.外部设备完成了预定的输入/输出操作所引起的中断是(13)。13(A)外中断(B)I/O中断(C)程序中断(D)标准程序库4.以下的准则中哪个不是软件设计应遵循的(14)。14(A)抽象准则(B)模块化准则(C)信息屏蔽准则(D)综合性准则5.在结构化设计方法中,设计功能模块算法属于软件开发中的(15)阶段。15(A)详细设计(B)需求分析(C)总体设计(D)编程调试四川省计算机二级考试第三十一次C与C++语言笔试试卷第2页共11页第二部分C与C++语言程序设计(共85分)一、单项选择题(每小题1分,共10分)1.已知:chars[]=China,*p;(考点:字符指针)p=s;则下列叙述正确的是(16)。16(A)s和p完全相同(B)*p与s[0]不等(C)*p与s[0]相等(D)*s与p相等2.以下可以作为函数fopen中第一个参数的正确格式是(17)。(*考点:文件)17(A)c:prog\file1.dat(B)c:\\prog\\file1.dat(C)c:\prog\file1.dat(D)c:\\prog\\file1.dat3.若有定义:uniondata{inti;floatj;chars[5];}k;则在TurboC2.0环境中sizeof(k)的值是(18)。(考点:共用体类型)18(A)2(B)5(C)11(D)04.下面四个选项中,合法的用户自定义标识是(19)。(考点:标识符命名)19(A)int(B)a_b3(C)3_bc(D)#mm5.已知结构体:(20)。(考点:存储类型extern)structstudent{charname[20];struct{intyear;intmonth;}birth;charsex;}stu;20(A)stu.birth=2009;(B)stu.year=2009;(C)stucent.birth.year=2009;(D)stu.birth.year=2009;6.下面程序的输出结果是(21)。(考点:宏定义)#includestdio.h#defineM4#defineN2*M+1#defineKN/2-5voidmain(){printf(%d\n,K);}21(A)2(B)1(C)0(D)37.有以下结构体及其变量的定义:structnode{intdata;四川省计算机二级考试第三十一次C与C++语言笔试试卷第3页共11页structnode*next;}*p,*q,*r;如图所示,指针p、q、r分别指向此链表中的三个连续结点。若要将q所指结点从链表中删除,使p所指结点与r所指结点连接,不能完成指定操作的语句是(22)。(考点:链表)22(A)p-next=q-next;(B)p-next=p-next-next;(C)p-next=r;(D)p=q-next;8.下列程序段中,不是无限循环的是(23)。(考点:循环语句)23(A)(B)k=0;j=100;dowhile(1){++k;}{j=j%100+1;whiel(k--=0);if(j100)break;}(C)(D)s=3333;for(;;);while(s%2+s++%2);9.不能把字符串Hello!赋给字符数组b的选项是(24)。(考点:字符数组赋值)24(A)charb[10]={'H','e','l','l','o','!','\0'};(B)charb[10];b=Hello!;(C)charb[10];strcpy(b,Hello!);(D)charb[10]=Hello!;10.若变量已正确定义并赋值,以下符合C语言语法的表达式是(25)。(考点:表达式)25(A)a:=b+1(B)a=b=c+2(C)int18.5%3(D)a=a+7=c+b二、读程序回答问题(每个选择3分,共45分)1.在下面程序中(考点:数组、函数(地址参数)、删除字符算法)#includestdio.hvoidfun(char*s){inti,j;for(i=0,j=0;s[i]!='\0';i++)if(s[i]='0'&&s[i]='9'){s[j]=s[i];j++;}s[j]='\0';}voidmain(){chars[20]=ab12cd34;fun(s);printf(%3d%3d\n,sizeof(s),strlen(s));printf(%s\n,s);pqrdatanextdatanextdatanext四川省计算机二级考试第三十一次C与C++语言笔试试卷第4页共11页}(1)第1个printf输出的结果为(26)。26(A)88(B)208(C)2020(D)204(2)第2个printf输出的结果为(27)。27(A)abcd(B)ab12cd(C)1234(D)ab12cd342.下列程序的输出结果是(28)。(考点:函数(地址参数和普通参数)、指针运算)voidfun(char*c,intd){*c=*c+1;d=d+1;}voidmain(){chara='A',b='a';fun(&b,a);printf(%c,%c\n,a,b);}28(A)B,A(B)a,B(C)A,B(D)A,b3.下列程序的输出结果是(29)。(考点:带参数的宏定义)#includestdio.h#defineGOOD(y)2.84+y#definePR(a)printf(\n%d,(int)(a))#definePRINT(a)PR(a);putchar('\n')voidmain(){intx=2;PRINT(GOOD(5)*x);}29(A)11(B)15(C)13(D)124.下列程序运行后的输出结果是(30)。(考点:结构体类型、函数(普通参数)、全局变量和局部变量)#includestdio.hstructtree{intx;char*s;}t;func(structtreet){t.x=10;t.s=computer;return(0);}voidmain(){t.x=1;t.s=minicomputer;四川省计算机二级考试第三十一次C与C++语言笔试试卷第5页共11页fun(t);printf(%d,%s\n,t.x,t.s);}30(A)10,computer(B)1,minicomputer(C)1,computer(D)10,minicomputer5.下列程序编译连接后生成可执行文件CAD.EXE,输入以下命令行:CADFILE1FILE2CR(CR表示回车)程序的运行结果是(31)。(考点:命令行参数)#includestdio.hvoidmain(intargc,char*argv[]){inti;printf(%d\n,argc);for(i=0;i=argc-1;i++)printf(%s,argv[i]);printf(\n);}31(A)2(B)3cadfile1file2cadfile1file2(C)2(D)3CAD.EXEFILE1FILE2CAD.EXEFILE1FILE26.有下列程序:(考点:for循环嵌套、continue语句、break语句)#includestdio.hvoidmain(){inti,j,x=0;for(i=0;i2;i++){x++;for(j=0;j=3;j++){if(j%2)continue;x++;}x++;}printf(%d\n,x);}(1)该程序的运行结果是(32)32(A)6(B)4(C)8(D)2(2)若将程序中的continue改为break,则输出结果为(33)33(A)6(B)4(C)8(D)27.有如下程序:(考点:文件打开方式、文件操作函数、函数调用)#includestdio.h#includestring.h四川省计算机二级考试第三十一次C与C++语言笔试试卷第6页共11页voidfun(char*fname,char*st){FILE*myf;inti;myf=fopen(fname,w);for(i=0;istrlen(st);i++)fputc(st[i],myf);fclose(myf);}voidmain(){fun(text,world);fun(text,hello);}(1)运行该程序后,文件text中的内容为(34)。34(A)world(B)worldhello(C)hello(D)helloworld(2)若将文件打开方式w改为a,则运行程序后,文件text中的内容为(35)。35(A)world(B)worldhello(C)hello(D)helloworld8.有如下程序:(考点:递归函数)#includestdio.hintfun(intn){inty;if(n==1)y=1;elseif(n==2)y=2;elsey=n+fun(n-2);returny;}voidmain(){intx;scanf(%d,&x);printf(%d,fun(x));}若输入x的值为8,则程序的输出结果为(36)。36(A)16(B)36(C)30(D)20与函数fun等价的非递归程序为(37)。37(A)intfun(intn)(B){inti,s=0;for(i=n;i=1;i=i-2)s=s+i;returns;}intfun(intn){inti,s=0;for(i=1;i=n;i=i+2)s=s+i;returns;}四川省计算机二级考试第三十一次C与C++语言笔试试卷第7页共11页(C)intfun(intn)(D){inti,s=0;for(i=n;i=1;i--)s=s+i;returns;}9.有如下程序:(考点:数组、函数、静态存储类型)#includestdio.hintfun(int*x,intn){staticints=0,i;for(i=0;in;i++)s=s+x[i];returns;}voidmain(){intx[5]={1,2,3,4,5},y[4]={6,7,8,9},s;s=fun(x,5)+fun(y,4);printf(%d\n,s);}(1)程序的运行结果为(38)。38(A)15(B)30(C)45(D)60(2)若将fun函数中的static去掉,则程序的运行结果为(39)。39(A)15(B)30(C)45(D)6010.有如下程序:(考点:循环、switch语句)#inc
本文标题:C语言(31次)试题及答案
链接地址:https://www.777doc.com/doc-4065412 .html