收藏 分销(赏)

面向对象程序设计辅导八.doc

上传人:仙人****88 文档编号:9285443 上传时间:2025-03-19 格式:DOC 页数:10 大小:84.50KB
下载 相关 举报
面向对象程序设计辅导八.doc_第1页
第1页 / 共10页
面向对象程序设计辅导八.doc_第2页
第2页 / 共10页
点击查看更多>>
资源描述
面向对象程序设计复习辅导五 ---补充练习与参考之一 徐孝凯 一、单项选择 1. 能作为C++程序的基本单位是( )。C A. 字符 B. 语句 C. 函数 D. 源程序文件 2. 程序中主函数的名字为( )。A A. main B. MAIN C. Main D. 任意标识符 3. C++程序的基本模块为( )。D A. 表达式 B. 标识符 C. 语句 D. 函数 4. 可用作C++语言用户标识符的一组标识符是( )。B A. void define +WORD B. a3_b3 _123 YN C. for -abc Case D. 2a DO sizeof 5. 存储以下数据,占用存储字节最多的是( )。D A. 0 B. ‘0’ C. “0” D. 0.0 6. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用________符号作为分隔符。D A. 空格或逗号 B. 逗号或回车 C. 逗号或分号 D. 空格或回车 7. 设int a=12;则执行完语句a+=a*a;后,a的值是( )。C A. 12 B. 144 C. 156 D. 288 8. 假设在程序中 a、b、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式的表达式是( )。D A. 1.0/a*b*c B. 1/(a*b*c) C. 1/a/b/(float)c D. 1.0/a/b/c 9. 设int a=15,b=26;则cout<<(a,b);的输出结果是( )。D A. 15 B. 26,15 C. 15,26 D. 26 10. 设x是一个bool型的逻辑量,y的值为10,则表达式 x && y的值为( )。C A. 1 B. 0 C. 与x值相同 D. 与x值相反 11. x>0 && x<=10的相反表达式为( )。A A. x<=0 || x>10 B. x<=0 && x>10 C. x<=0 || x<=10 D. x>0 && x>10 12. 以下说法中正确的是( )。 B A. C++程序总是从第一个定义的函数开始执行 B. C++程序总是从main函数开始执行 C. C++函数必须有返回值,否则不能使用函数 D. C++程序中有调用关系的所有函数必须放在同一个程序文件中 13. 以下叙述中不正确的是( )。C A. 在一个函数中,可以有多条return语句 B. 函数的定义不能嵌套,但函数的调用可以嵌套 C. 函数必须有返回值 D. 不同的函数中可以使用相同名字的变量 14. 函数重载是指( )。A A. 两个或两个以上的函数取相同的函数名,但形参的个数或类型不同 B. 两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同 C. 两个以上的函数名字不同,但形参的个数或类型相同 D. 两个以上的函数取相同的函数名,并且函数的返回类型相同 15. 以下关于函数模板叙述正确的是( )。C A. 函数的模板也是一个具体的函数 B. 函数模板的类型参数与函数的参数是同一个概念 C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数 D. 用函数模板定义的函数没有类型 16. 下列( )的调用方式是引用调用。C A. 形参和实参都是变量 B.形参是指针,实参是地址值 C. 形参是引用,实参是变量 D.形参是变量,实参是地址值 17. 为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择( )。A A. 内联函数 B.重载函数 C.递归函数 D.函数模板 18. 函数原型语句正确的是( )。B A. int Function(void a); B.void Function (int); C. int Function(a); D.void int(double a); 19. C++中函数返回值的类型是由( )决定的。B A. return语句中表达式的类型 B.该函数定义时的类型 C.调用函数时的调用语句 D.系统根据结果 20. 以下函数的返回结果是( )。A int function(char *x) { char *p=x; while(*p++); return(p-x-1); } A. 求字符串的长度 B.将字符串x连接到字符串p后面 C. 将字符串x复制到字符串p中 D.将字符串x反向存放 21. 函数调用func((exp1,exp2),(exp3,exp4,exp5))中所含实参的个数为( )个。B A. 1 B. 2 C. 4 D. 5 22. 设有如下函数定义 int f(char *s) { char *p=s ; while(*p!=’\0’) p++; return(p-s); } 在主函数中用cout<<f(“good”)调用上述函数, 则输出结果为( )。 B A. 3 B. 4 C. 5 D. 6 二、填空 1. 假定x=5,y=6,则执行表达式y+=x--计算后,x和y的值分别为_4____和____11__。4 11 2. C++常数0x145对应的十进制值为__________。325 3. C++常数0345对应的十进制值为__________。229 4. 十进制常数245对应的十六进制的C++表示为__________。0xF5 (F大小写均可) 5. 十进制常数245对应的八进制的C++表示为__________。0365 (F大小写均可) 6. signed char类型的值域范围是________至__________之间的整数。-128 +127 7. int和float类型的数据分别占用_________和__________个字节。4 4 8. float和double类型的数据分别占用_________和________个字节。4 8 9. bool和char类型的数据分别占用_________和________个字节。1 1 10. unsigned short int和int类型的长度分别为_________和________。2 4 11. 字符串“This\’s a book.\n”的长度为__________。15 12. 字符串“\nThis\’s a pen\n\n”的长度为__________。15 12. 在C++中存储字符串“abcdef”至少需要________个字节。7 14. 在C++中存储字符串“a+b=c”至少需要________个字节。6 15. 假定x和y为整型,其值分别为16和5,则x%y和x/y的值分别为__________和__________。1 3 16. 若while循环的“头”为”while(i++<=10)”,并且i的初值为0,同时在循环体中不会修改i的值,则循环体将被重复执行______次后正常结束。11 17. 若do循环的“尾”为”while(++i<10)”,并且i的初值为0,同时在循环体中不会修改i的值,则循环体将被重复执行______次后正常结束。10 18. 当在程序中执行到________语句时,将结束本层循环类语句或switch语句的执行。break 19. 当在程序中执行到________语句时,将结束所在循环语句中循环体的一次执行。continue 20. 在程序中执行到________语句时,将结束所在函数的执行过程,返回到调用该函数的位置。return 21.在程序执行完________函数调用后,将结束整个程序的执行过程,返回到C++集成开发窗口。主(或main) 22. 元素类型为int的数组a[10]共占用________字节的存储空间。40 23. 元素类型为double的二维数组a[4][6]共占用________字节的存储空间。192 24. 元素类型为char的二维数组a[10][30]共占用________字节的存储空间。300 25. 存储字符’a’和字符串”a”分别需要占用________和________个字节。1 2 26. 空串的长度为________,存储它需要占用________个字节。0 1 27. 字符串”\’a\’xy=4\n”的长度为________。7 28. 字符串”a:\\xxk\\数据”的长度为________。11 29. 用于存储一个长度为n的字符串的字符数组的长度至少为________。n+1 30. 若a是一个字符数组,则从键盘上向该数组输入一个字符串的表达式为__________。cin>>a 三、写出程序运行结果 1. #include<iostream.h> #include<stdlib.h> void main() { int a[8]={25,48,32,85,64,18,48,29}; int max,min; max=min=a[0]; for(int i=0; i<8; i++) { if(x>a[i]) max=a[i]; if(x<a[i]) min=a[i]; } cout<<"max:"<<max<<endl; cout<<"min:"<<min<<endl; } max:85 min:18 2. #include<iostream.h> void main() { int a,b; for(a=1,b=2; b<50;) { cout<<a<<' '<<b<<' '; a=a+b; b=a+b; } cout<<endl; cout<<a<<' '<<b<<' '<<endl; } 1 2 3 5 8 13 21 34 55 89 3. #include<iostream.h> const int M=3, N=4; void main() { int i,j,s=0; for(i=1;i<=M;i++) for(j=1;j<=N;j++) s+=i*j; cout<<”s=”<<s<<endl; } s=60 4. #include<iostream.h> void main() { int a=2,b=5,c=0; if(a+b>10) c=a*b; else c=3*a+b; if(c<=20) cout<<c*c; else cout<<4+c-5; cout<<endl; a=a+b; b=a+b;c+=a+b; cout<<"a,b,c="<<a<<','<<b<<','<<c<<endl; } 121 a,b,c=7,12,30 5. #include<iomanip.h> void main() { int i,j; for(i=0;i<5;i++) { for(j=i;j<5;j++) cout<<’*’; cout<<endl; } } ***** **** *** ** * 6. #include<iostream.h> void main() { for(int i=1,s=0;i<20;i++) { if(i%2==0 || i%3==0) continue; cout<<i<<’ ’; s+=i; } cout<<s<<endl; } 1 5 7 11 13 37 12. #include<iostream.h> const int T=6; void main() { int i,j; for(i=1;i<=T;i+=2) for(j=2;j<=T;j+=2) { if(i+j<T) cout<<’+’; else cout<<’*’; } } ++*+***** 7. #include<iostream.h> void main() { int a,b,c=0; for(a=1;a<4;a++) for(b=6;b>1;b-=2) { if((a+b)%2==0) c+=a+b; else c+=a*b; if(b==2) cout<<a<<’ ’<<b<<’ ’<<c<<endl; } } 1 2 12 2 2 30 3 2 66 8. #include<iostream.h> const int B=2; void main() { int p=1,s=1; while(s<50) { p*=B; s+=p; } cout<<"s="<<s<<endl; } s=63 9. #include<iostream.h> void main() { int x=24,y=88; int i=2,p=1; do { while(x%i==0 && y%i==0) { p*=i; x/=i; y/=i; } i++; }while(x>=i && y>=i); cout<<p*x*y<<endl; } 264 10. #include<iomanip.h> const int N=3; void main() { int a[N][N]={{7,-5,3},{2,8,-6},{1,-4,-2}}; int b[N][N]={{3,6,-9},{2,-8,3},{5,-2,-7}}; int i,j,c[N][N]; for(i=0;i<N;i++) //计算矩阵C for(j=0;j<N;j++) c[i][j]=a[i][j]+b[i][j]; for(i=0;i<N;i++) { //输出矩阵C for(j=0;j<N;j++) cout<<setw(5)<<c[i][j]; cout<<endl; } } 10 1 -6 4 0 -3 6 -6 -9 11. #include<iostream.h> int a=5; void main() { int b=a+20; int a=10; cout<<a<<' '<<b<<endl; { int a=0,b=0; for(int i=1; i<6; i++) { a+=i; b+=a; } cout<<a<<' '<<b<<endl; } cout<<a<<' '<<b<<endl; } 10 25 15 35 10 25 12. #include<iostream.h> int f1(int x, int y) { x=x+y; y=x+y; cout<<"x="<<x<<", y="<<y<<endl; return x+y; } void main() { int x=5,y=8; int z=f1(x,y); cout<<"x="<<x<<", y="<<y; cout<<", z="<<z<<endl; } x=13, y=21 x=5, y=8, z=34 13. #include<iostream.h> void f2(int& x, int& y) { int z=x; x=y; y=z; } void f3(int* x, int* y) { int z=*x; *x=*y; *y=z; } void main() { int x=10,y=26; cout<<"x,y="<<x<<", "<<y<<endl; f2(x,y); cout<<"x,y="<<x<<", "<<y<<endl; f3(&x,&y); cout<<"x,y="<<x<<", "<<y<<endl; x++; y--; f2(y,x); cout<<"x,y="<<x<<", "<<y<<endl; } x,y=10, 26 x,y=26, 10 x,y=10, 26 x,y=25, 11 14. #include<iostream.h> void f4(int a[], int n, int& s) { s=0; for(int i=0; i<n; i++) s+=a[i]; } void main() { int b[8]={4,8,6,9,2,10,7,12}; int x; f4(b,5,x); cout<<x<<' '; int y; f4(b+3,4,y); cout<<y<<' '; cout<<x+y<<endl; } 29 28 57 15. #include<iostream.h> void main() { int a[8]={36,25,48,14,55,40,50,24}; int b1, b2; b1=b2=a[0]; for(int i=1;i<8;i++) if(a[i]>b1) {b2=b1; b1=a[i];} else if(a[i]>b2) b2=a[i]; cout<<b1<<' '<<b2<<endl; } 55 50 16. #include<iostream.h> void main() { char a[]="abcdabcabfgacd"; int i1=0, i2=0, i=0; while(a[i]) { if(a[i]==’a’) i1++; if(a[i]==’b’) i2++; i++; } cout<<i1<<’ ’<<i2<<’ ’<<i<<endl; } 4 3 14 17. #include<iostream.h> void main() { int a[10]={76,83,54,62,40,75,90,92,77,84}; int b[4]={60,70,90,101}; int c[4]={0}; for(int i=0;i<10;i++) { int j=0; while(a[i]>=b[j]) j++; c[j]++; } for(i=0;i<4;i++) cout<<c[i]<<’ ’; cout<<endl; } 2 1 5 2 18. #include<iostream.h> #include<string.h> void main() { char a[5][10]={"student","worker","soldier","cadre","peasant"}; char s1[10], s2[10]; strcpy(s1,a[0]); strcpy(s2,a[0]); for(int i=1;i<5;i++) { if(strcmp(a[i], s1)>0) strcpy(s1,a[i]); if(strcmp(a[i], s2)<0) strcpy(s2,a[i]); } cout<<s1<<’ ’<<s2<<endl; } worker cadre 10
展开阅读全文

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


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

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

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

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

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

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

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

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

客服