电大C++语言程序设计形考册.doc

上传人:爱问知识人 文档编号:5065170 上传时间:2020-01-31 格式:DOC 页数:24 大小:193.50KB
返回 下载 相关 举报
电大C++语言程序设计形考册.doc_第1页
第1页 / 共24页
电大C++语言程序设计形考册.doc_第2页
第2页 / 共24页
电大C++语言程序设计形考册.doc_第3页
第3页 / 共24页
电大C++语言程序设计形考册.doc_第4页
第4页 / 共24页
电大C++语言程序设计形考册.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《电大C++语言程序设计形考册.doc》由会员分享,可在线阅读,更多相关《电大C++语言程序设计形考册.doc(24页珍藏版)》请在三一文库上搜索。

1、专业好文档C+语言程序设计课程作业与评价中央电大计算机教研室第一次作业练习一、填空题 1C+语言中的每条基本语句以_作为结束符,每条复合语句以_作为结束符。 2. 用于输出表达式值的标准输出流对象是_,用于从键盘上为变量输入值的标准输入流对象是_。 3. 当不需要函数返回任何值时,则应把该函数类型定义为_。 4. 执行“cout143+18=143+18endl;”语句后得到的输出结果为_。 5. 执行“cout“ning”“chen ”38endl;”语句后得到的输出结果为_。 6在每个C+程序中都必须包含有这样一个函数,该函数的函数名为_。 7C+源程序文件的缺省扩展名为_,由C+源程序文

2、件编译而成的目标文件的缺省扩展名为_,由C+目标文件连接而成的可执行文件的缺省扩展名为_。 8. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用_或_符号作为分隔符。 9十进制数25表示成符合C+语言规则的八进制和十六进制数分别为_和_。 10. 在c+语言中,用转义字符序列_或操纵符_表示输出一个换行符。 11执行“coutchar(b+2)endl;”语句后得到的输出结果为_。 12. 执行“coutchar(K-3)endl;”语句后得到的输出结果为_。 13. 已知AZ的ASCII码为6590,当执行“int x=H+5;”语句后x的值为_。 14已知AZ的ASCII码为6

3、590,当执行“char ch=16*5+2;coutchendl;”语句序列后,得到的输出结果为_。 15.假定一个枚举类型的定义为“enum RAxa,xb,xc,xd;”,则执行“coutxc=xcendl;”语句得到的输出结果为_。 16假定一个枚举类型的定义为“enum RBab,ac=3,ad,aex=ad;”,则x的值为_。 17char、short和int类型的大小分别为_、_和_。 18float和double类型的大小分别为_和_。 19. 十进制数128和-3.26的类型分别为_和_。 20. 若需要定义一个标识符常量,并且使C+能够进行类型检查,则应在定义语句的开始使用

4、保留字_。 21. 使用const语句定义一个标识符常量时,则必须对它同时进行_。 22. 执行“int x=45,y=16;coutx/y x%yz的相反表达式为_。 33. 逻辑表达式x5 & xb | b=5的相反表达式为_。 35若x=15,y=40,则xy和x=y的逻辑值分别为_和_。 36. 假定x=5,则执行“a=(x?10:4*2);”语句后a的值为_。 37假定a=5,则条件表达式“a=0?10:20”的值为_。 38. 执行“typedef int DataType;”语句后,在使用int定义整型变量的地方都可以使用_来定义整型变量。 39设x和y均为bool量,则x &

5、y为真的条件是_。 40设x和y均为bool量,则x | y为假的条件是_。 二、写出下列程序运行后的输出结果 1. #include void SB(char ch) switch(ch) case A: case a: coutwell!;break; case B: case b: coutgood!;break; case C: case c: coutpass!;break; default: coutbad!;break; void main() char a1=b,a2=C,a3=f; SB(a1);SB(a2);SB(a3);SB(A); coutendl; 运行结果: 2.

6、#include #include double SD(int a, int b, char op) double x; switch(op) case +: x=double(a)+b;break; case -: x=double(a)-b;break; case *: x=double(a)*b;break; case /: if(b) x=double(a)/b; else exit(1); break; default: exit(1); return x; void main() int x=20,y=12; coutSD(x,y,-) ; coutSD(x,y,*) ; cout

7、SD(x+y,y-2,/)endl; 运行结果: 3. #include void main() int s=0; for(int i=1;i6;i+) s+=i*i; couts=sendl; 运行结果: 4. #include void main() int s=0; for(int i=1;i+) if(s50) break; if(i%3=0) s+=i; couti,s=i,sendl; 运行结果: 5. #include void main() int s1=0, s2=0; for(int i=0;i10;i+) if(i%2) s1+=i; else s2+=i; couts1

8、 s2endl; 运行结果: 6. #include void main() int n=10,y=1; while(n-) y+;+y; couty*y=y*yendl; 运行结果:三、写出下列每个函数的功能 1. #include int SA(int a, int b) if(ab) return 1; else if(a=b) return 0; else return -1; 函数功能: 2. int SC(int a, int b, int c) if(a=b & a=c) return a; if(b=a & b=c) return b; if(c=a & c=b) return

9、 c; 函数功能: 3. int SE(int n) /n为大于等于1的整数 int x; cinx; if(n=1) return x; int m=x; while(-n) cinx; m+=x; return m; 函数功能: 4. double SF(double x, int n) /n为大于等于0的整数 double p=1,s=1; for(int i=1;i=n;i+) p*=x; s+=p/(i+1); return s; 函数功能: 5. #include bool SG(int x) /x为大于等于2的整数 int a=int(sqrt(x); /取x的平方根 int i

10、=2; while(i=a) if(x%i=0) break; i+; if(ix; while(x!=-100) n+; y+=x; cinx; if(n=0) return y; else return y/n; 函数功能:第二次作业练习一、填空题 1假定一个一维数组的定义为“char* a5;”,则该数组所含元素的个数为_,所占存储空间的字节数为_。 2. 假定一个二维数组的定义为“int a46;”,则该数组所含元素的个数为_,所占存储空间的字节数为_。 3. 假定一个二维数组的定义为“char a88;”,则该数组所含元素的个数为_,所占存储空间的字节数为_。 4. 执行“typed

11、ef float ABC10;”语句把ABC定义为具有10个单精度元素的_。 5. 在函数外定义的变量称为_变量,若没有被初始化则系统隐含对它赋初值_。 6函数中的形参变量的初值由_该函数时获得。 7函数调用时,实参向形参的传送分为_和_两种传送方式。 8变量分为全局和局部两种,_变量没有赋初值时,其值是不确定的。二、给出下列程序运行后的输出结果 1. #include void main() int a10=12,39,26,41,55,63,72,40,83,95; int i0=0, i1=0, i2=0; for(int i=0;i10;i+) switch(ai%3) case 0:

12、 i0+; break; case 1: i1+; break; case 2: i2+; couti0 i1 i2endl; 运行结果: 2. #include #include void main() char* a5=student,worker,cadre,apple,peasant; char *p1, *p2; p1=p2=a0; for(int i=0;i0) p1=ai; if(strcmp(ai, p2)0) p2=ai; coutp1 p2endl; 运行结果: 3. #include void main() int a8=36,73,48,14,55,40,32,66;

13、int b1, b2; b1=b2=a0; for(int i=1;ib1) if(b1b2) b2=b1; b1=ai; coutb1 b2endl; 运行结果: 4. #include void main() char a=aabcdaabacabfgacd; int i1=0, i2=0, i=0; while(ai) if(ai=a) i1+; if(ai=b) i2+; i+; couti1 i2endl; 运行结果: 5. #include void main() char a=abcdabcabdaeaf; int b5=0, i=0; while(ai) switch(ai)

14、case a: b0+;break; case b: b1+;break; case c: b2+;break; case d: b3+;break; default: b4+; i+; for(i=0;i5;i+) coutbi ; coutendl; 运行结果: 6. #include void main() int a10=76,83,54,62,40,75,80,92,77,84; int b4=60,70,90,101; int c4=0; for(int i=0;i=bj) j+; cj+; for(i=0;i4;i+) coutci ; coutendl; 运行结果: 7. #i

15、nclude void main() int a34=1,2,7,8,5,6,11,12,24,10,3,4; int m=a00; int ii=0, jj=0; for(int i=0;i3;i+) for(int j=0;jm) m=aij; ii=i; jj=j; coutii jj aiijjendl; 运行结果: 8. #include void main() int a=10, b=20; couta bendl; a*=4; int b=a+35; couta bendl; couta bendl; 运行结果:三、写出下列每个函数的功能 1. int WC(int a, int

16、 n, int k) int c=0; for(int i=0;i=k) c+; return c; 函数功能: 2. #include void WA(int a, int n) for(int i=0;in-1;i+) int k=i; for(int j=i+1;jn;j+) if(ajak) k=j; int x=ai; ai=ak; ak=x; 函数功能: 3. #include template int WG(TT a, TT b) if(ab) return 1; else if(a=b) return 0; else return -1; 函数功能: 4. #include t

17、emplate Type WD(Type a, int n) Type m=a0; for(int i=0;im) m=ai; return m; 函数功能: 5. template void WE(Type a, Type b, int n) for(int i=0;in;i+) bi=ai*2; 函数功能:第三次作业练习一、填空题 1假定p所指对象的值为28,p+1所指对象的值为62,则*p+的值为_。 2假定p所指对象的值为28,p+1所指对象的值为62,则*+p的值为_。 3. 假定p所指对象的值为25,p+1所指对象的值为50,则执行“(*p)+;”语句后,p所指对象的值为_。 4假

18、定p所指对象的值为25,p+1所指对象的值为50,则执行“*(p+);”语句后,p所指对象的值为_。 5假定a是一个指针数组,则a+i所指对象的地址比a地址大_字节。 6. 假定a是一个一维数组,则ai的指针访问方式为_。 7. 假定a是一个二维数组,则aij的指针访问方式为_。 8. 假定a是一个一维数组,则ai对应的存储地址(以字节为单位)为_。 9. 假定一个二维数组为aMN,则aij对应的存储地址(以字节为单位)为_。 10. 假定一个二维数组为aMN,则ai的地址值(以字节为单位)为_。 11. 假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大_字节

19、。 12. 假定a为一个字符数组名,则元素a8的字节地址为_。 13. 假定a为一个整型数组名,则元素a4的字节地址为_。 14假定一个结构类型的定义为 “struct Aint a,b; short c; A* d;”,则该类型的大小为_字节。 15假定一个结构类型的定义为 “struct Bint a8; char* b;”,则该类型的大小为_字节。 16. 假定一个结构类型的定义为 “struct Dint a; union int b; double c;D* d3;”,则该类型的大小为_字节。 17. 假定要动态分配一个类型为Worker的具有n个元素的数组,并由r指向这个动态数组,

20、则使用的语句为_。 18. 假定要访问一个结构x中的由a指针成员所指向的对象,则表示方法为_。 19. 假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为_。二、给出下列程序运行后的输出结果 1. #include void main() int a8=7,9,11,13,3,8,15,17; int *p=a; for(int i=0;i8;i+) coutsetw(5)*p+; if(i+1)%4=0) coutendl; 运行结果: 2. #include void main() int a5=3,6,15,7,20; int *p=a; for(int i=0;i5

21、;i+) coutsetw(5)*p+; coutendl; for(i=0;i5;i+) coutsetw(5)*-p; coutendl; 运行结果: 3. #include void main() int a8=4,8,12,16,20,24,28,32; int *p=a; do cout*p ; p+=3; while(pa+8); coutendl; 运行结果: 4. #include void main() int x=20,y=40,*p; p=&x; cout*p ; *p=x+10; p=&y; cout*pendl; *p=y+20; coutx yendl; 运行结果:

22、 5. #include int LA(int *a, int n) int s=0; for(int i=0;in;i+) s+=ai; return s; void main() int a=5,10,15,20,25,30; int b=LA(a,5); int c=LA(a+3,2); coutb c b+2*cendl; 运行结果: 6. #include void LC(int a, int b) int x=a; a=b; b=x; couta bendl; void main() int x=15, y=36; LC(x,y); coutx yendl; 运行结果: 7. #i

23、nclude void LF(int& x, int y) x=x+y; y=x+y; coutx=x, y=yendl; void main() int x=5, y=8; coutx=x, y=yendl; LF(x,y); coutx=x, y=yendl; 运行结果: 8.#include void LG(int*& a, int& m) a=new intm; int* p=a; for(int i=0;im;i+) *p+=2*i+1; void main() int *p,n=5; LG(p,n); for(int i=0;in;i+) coutpi ; coutendl; de

24、letep; 运行结果: 9.#include void LH(int* a, int n) int* p=a+n-1; while(ap) int x=*a; *a=*p; *p=x; a+;p-; void main() int* d=new int5; int i; for(i=0;i5;i+) di=2*i+3; coutsetw(5)di ; coutendl; LH(d,5); for(i=0;i5;i+) coutsetw(5)di ; coutendl; deleted; 运行结果: 10. #include struct Worker char name15; /姓名 int

25、 age; /年龄 float pay; /工资 ; void main() Worker x=weirong,55,640; Worker y, *p; y=x; p=&x; couty.name y.age y.payendl; coutname age+5 pay-10endl; 运行结果: 11. #include #include struct Worker char name15; /姓名 int age; /年龄 float pay; /工资 ; void main() Worker x; char *t=liouting; int d=46; float f=725; strc

26、py(x.name,t); x.age=d; x.pay=f; coutx.name x.age x.payendl; 运行结果:三、写出下列每个函数的功能 1. #include void LI(int n) int* a=new intn, *p=a+n; for(int i=0;iai; for(i=n-1;i=0;i-) cout*(-p) ; coutn; delete a; 函数功能: 2. #include void LK(int a, int n, int*& b, int& m) float s=0; int i; for(i=0;in;i+) s+=ai; s/=n; m=0; for(i=0;i=s) m+; b=new intm; int* p=b; for(i=0;i=s) *p+=ai; 函数功能: 3. /

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 绩效管理


经营许可证编号:宁ICP备18001539号-1