




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 教育部人才培养模式 改革和开放教育试点 c+语言程序设计形成性考核册学校名称: 学生姓名: 学生学号: 班 级: 中央广播电视大学出版社姓 名: 学 号: 得 分: 教师签名: c+语言程序设计作业1一、填空题1c+语言中的每条基本语句以_;_作为结束符,每条复合语句以_作为结束符。2用于输出表达式值的标准输出流对象是_cout_,用于从键盘上为变量输入值的标准输入流对象是_cin_。3当不需要函数返回任何值时,则应把该函数类型定义为_void_。4执行”cout143+18=143+18endl;”语句后得到的输出结果为_143+18=161_。5执行”cout“nign”“chen”38
2、endl;”语句后得到的输出结果为_nignchen38_。6在每个c+程序中都必须包含有这样一个函数,该函数的函数名为_main_。7c+源程序文件的缺省扩展名为_.cpp_, 由c+源程序文件编译而成的目标文件的缺省扩展名为_.obj_,由c+目标文件连接而成的可执行文件的缺省扩展名为_.exe_。8程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用_空格_或_回车_符号作为分隔符。 9十进制数25表示成符合c+语言规则的八进制和十六进制数分别为_031_ 和_ox19_。10在c+语言中,用转义字符序列_n_或操纵符_endl_表示输出一个换行符。11执行”coutchar(b+
3、2)endl;”语句后得到的输出结果为_d_。12执行”coutchar(k-3)endl; “语句后得到的输出结果为_h_。13 已知az的ascll码为6590,当执行”int x=h+5;”语句后x的值为_77_。14已知az的ascll码为6590,当执行”char ch=16*5+2; coutchendl;”语句序列后,得到的输出结果为_r_。15假定一个枚举类型的定义为”enum raxa,xb,xc,xd;”,则执行”cout“xc=”xcendl;”语句得到的输出结果为_xc=2_。16假定一个枚举类型的定义为”enum rbab,ac=3,ad,ae x=ad;”,则x的值
4、为_4_。17char、short和int类型的大小分别为_1b_、_2b_和_4b_。18float和double类型的大小分别为_4b_和_8b_。19十进制数128和-3.26的类型分别为_int_和_flaot_。20若需要定义一个标识符常量,并且使c+能够进行类型检查,则应在定义语句的开始使用保留字_#define_。21使用const语句定义一个标识符常量时,则必须对它同时进行_初始化_。22执行”int x=45,y=16;coutx/y x%yz的相反表达式为_x+y!z或_x+y5&x10的相反表达式为_x=10_。34逻辑表达式ab| b=5的相反表达式为_a=b &b!=
5、5_。35若x=15,y=40,则 xy 和 x=y的逻辑值分别为_0_和_1_。36假定x=5,则执行”a=(x? 10: 4*2);”语句后a的值为_10_。37假定a=5,则条件表达式”a=0 ? 10:20”的值为_20_。38;执行”typedef int datatype;”语句后,在使用int定义整型变量的地方都可以使用 datatype 来定义整型变量。39设x和y均为bool量,则x&y为真的条件是_xture,yture_。40设x和y均为bool量,则x| y为假的条件是_xfalse,yfalse_。二、写出下列程序运行后的输出结果 1# include void sb
6、(char ch) switch(ch) case a:case a: cout“well!”;break; case b: case b: cout“good!” ; break; case c:case c: cout“pass!”;break; default: cout“bad!”;break; good!pass!bad!well! void main() char a1=b,a2=c,a3=f; sb(a1);sb(a2);sb(a3);sb(a); coutendl; 2#include #include double sd (int a,int b,char op) doubl
7、e x; switch(op) case +: x=double(a)+b; break; case -: x=double(a)-b; break; 8 240 3.2 case *: x=doubel(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,*) ; coutsd(x+y,y-2,/)endl; 3#include void main() in
8、t s=0; for(int i=l; i6;i+) s+=i*i; cout“s=”sendl; s=55 4# include void main() int s=0; for(int i=1;i+) if(s50)break; if(i%3=0)s+=i; cout“i,s=”i“,”sendl; i,s=19,63 5# include void main() int s1=0,s2=0; for(int i=0; i10;i+) if(i%2) s1+=i; else s2+=i; couts1 s2endl; 25 20 6# include void main() int n=1
9、0,y=1; while(n-) y+; +y; cout“y*y=”y*yendl; y*y=441 三、写出下列每个函数的功能 1# include int sa(int a,int b) if(ab) return 1; else if(a=b) return 0; 返回值 1 ab else return -1; 0 a=b -1 a=b&a=c) return a; if(b=a&b=c) return b; if(c=a&c=b) return c; 返回值int a,b,c中最大值 3. int se(int n) /n为大于等于1的整数 int x; cinx; if(n=1)
10、 return x; int m=x; 输入x当n=1返回地址x while(-n) 否则求输入x值之和放到m中并 cinx; m+=x; 返回m处 return m ; 4 double sf(double x,ini n) /n为大于等于0的整数 double p=1,s=1; for(int i=1;i=n;i+) p*=x; s+=p/(i+1); return s; s=1+x/2+x*x/2+x*x*x/3+xn/n+1 5 # include bool sg(int x) /x为大于等于2的整数 int a=int(sqrt(x);/取x的平方根 int i=2; while(i
11、=a) if(x%i=0)break; 判断x是否为质数是返回1,否返回0 i+; if(ix; while(x!=-100) 输入n个实数计算它的平均值以-100作结束 n+; y+=x; cinx; if(n=0) return y; else return y/n; 姓 名: 学 号: 得 分: 教师签名: c+语言程序设计作业2 一、填空题1假定一个一维数组的定义为”char *a5;”,则该数组所含元素的个数为_5_ 所占存储空间的字节数为_5_.2假定一个二维数组的定义为”int a46;”,则该数组所含元素的个数为_24_, 所占存储空间的字节数为_96_ 。3假定一个二维数组的
12、定义为”char a88;”,则该数组所含元素的个数为_ 64_,所占存储空间的字节数为_64_。4. 执行”typdef float abc10;”语句把abc定义为具有10个单精度元素的_数组_。5. 在函数外定义的变量称为_全局_ _变量,若没有被初始化则系统隐含对它赋初值0_。6函数中的形参变量的初值由 调用函数调用 该函数时获得。7函数调用时,实参向形参的传送分为_传值_ 和_传址_两种传送方式。8. 变量分为全局和局部两种, 局部 _变量没有赋初值时,其值是不确定的。二、给出下列程序运行后的输出结果 1# include void main() int a10=12,39,26,4
13、1,55,63, 72,40,83,95; int i0=0,i1=0,i2=0; for(int i=0;i10; i+) switch (ai%3) case 0:i0+; break; case 1: i1+; break; case 2:i2+; coutio il i2endl; 4 2 4 2 . # include # include void main( ) char a5= “student”,”worker”,”cadre”,”apple”,”peasant” ; char *pl,*p2; pl=p2=a0; for(int i=0;i0) pl=ai; if(strcm
14、p(ai,p2)0) p2=ai; coutpl p2endl; work apple 3 . # include void main( ) int a8=36,73,48,14,55,40,32,66; int bl,b2; bl=b2=a0; for(int i=l; ibl ) if(blb2) b2=bl ; bl=ai ; coutbl b2endl; 73 36 4 . # include void main( ) char a=“aabcdaabacabfgacd”; int il=0,i2=0,i=0; while (ai) if(ai=a) il+ ; if(ai=b) i2
15、+ ; i+; 7 3 couti1 i2endl; 5 . # include void nain( ) char a=“abcdabcabdaeaf”; int b5=0 , i=0; while(ai) switch(ai) case a: b0+; break; case b: bl+; break; case c: b2+; break; case d: b3+; break; default: b4+; i+; for(i=0;i5;i+) coutbi coutendl ; 5 3 2 2 2 6. # include void main() int a10=76,83,54,6
16、2,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; 2 2 0 1 7. # include 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; 2 0 248 . #
17、includevoid main() int a=10,b=20; coutabendl; a*=4 int b=a+35; coutabendl; 10 20 40 75coutabendl; 40 75三、写出下列每个函数的功能 1int wc(int a,int n,int k) int c=0; for(int i=0;i=k)c+; 统计数值a中元素大于等于k的个数 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+) 对数组a中n个元素从大到小排序
18、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; 用函数模板比较a和b的大小 4# include template type wd(type a,int n) type m=a0; for(int i=0; im) m=ai; 用函数模板对数组中n个元素取最大值return m; 5templatee void we(type a,type b,int n) for(int i=0;in
19、;i+) bi=ai* 2; 用函数模板把数组a中n个元素x2,再逐一传到b数组中 姓 名: 学 号: 得 分: 教师签名: c+语言程序设计作业3一、填空题1假定p所指对象的值为28,p+1所指对象的值为62,则*p+的值为_28_。2假定p所指对象的值为28,p+l所指对象的值为62,则*+p的值为_62_。3假定p所指对象值为25,p+l所指对象的值为50,则执行”(*p)+;”语句后,p所指对象的值为_25_。4假定p所指对象的值为25,p+1所指对象的值为50,则执行” *(p+);”语句后,p所指对象的值为_50_。5假定a是一个指针数组,则a+i所指对象的地址比a地址大_i*si
20、zeof(a0)_ 字节。6假定a是一个一维数组,则ai的指针访问方式为_*(a+i)_ _。7假定a是一个二维数组,则aij的指针访问方式为_*(ai+j)_。8假定a是一个一维数组,则ai对应的存储地址(以字节为单位)为 &a0+i*sizeof(a00)_。9假定一个二维数组为amn,则aij对应的存储地址(以字节为单位)为_&a+(i*4j)*sizeof(a00)。10假定一个二维数组为amn,则ai的地址值(以字节为单位)为&a00+(i*aj)*sizeof(a00)。11假定p是一个指向float型数据的指针,则p+l所指数据的地址比p所指数据的地址大4_字节。12假定a为一个
21、字符数组名,则元素a8的字节地址为_&a+8_。13假定a为一个整型数组名,则元素a4的字节地址为_&a+16_。14假定一个结构类型的定义为”struct a int a,b;short c; a * d;”,则该类型的大小为10_字节。(a * d含义:允许用a的指针类型。指针占4字节)15假定一个结构类型的定义为”struct b int a8;char *b;”,则该类型的大小为36节。16假定一个结构类型的定义为”struct d int a ; union int b;double c; d*d3;” 则该类型的大小为_12 _字节。17假定要动态分配一个类型为worker的具有n
22、个元素的数组,并由r指向这个动态数组,则使用的语句为_worker*r=new(workern_。18假定要访问一个结构x中的由a指针成员所指向的对象,则表示方法为_&a 对象。19假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为 _ p b 对象。 二、给出下列程序运行后的输出结果 1# include void main() int a8=7,9,ll,13,3,8,15,17; int *p=a ; for(int i=0; i8;i+) coutsetw(5)*p+; if(i+1)4=0)coutendl; 7 9 11 13 3 8 15 17 2# inel
23、ude void main() int a5=3,6,15,7,20; int *p=a; for(int i=0;i5;i+) coutsetw(5)*p+; coutendl; for(i=0;i5;i+) coutsetw(5)*-p;coutendl; 3 6 15 7 20 20 7 15 6 3 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 28 4# include void main() int x=20,y=40,
24、*p ; p=&x; cout*p; *p=x+10; p=y; cout*pendl;*p=y+20; coutxyendl; 20 40 30 60 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); coutbcb+2*cendl ; 75 45 165 6# include void lc(int a,int b) int x=a; a=b;b
25、=x;coutabendl; void main() int x=15,y=36;lc(x,y);coutxyendl; 36 15 15 36 7# include void lf(int x,int y) x=x+y ; y=x+y;cout“x=“x“,y=“yendl; void main() int x=5,y=8; cout “x= “ x“,y= “y endl; x=5 y=8 lf(x,y) ; x=13 y=21 cout “x=“x“,y=“yendl; x=13 y=21 8 . # include void lg(int * & a,int & m) a= new i
26、ntm ; int * p=a; for(int i=0; im; i+) *p+=2*i+l; void main( ) int *p,h=5; lg(p, n) ; for(int i=0; in; i+) cout pi ; coutendl; “ delete p ; 1 3 5 7 9 9 . # include void lh(int *a,int n) int * p=a+n-l; 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
27、*i+3; coutsetw(5)di ; cout endl ; lh(d,5); for(i=0; i5; i+) coutsetw(5)di ; coutendl; 3 5 7 9 11 delete d; 11 9 7 5 3 1o . # include struct worker char name15 ; int age; float pay; ; void main( ) worker x= “weirong, 55 , 640 ; weirong 55 640 worker y, *p; weirong 60 630 y=x; p=&x; y.age y
28、.payendl; coutname age+5 pay-10endl; 11 . # include # include struct worker char name 15 ; int age; float pay; ; void main( ) worker x; char *t=“liouting”; int d=46; float f=725; strcpy(, t) ; liouting 46 725 x.age=d; x.pay=f; x.age“ x. payendl; 三、写出下列每个函数的功能l . # include void li(in
29、t n) int *a=new intn, *p=a+n; for (int i=o; iai; for (i=n-l; i=0; i-) cout*(-p) ; coutn; 申请n个空间输入n个字符并反序输出显示 deletea; 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=o; for(i=0; i=s) m+ ; b= new intm ; int *p=b; for(i=0; i=s) *p+=ai;将a数组中大于等
30、于平均值的原数取出存入另一数组中 3. /struct worker / char name15 ; / int age; / floa pay; / ; istream & operator( istream & istr , worker & x) cout“请输入一个职工记录:姓名、年龄、工资”x.agex.pay; returm istr; 运算符重载可同时输入结构对象worker中姓名,年龄,工资的记录 4 . /struct strnode / char name15 ; / strnode *next; /; void qb(strnode * & f, int n)
31、 if(n=0) f=null; returm; f= new strnode; cinf-name; strnode *p=f; while(-n) p=p-next=new strnode; cinp-name; p-next=null; 完成一个结构体为strnode的链表,链表个数为n个 5 . /struct strnode char name15; strnode * next; ; void qc(strnode *f) while(f) coutnamenext; 建立链表f,并输出链表中每个结点的name数据成员。 ( 或输出结构体链表strnode中的内容)姓 名: 学 号
32、: 得 分: 教师签名: c+语言程序设计作业4一、填空题1 在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类的_构造函数_使其初始化。2当个类对象被撤消时将自动调用该类的_析构函数_。3对基类数据成员的初始化是通过执行派生类构造函数中的_构造函数_来实现的。4对一个类中的数据成员的初始化可以通过构造函数中的_赋值_实现,也可以通过构造函数中的_初始化表_实现。5. 在一个派生类中,对基类成员、类对象成员和非类对象成员的初始化次序是先_基类对象_, 后 数对象成员_,最后为_非类成员_。6当撤消一个含有基类和类对象成员的派生类对象时,将首先完成_派生类对象_的析构函数定义体的
33、执行,接着完成_类对象_的析构函数定义体的执行,最后完成_基类_的析构函数定义体的执行。7设px是指向一个类动态对象的指针变量,则执行” delete px;”语句时,将自动调用该类的_析构函数_。8当一个类对象离开它的作用域时,系统将自动调用该类的_析构函数_。9假定一个类对象数组为an,当离开它的作用域时,系统自动调用该类析构函数的次数为_ n_。10假定ab为一个类,则执行” ab a10;”语句时,系统自动调用该类构造函数的次数为10_。11假定用户没有给一个名为ab的类定义构造函数,则系统为其隐含定义的构造函数为 无参构造函数_。12假定用户没有给一个名为ab的类定义析构函数,则系统
34、为其隐含定义的析构函数为_空析构函数_。13若需要把一个函数” void f();” 定义为一个类ab的友元函数,则应在类ab的定义中加入一条语句:_friend classf( )_。14若需要把一个类ab定义为一个类cd的友元类,则应在类cd的定义中加入一条语句:_ friend classab。15假定一个类ab中有一个静态整型成员bb,在类外为它进行定义并初始化为0时,所使用的语句为_ab:bb=0_。16假定类ab中有一个公用属性的静态数据成员bb,在类外不通过对象名访问该成员bb的写法为_this bb_。17当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为_n-1_。18假定ab为一个类;则该类的拷贝构造函数的声明语句为_ab(ab&对象)_。19对类对象成员的初始化是通过执行构造函数中的_赋值语句_完成的。20对于类中定义的成员;其隐含访问权限为_私有_,对于结构中定义的成员,其隐含访问权限为_共有_。21一个类的友元函数或友元类能够通过成员
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 职业发展路径中的技能迁移与转化研究考核试卷
- 2024年西藏白朗县卫生高级职称(卫生管理)考试题含答案
- 救灾物资管理办法
- 投产预算管理办法
- 拉伸标样管理办法
- 房屋测量管理办法
- 异地出差管理办法
- 2024年山东省沂水县急诊医学(副高)考试题含答案
- 施工投资管理办法
- 打工底薪管理办法
- 2014年欧洲儿童急性胃肠炎诊治指南
- 销售管培生培养方案
- YS/T 617.1-2007铝、镁及其合金粉理化性能测定方法 第1部分:活性铝、活性镁、活性铝镁量的测定 气体容量法
- GB/T 1972-2005碟形弹簧
- 2023年大学英语四级考试高频词汇1500打印版
- 送达地址确认书(诉讼类范本)
- 东北地区玉米施肥现状、问题与对策
- 检测机构员工手册模板
- 图文全文解读2022年发改委发布《电力可靠性管理办法(暂行)》PPT
- 科室医疗质量管理及质控培训
- 涟水县高沟中学学生成长导师制《导师工作手册》(共58页)
评论
0/150
提交评论