收藏 分销(赏)

东南大学2008C上试卷.doc

上传人:二*** 文档编号:4514024 上传时间:2024-09-26 格式:DOC 页数:9 大小:87KB 下载积分:5 金币
下载 相关 举报
东南大学2008C上试卷.doc_第1页
第1页 / 共9页
本文档共9页,全文阅读请下载到手机保存,查看更方便
资源描述
东南大学2008~2009第2学期 C++(上)试卷 A卷 第一部分 计算机基础 一、选择题(每小题1分,共10分) 1.一个完整的计算机系统应包括 。 A.主机及外部设备 B.机箱、键盘、显示器及打印设备 C.硬件系统和软件系统 D.中央处理器、储存器及外部设备 2.按位逻辑与运算:11001010^11000101的运算结果是 。 A.00001000 B.00001001 C.11000001 D.11000000 3.下列关于存储器的说法中,正确的是 。 A.ROM是只读存储器,其中的内容只能读一次 B.硬盘通常安装在主机箱内,所以硬盘属于内存 C.CPU不能直接从外存储器读取数据 D.任何存储器都有记忆能力,且断电后信息不会丢失 4.在某进制的运算中4*5=14,根据这一运算规则,则5*7= 。 A.3A R.35 C.29 D.23 5.长度为1个字节的二进制整数,若采用补码表示,且由5个“1”和3个“O”组成,则可表示的最小十进制整数为 。 A.-120 B.-113 C.-15 D.-8 6.算法设计采用的方法是 。 A.由精到粗、由具体到抽象 B.由粗到精、由抽象到具体 C.由精到粗、由抽象到具体 D.由粗到精、由具体到抽象 7.下列四个不同进位制的数中最大的数是 。 A.二进制数1001101.01 B.十进制数73.5 C.八进制数115.1 D.十六进制数4C.4 8.下列编码中, 不属于汉字输入码。 A.点阵 B.全拼双音码 C.郑码输入码 D.区位码码 9.外存中的文件必须读入 后计算机才能进行处理。 A.CPU B.Cache C.ROM D.RAM 10.程序的基本结构不包括 。 A.循环结构 B.递推结构 C.分支结构 D递归结构 二、填空题(每空1分,共5分) 1.C语言源程序转换为目标程序的过程称为 (1) 。 7.在线性数据组织中,栈是一种进栈和出栈均在同一端口进行的组织方法,这种组织方法的特点可以表示为 (2) 。 6.线性数据组织可以分为 (3) 和 (4) 两种。 3.下图是一个二叉树层次数据组织,请按照中序的顺序给出遍历结果。(说明:中序是指对于任何一个节点和其两个子女,先访问左子女,再访问该节点,最后访问右子女。)中序输出结果: (5) 。 A R C H F B N K G 第二部分 C++程序设计 一、选择题(每小题2分,共20分) 1.a是一个整型变量,则执行下列输出语句后a的值是 。 cout<<(a=3*5,a*4,a+=5); A.65 B.0 C.15 D.20 2.设整型变量x的值是10,则表达式2>x>5的值是 。 A.不确定 B.1 C.0 D.表达式非法 3.设整型变量x的当前值为4,执行以下循环语句后,输出的结果是 。 do cout<<(x-=2); while(!(--x)); A.2 B.1 -2 C.3 0 D.死循环,输出许多值 4.对下面三条语句,正确的论断是 。 (1)if(!a)s1;else s2; (2)if(a==0)s2;else s1; (3)if(a!=0)s1;else s2; A.三者相互等价 B.三者相互不等价 C.只有(2)和(3)等价 D.以上三咱说法都不正确 5.执行以下程序段的输出是: for(int i=1;i<7;i++) { if(i%3==0)continue; cout<<i<<'\t'; } A.1 2 3 4 5 6 B.1 2 4 5 C.1 2 3 D.1 2 6.C++语言中函数返回值的类型是由 决定的。 A.定义函数时所指定的函数类型 B.调用该函数的主调函数类型 C.return语句中的表达式类型 D.传递给函数的实参类型 7.设有函数声明 int fun(int a,int &b);,有变量int i,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.int a[2][3]={{1,2},{3,4},{5,6}}; B.int a[][3]={1,2,3,4,5,6}; C.int a[2][]={1,2,3,4,5,6}; D.int a[2][2]={(1,2),(3,4)}; 10.在定义int a[2][3];之后,对a的引用正确的是 。 A.a(1,2) B.a[1,3] C.a[1>2][!1] D.a[2][0] 二、阅读理解(6小题,共35分) 1.阅读下列程序,指出程的输出结果,每空2分,共4分。 #include<iostream.h> void main(void) { int a[4][4]={1,2,3,4,2,2,5,6,3,5,2,7,4,6,4,7}; int i,j,flag=0,sum=0; for(j=0;j<4;j++) for(i=0;i<=j;i++){ if(a[j][i]==a[i][j]) { sum+=a[i][j]; continue; } flag=1; } if(flag)cout<<"No!"<<endl; else cout<<"All Right!"<<endl; cout<<"sum="<<sum<<endl; } 程序输出的结果: (1) (2) 2.阅读下列程序,指出程的输出结果,每空2分,共4分。 #include<iostream.h> int rune(int a,int b) { return(a+b);} void main() { int x=2,y=5,z=8,r; r=rune(rune(x,y),z); cout<<r<<endl; cout<<rune(z,r)<<endl; } 程序的输出结果是: (3) (4) 3.阅读下列程序,指出程的输出结果,每空2分,共4分。 #include <iostream.h> int fun(int n) { if(n==1|| n==2) return 1; if(n==3) return 3; return fun(n-1)+fun(n-2)-fun(n-3); } void main() { cout<<fun(5)<< ’\n’; cout<<fun(6)<<’\n’; } 程序的输出结果是: (5) (6) 4.阅读下列程序,指出程的输出结果,每空2分,共6分。 #include<iostream.h> int fun(int i); void main() { int i=1; switch(i) { default: i++; break; case 0: i++;fun(i); case 1: i++;fun(i); case 2: i++;fun(i); } cout<<i<<’\n’; } int fun(int i) { static k=10; i++;k++; cout<<k<<’\n’; return k; } 程序的输出结果是: (7) (8) (9) 5.阅读下列程序,指出程的输出结果,每字符1分,共3分。 #include<iostream.h> #include<string.h> void main(){ char str[]=“computer”; int i; for(i=strlen(str)-2;i>0;i-=2) cout<<str[i]; cout<<“\n”; } 程序的输出结果是: (10) 6.设下列程序在运行输入的是1~16这16个数字,指出程的输出结果,每空2分,共8分。 #include<iostream.h> #define N 4 void main() { int a[N][N]; int i,j,t; for(i=0;i<N;i++) for(j=0;j<N;j++) cin>>a[i][j]; for(i=0;i<N;i++) { for(j=0;j<N;j++) if((i==0)||(i==N-1))a[i][j]++; else if((j==0)||(j==N-1))cout<<a[i][j]<<'\t'; } cout<<'\n'; } 程序的输出结果是: (11) 、 (12) 、 (13) 、 (14) 7.阅读下列程序,指出程的输出结果,每输出2分,共6分。 #include<iostream.h> void f(int); void main() { f(567); } void f(int n) { cout<<n%10; if(n>10) f(n/10); } 程序的输出结果是: (15) 、 (16) 、 (17) 三、完善程序(每空2分,共30分) 1.求400之内的亲密对数。所谓亲密对数,即A的所有因子之和等于B,B的所有因子之和等于A。 #include<iostream.h> (1) ; void main() { for(int i=2;i<400;i++) if( (2) ==i) cout<<i<<' '<< (3) <<'\n'; } int fun(int n) { int s=0; for(int i=2;i<n;i++) (4) s+=i; (5) ; } 2.下列函数inverse的功能是使一个字符串按逆序存放,请填空。 void inverse(char str[]) { char m; int i,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!……,要求精度为十万分之一。 #include<iostream.h> #include<math.h> void main() { double x,y,t; int n=0; cout<<“Input x:” cin>>x t=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。 请完善该程序。 #include<iostream.h> int min(int b[],int n) { int i,k=0; for(i=1;i<n;i++) if( (11) )k=i; return k; } int gys(int b[],int n) { int i,t; t=min(b,n); while(t>0) { for(i=0;i<n;i++) if( (12) )break; if(i==n)return t; t--; } } void main() { int a[10]={92,84,56,68,64,36,48,80,92,40}; for(int i=0;i<10;i++) cout<<a[i]<<’\t’; cout<<”\n10个数的最大公约数为:”<<gys( (13) )<<endl; } 5. 下列程序的功能是输出以下图形,请完善该程序。 & & & & & & & & & & & & & & & & & & & & & & & & & #include<iostream.h> #include<string.h> void main() { int i,j,k; for(i=0;i< (14) ;i++) //控制输出的行数 { for(k=0;k<i;k++) //每行前面的空格 cout<<" "; for(j=0;j< (15) ;j++) //输出图形 cout<<" &"; cout<<'\n'; } }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服