您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 东南大学2008C++上试卷
东南大学2008~2009第2学期C++(上)试卷A卷第一部分计算机基础一、选择题(每小题1分,共10分)1.一个完整的计算机系统应包括。A.主机及外部设备B.机箱、键盘、显示器及打印设备C.硬件系统和软件系统D.中央处理器、储存器及外部设备2.按位逻辑与运算:11001010^11000101的运算结果是。A.00001000B.00001001C.11000001D.110000003.下列关于存储器的说法中,正确的是。A.ROM是只读存储器,其中的内容只能读一次B.硬盘通常安装在主机箱内,所以硬盘属于内存C.CPU不能直接从外存储器读取数据D.任何存储器都有记忆能力,且断电后信息不会丢失4.在某进制的运算中4*5=14,根据这一运算规则,则5*7=。A.3AR.35C.29D.235.长度为1个字节的二进制整数,若采用补码表示,且由5个“1”和3个“O”组成,则可表示的最小十进制整数为。A.-120B.-113C.-15D.-86.算法设计采用的方法是。A.由精到粗、由具体到抽象B.由粗到精、由抽象到具体C.由精到粗、由抽象到具体D.由粗到精、由具体到抽象7.下列四个不同进位制的数中最大的数是。A.二进制数1001101.01B.十进制数73.5C.八进制数115.1D.十六进制数4C.48.下列编码中,不属于汉字输入码。A.点阵B.全拼双音码C.郑码输入码D.区位码码9.外存中的文件必须读入后计算机才能进行处理。A.CPUB.CacheC.ROMD.RAM10.程序的基本结构不包括。A.循环结构B.递推结构C.分支结构D递归结构二、填空题(每空1分,共5分)1.C语言源程序转换为目标程序的过程称为(1)。7.在线性数据组织中,栈是一种进栈和出栈均在同一端口进行的组织方法,这种组织方法的特点可以表示为(2)。6.线性数据组织可以分为(3)和(4)两种。3.下图是一个二叉树层次数据组织,请按照中序的顺序给出遍历结果。(说明:中序是指对于任何一个节点和其两个子女,先访问左子女,再访问该节点,最后访问右子女。)中序输出结果:(5)。第二部分C++程序设计一、选择题(每小题2分,共20分)1.a是一个整型变量,则执行下列输出语句后a的值是。cout(a=3*5,a*4,a+=5);A.65B.0C.15D.202.设整型变量x的值是10,则表达式2x5的值是。A.不确定B.1C.0D.表达式非法3.设整型变量x的当前值为4,执行以下循环语句后,输出的结果是。docout(x-=2);while(!(--x));A.2B.1-2C.30D.死循环,输出许多值ARCHFBNKG4.对下面三条语句,正确的论断是。(1)if(!a)s1;elses2;(2)if(a==0)s2;elses1;(3)if(a!=0)s1;elses2;A.三者相互等价B.三者相互不等价C.只有(2)和(3)等价D.以上三咱说法都不正确5.执行以下程序段的输出是:for(inti=1;i7;i++){if(i%3==0)continue;couti'\t';}A.123456B.1245C.123D.126.C++语言中函数返回值的类型是由决定的。A.定义函数时所指定的函数类型B.调用该函数的主调函数类型C.return语句中的表达式类型D.传递给函数的实参类型7.设有函数声明intfun(inta,int&b);,有变量inti,j;,下面哪个是对函数的正确调用A.fun(i,&j)B.fun(i,j+2)C.fun(i+2,j)D.fun(2,3)8.在一个函数内部,以下描述正确的是__________。A.可以定义和调用其他函数B.可以调用但不能定义其他函数C.不可以调用但能定义其他函数D.不可以调用也不能定义其他函数9.以下对二维数组a进行正确初始化的是。A.inta[2][3]={{1,2},{3,4},{5,6}};B.inta[][3]={1,2,3,4,5,6};C.inta[2][]={1,2,3,4,5,6};D.inta[2][2]={(1,2),(3,4)};10.在定义inta[2][3];之后,对a的引用正确的是。A.a(1,2)B.a[1,3]C.a[12][!1]D.a[2][0]二、阅读理解(6小题,共35分)1.阅读下列程序,指出程的输出结果,每空2分,共4分。#includeiostream.hvoidmain(void){inta[4][4]={1,2,3,4,2,2,5,6,3,5,2,7,4,6,4,7};inti,j,flag=0,sum=0;for(j=0;j4;j++)for(i=0;i=j;i++){if(a[j][i]==a[i][j]){sum+=a[i][j];continue;}flag=1;}if(flag)coutNo!endl;elsecoutAllRight!endl;coutsum=sumendl;}程序输出的结果:(1)(2)2.阅读下列程序,指出程的输出结果,每空2分,共4分。#includeiostream.hintrune(inta,intb){return(a+b);}voidmain(){intx=2,y=5,z=8,r;r=rune(rune(x,y),z);coutrendl;coutrune(z,r)endl;}程序的输出结果是:(3)(4)3.阅读下列程序,指出程的输出结果,每空2分,共4分。#includeiostream.hintfun(intn){if(n==1||n==2)return1;if(n==3)return3;returnfun(n-1)+fun(n-2)-fun(n-3);}voidmain(){coutfun(5)’\n’;coutfun(6)’\n’;}程序的输出结果是:(5)(6)4.阅读下列程序,指出程的输出结果,每空2分,共6分。#includeiostream.hintfun(inti);voidmain(){inti=1;switch(i){default:i++;break;case0:i++;fun(i);case1:i++;fun(i);case2:i++;fun(i);}couti’\n’;}intfun(inti){statick=10;i++;k++;coutk’\n’;returnk;}程序的输出结果是:(7)(8)(9)5.阅读下列程序,指出程的输出结果,每字符1分,共3分。#includeiostream.h#includestring.hvoidmain(){charstr[]=“computer”;inti;for(i=strlen(str)-2;i0;i-=2)coutstr[i];cout“\n”;}程序的输出结果是:(10)6.设下列程序在运行输入的是1~16这16个数字,指出程的输出结果,每空2分,共8分。#includeiostream.h#defineN4voidmain(){inta[N][N];inti,j,t;for(i=0;iN;i++)for(j=0;jN;j++)cina[i][j];for(i=0;iN;i++){for(j=0;jN;j++)if((i==0)||(i==N-1))a[i][j]++;elseif((j==0)||(j==N-1))couta[i][j]'\t';}cout'\n';}程序的输出结果是:(11)、(12)、(13)、(14)7.阅读下列程序,指出程的输出结果,每输出2分,共6分。#includeiostream.hvoidf(int);voidmain(){f(567);}voidf(intn){coutn%10;if(n10)f(n/10);}程序的输出结果是:(15)、(16)、(17)三、完善程序(每空2分,共30分)1.求400之内的亲密对数。所谓亲密对数,即A的所有因子之和等于B,B的所有因子之和等于A。#includeiostream.h(1);voidmain(){for(inti=2;i400;i++)if((2)==i)couti''(3)'\n';}intfun(intn){ints=0;for(inti=2;in;i++)(4)s+=i;(5);}2.下列函数inverse的功能是使一个字符串按逆序存放,请填空。voidinverse(charstr[]){charm;inti,j=strlen(str);for(i=0;i((6));i++;){m=str[i];str[i]=((7));((8));}}3.求f(x)=-x2/2!+x4/4!-x6/6+x8/8!……,要求精度为十万分之一。#includeiostream.h#includemath.hvoidmain(){doublex,y,t;intn=0;cout“Inputx:”cinxt=1;(9);while(fabs(t)1e-6){n++;y+=(t=(10));//A}cout“y(“x”)=”y’\n’;}4.下列程序的功能是求一个一维数组全体元素的最大公约数。算法是:(1)先找出数组中的最小元素t;(2)判断t能否将数组中所有元素整除。如果能,这t为最大公约数;否则t=t-1;(3)重复步骤(2)直至t=1。请完善该程序。#includeiostream.hintmin(intb[],intn){inti,k=0;for(i=1;in;i++)if((11))k=i;returnk;}intgys(intb[],intn){inti,t;t=min(b,n);while(t0){for(i=0;in;i++)if((12))break;if(i==n)returnt;t--;}}voidmain(){inta[10]={92,84,56,68,64,36,48,80,92,40};for(inti=0;i10;i++)couta[i]’\t’;cout”\n10个数的最大公约数为:”gys((13))endl;}5.下列程序的功能是输出以下图形,请完善该程序。&&&&&&&&&&&&&&&&&&&&&&&&includeiostream.h#includestring.hvoidmain(){inti,j,k;for(i=0;i(14);i++)//控制输出的行数{for(k=0;ki;k++)//每行前面的空格cout;for(j=0;j(15);j++)//输出图形cout&;cout'\n';}}
本文标题:东南大学2008C++上试卷
链接地址:https://www.777doc.com/doc-1838414 .html