收藏 分销(赏)

期末复习(一).doc

上传人:xrp****65 文档编号:7013500 上传时间:2024-12-24 格式:DOC 页数:7 大小:63.50KB 下载积分:10 金币
下载 相关 举报
期末复习(一).doc_第1页
第1页 / 共7页
期末复习(一).doc_第2页
第2页 / 共7页


点击查看更多>>
资源描述
第一部分 C++程序设计 一、选择题 (每小题2分,共20分) 1. 下面能正确表示为C++常量的是 B 。 A) 3.14 B)0xabc C) 'AB' D) 2e1.25 E) E10 F) 0181 G) 12UL H) "\n\\\'A" A. ABCD B. ABGH C. ADGH D. ABCE 1.设整型变量x的值是10,则表达式2>x>5的编译运行结果是 C 。 A.值不确定 B.值为1 C.值为0 D.表达式非法 2.a是一个整型变量,则执行下列输出语句后a的值是 C 。 cout<<(a=3+6,a+=5,a-4); A.9 B.10 C.14 D.18 3.设程序中定义int x=5,y=0;以下循环语句执行结束后,x和y的值分别是 B 。 while(x--) cout<<(++y)+x<<','; A.0,5 B.-1,5 C.1,4 D.最小和最大机器数 4.对下面三条语句,正确的论断是 C 。 (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.执行以下程序段的输出是: A for(int i=1;i<6;i++) { if(i%2==0) continue; cout<<i<<'\t'; } A.1 3 5 B.2 4 6 C.1 2 3 4 D.1 3 5 7 6.C++语言中函数重载是指多个函数 B 不同。 A.函数名 B.函数的参数类型 C.函数中局部变量 D.传递给函数的实参 7.设有函数声明 int fun(int a[],int b);,主函数有变量int x[10],m=10;下面的函数调用语句 D 是正确的。 A.fun(m,x) B.fun(5,6) C.fun(x-2,m) D.fun(x,m/2) 8.在一个函数内部,以下描述正确的是___D_______。 A.不可以调用但能定义其他函数 B.不可以调用也不能定义其他函数 C.可以定义和调用其他函数 D.可以调用但不能定义其他函数 9.若函数中有语句int a[8][8]; for(int i=0; i++<8; ) a[i][6]= a[i][0]; 循环结束后将使 C 。 (A)数组的第0行元素赋给第6行元素 (B)数组a的第6行元素赋给第0行元素 (C)数组的第0列元素赋给第6列元素 (D)数组a的第6列元素赋给第0列元素 10.在定义int a[3][4];之后,能够实现对a的元素正确访问的是 A 。 A.a[2][3] B.a[1,3] C.a[3][3] D.a(2)(0) 二、阅读理解 (6小题,共35分) 1. 阅读下列程序,写出执行时的输出结果(每空2分,共6分) #include<iostream.h> void main() {int i=0,j=0,k=0; char ch; cin>>ch; while(ch!='#') { switch(ch) { case 'a': i++; case 'A': i++; break; case 'b': case 'B': j++; break; case ' ': k++; break; default: ; } cin>>ch; } cout<<"i="<<i<<endl; cout<<"j="<<j<<endl; cout<<"k="<<k<<endl; } 若输入测试字符为Aa Bb Cc # 则屏幕输出为: i=3 j=2 k=0 2.阅读下列程序,写出执行时的输出结果(每空2分,共4分)。 #include<iostream.h> #define A 6 void main( ) { int a,b; #define B(a) (A+1)*a a=B(A); b=3*(A+B(5)); cout<<"a="<<a<<'\n'; cout<<"b="<<b<<'\n'; } 屏幕输出为: a=42 b=143 3. 阅读下列程序,写出执行时的输出结果(每空2分,共6分) #include <iostream.h> int b; int f(int ); void main() { for (int i=1;i<=3;i++) cout<<f(i)<<'\n'; } int f(int a) { static int c=3; b+=a; c=c+1; return (a+b+c); } 程序的输出是 6 10 15 4. 阅读下列程序,回答问题(共7分) #include<iostream.h> int fun(int n,int x){ if(n==0)return 1; if(n==1)return 2*x; else return 2*x*fun(n-1,x)-2*(n-1)*fun(n-2,x); } void main( ){ int x=2,m,n; for(n=1;n<4;n+=2){ m=fun(n,x); cout<<"fun("<<n<<','<<x<<")="<<m<<endl;} } 以上程序运行后的输出结果: f(1,2)=4 ;f(3,2)=40 写出程序求解的原数学公式: 5.阅读下列程序,写出程序的输出结果(每数1分,共6分)。 #include <iostream.h> #include <iomanip.h> void main(){ int data[]={1,2,3,4,5,6,7,8}; int i; for(i=7;i>=0;i-=2){ cout<<setw(3)<<data[i]; data[i]=0; } cout<<setw(3)<<data[i+=2]; cout<<setw(3)<<data[++i]; cout<<endl; } 程序的输出结果是: 8 6 4 2 0 3 6.设下列程序在运行时输入的是20,21,22,23这4个数字,写出程序的输出结果。 (每数2分,共8分) #include<iostream.h> #define M 4 void main() { int a[M][M]={1,3,5,7,2,4,6,8,10,11,12,13}; int i,j; for(j=0;j<M;j++) cin>>a[3][j]; for(i=0;i<M;i++) { for(j=0;j<M;j++) if((i==0)||(i==M-1))a[i][j]++; else if((j==0)||(j==M-1))cout<<a[i][j]<<'\t'; } cout<<'\n'; } 程序的输出结果是: 2 8 10 13 三、完善程序 (共30分) 1.以下利用函数重载完成三角形面积的计算。三角形的面积可以由一条边的边长与高的乘积的一半求得,公式为:。也可由三角形的三条边a、b、c求三角形的面积,公式为:。 #include <iostream.h> #include <math.h> float area(float a,float h){ return _____________________________ ; } float area(float a,float b,float c){ float s=(a+b+c)/2; return ; } void main() { cout<<"利用三角形的底和高求面积\n"; cout<<"请输入三角形的底和高\n"; float a,h; cin>>a>>h; cout<<"面积为:"<< _______ <<"\n"; cout<<"利用三角形的三个边长求面积\n"; cout<<"请分别输入三角形的三个边长\n"; float b,c; cin>>a>>b>>c; cout<<"面积为:"<< _________ <<"\n"; } 2.如果一个数恰好等于它的因子之和,这个数就称为"完全数"。例如6=1+2+3,6是一个完全数。下面程序是找出50以内的所有完数,请完善该程序。 #include<iostream.h> void main(void) { int i, j, s ; for(j=2;j<50;j++) { s=0; for(i=1; _________ ; i++) if((j%i)==0)______ ; if(s == _______ ){cout<<j<<" is a wanshu"<<endl;} } } 3. 下列函数inverse的功能是使一维数组的各元素按逆序存放,请填空。 void inverse(int x[],int____ ) { int t; int i=0,j=len-1; while(i<j) { t=x[i]; _________ ; x[j]=t; _________ ; __________ ; } } 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; y=0; while( ________ >1e-6) { n++; ________ +=(t=-t*x*x/((2*n-1)*2*n)); } cout<<“y(“<<x<<”)=”<<y<<’\n’; } 5. 以下程序是运用选择法对数据按升序排序并输出,请完善该程序。 #include <iostream.h> #include <iomanip.h> void sort(int a[ ],int n); void main() { int b[10],i; for (i=0;i<10;i++) cin>>b[i]; sort(_______ ,10 ); cout<<endl; for (i=0;i<M;i++) cout<<b[i]<<setw(6); cout<<endl; } void sort(int a[ ],int n) { int i,j,t; for ( i=0; i<n-1; i++ ) { for ( j=____ ; j<n; j++ ) if (____ ) { t=a[i]; a[i]=a[j]; a[j]=t; } } } 共 7 页 第 7 页
展开阅读全文

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


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

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

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

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

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

gongan.png浙公网安备33021202000488号   

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

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

客服