收藏 分享(赏)

C++面向对象程序设计_教程.doc

上传人:暖洋洋 文档编号:1607519 上传时间:2018-08-10 格式:DOC 页数:106 大小:601.50KB
下载 相关 举报
C++面向对象程序设计_教程.doc_第1页
第1页 / 共106页
C++面向对象程序设计_教程.doc_第2页
第2页 / 共106页
C++面向对象程序设计_教程.doc_第3页
第3页 / 共106页
C++面向对象程序设计_教程.doc_第4页
第4页 / 共106页
C++面向对象程序设计_教程.doc_第5页
第5页 / 共106页
点击查看更多>>
资源描述

1、C+ 面向对象程序设计 函授自学指导书1C+面向对象程序设计自学指导书浙江师范大学 信息科学与工程学院朱建新 编C+ 面向对象程序设计 函授自学指导书2目 录第一章 C+语言概述 1【学习要点】 1【例题分析】 1【思考题】 2第二章 基本数据类型 运算符及表达式 .3【学习要点】 3【例题分析】 3【思考题】 5第三章 控制结构 .6【学习要点】 6【例题分析】 6【思考题】 15第四章 数组 .19【学习要点】 19【例题分析】 19【思考题】 22第五章 函数与编译预处理 .32【学习要点】 32【例题分析】 32【思考题】 40第六章 指针 .50【学习要点】 50【例题分析】 50【

2、思考题】 59第七章 结构体与共用体 .61【学习要点】 61【例题分析】 61【思考题】 68第八章 类与对象 .72【学习要点】 72【例题分析】 72【思考题】 79第九章 继承与派生类 .82【学习要点】 82【例题分析】 83【思考题】 87第十章 运算符重载与虚函数 .92【学习要点】 92【例题分析】 92【思考题】 102第十一章 文件与流类库 .104【学习要点】 104C+ 面向对象程序设计 函授自学指导书3【例题分析】 104【思考题】 109C+ 面向对象程序设计 函授自学指导书4第一章 C+语言概述本章主要介绍 C十的起源、发展历史及其特点; C十程序的基本结构;Vi

3、sual C6.0 集成开发环境及上机操作过程。【学习要点】1. 了解 C十语言的特点。2. 理解 C十语言源程序的结构、书写格式和 main()函数的作用。3. 熟悉 Visual C6.0 集成开发环境。熟练掌握利用 Visual C6.0 集成开发环境开发、调试 C十控制台程序的步骤和基本操作。【例题分析】一、选择题例 11 以下叙述中正确的是。A. C十程序由 main()函数组成B. C十程序由函数组成C. C十程序的执行从第一个函数开始D. 在 C十程序中,注释只能位于一条语句之后解:对于 C程序应明确:(l)程序由函数组成。一个可运行的 C十源程序可由一个且仅能由一个 main(

4、)函数加上其他的函数组成,其他函数可有可无。(2)不管 main()函数出现在什么位置,程序总是从 main()函数开始执行。(3)注释的两种方法:一是用*和*把注释信息括起来;二是用/,它表示/之后到本行结束为注释内容。可以在程序任何位置进行注释。正确答案:B。二、填空题例 12 在下列程序的每行之后加上注释。#include “iostream.h“void main()cout“Hello!n“;cout“Welcome to C+!n“;解:注释如下:include “iostream.h“ /指示编译器在此处将文件 iostream.h 上中的代码嵌入本程序。void main()

5、/主函数,void 表示 main()函数没有返回值。cout“Hello!n“ ;/输出字符串“Hello!”到显示器上。cout“Welcome to C!n“;/输出字符串“Welcome to C!n”。C+ 面向对象程序设计 函授自学指导书5例 1-3 C十中函数的函数体由符号开始,用符号结束。解:C十中函数的函数体由符号 “”开始,用符号“”结束。三、 编程题例 1-4 编写一个程序,运行时提示输入一个数字 ,再把这个数字显示出来。解: 程序如下:#include “iostream.h“void main( )int i;couti;coutvoid main() double

6、C,F;coutF;C=(5.0/9)*(F-32);couta1c1a2c2;A20A 60B B20,A,60,B C 20 A 60 BD20A60B E20B注:此处为空格符,CR为回车键符,下文同。解:C十语言没有专门的输入输出语句,其输入输出可通过输入输出流来实现。cin 不能将输入的空格赋给字符型变量,空格和回车键均作为输入字符之间的分隔符;字符型变量只能容纳一个字符,整型数只能由数字组成;逗号不能作为分隔符。正确答案:A、C、D、E。例 32 设有语句 float PI= 3.14;,若用科学表示法输出为 3.140000e000则下列正确的表达式为_AcoutPIendl;B

7、cout.setf (ios: scientific ,ios:floatfield);cout PI“n“;Cprintf(“12.10fn“,PI);Dprintf(“en“,PI);解:C十语言除用输出流输出数据外,还可用 C 语言的输入输出函数,但需包含 stdio.h,其输出格式与 C十输出流格式不同:C十中可用预定义的格式控制函数定义输出格式,也可以用 ios 类的成员函数进行格式控制。若学用科学表示法输出数据,必须用 ios 类成员函数 setf 设置状态标志。printf 函数必须用 e 格式符才可以输出科学表示法形式的数据。正确答案:B、D。二、填空题例 3-3 以下程序的输

8、出结果为 _includeiostream.hvoid main()short i;i=-6;coutoct oct i“dec“ deci“,hex“hexiendl:解:i 为 short 类型,占用 2 字节内存,而 oct、dec、hex 是 C十中预定义的格C+ 面向对象程序设计 函授自学指导书10式控制函数控制输入输出数据的格式。答案为 oct177772, dec=-6 , hex= fffa。例 3-4 以下程序的输出结果为includeiostream.hvoid main()int i66;char c=A;coutvoid main()int i=0,x=0,y=0;do

9、 i+;if(i%3!=0) x+=i;i+; y+=i+; while(ivoid main()int x, y=10;while(x=y-l) y-=2;if(y%3=0) x+; continue;else if(yvoid main() int i,j,m;for(i=1;ivoid main() int i,j,m;for(i= l;ivoid main()int i=2, n;coutn;coutvoid main()float x,y;coutx ;if(x= l coutvoid main()float x,y;coutx;if(xC+ 面向对象程序设计 函授自学指导书13#i

10、nc1udevoid main()int year,month,days;coutyear;coutmonth;switch(month)case 1:case 3:case 5:case 7:case 8:case 10:case l2:days=3 1;break;case 4:case 6:case 9:case 11:days=30;break;case 2: if(year%4=0else days=28; break;default:coutl 时,第 i 项为(ab)a。程序如下:(l)用 while 语句实现。#includevoid main() float sum,t,a,

11、b;int i;a=2;b= l;i= 2 ) t=a/b; sum=t;while(ivoid main() float sum,t,a,b;int i,a=b= 1.0, sum=0.0;for(i= 1;ivoid main() float sum,t,a,b;int i=l,a=b=1.0;sum=0;do a=a+b; /求第 i 项的分子b=a-b; /求第 i 项的分母t=a/b; /求第 i 项的值sum+=t; /求第 i 项的和 while(+ivoid main()int i=1,n;float resuIt=1.0;coutn;if(n) while(ivoid mai

12、n()float sum=0.0, s=1 .0;for(int i=l;i#include void main()char ch;int i=0;while (ch=getchar() ) ! =n ) if(ch!=Ccontinue;coutvoid main()float score;max;min;sum=0.0;int num=0;coutscore;max=min= score;whi1e(score=0) if(scoremax) max=score;if(scorescore;if(num) coutvoid main()char ch;int quit=0;do coutc

13、h;switch(ch) case a:coutvoid main()char op;char quit=y;float dl;d2;while(quit= =y| quit= =Y) coutd1opd2;switch(op) case +: coutquit;【思考题】一. 选择题1以下程序的输出结果是_#includevoid main()int w=4,x=3,y=2,z= 1,result;result=w1)A. if (x0) y=1;C+ 面向对象程序设计 函授自学指导书18e1se y=0;C. y=0; D. if(x=0)if(x=0) if(x0) y=l;if(x0)

14、 y=1; else y=0;else y=-l; e1se y=-1;4.设有说明语句 int a=1,b=0;则执行以下语句后输出为_switch(a)case l:switch(b)case 0:coutvoid main() int n,sum=0;n=2345;do sum=sum+_1_;n=_2_; while(n);coutvoid main() int i,s,k,count=0,for(i=l00;ivoid main() int temp,num,den,a,b;cinab,num=a; den=b,while(den) temp=_;num=den;den=temp;c

15、outvoid main()const int magic= l7;int guess;coutguess;if(guess= =magic)coutmagic) couts2) B. if(strcmp(s1,s2)C. if (strcmp(sl, s2)0) D. s1s2解:两个字符串比较必须使用字符串比较函数 strcmP(字符串 1,字符串 2)。比较的结果:相等时返回以 0;大于时返回正整数;小于时返回负整数。正确答案:C。二、填空题例 46 若有定义 int a34= 1,2,0,4,6,8,l0 ),,则初始化后 a12得到的初值是,对21得到的初值是。解:在定义的同时对数组

16、元素进行初始化,可以对所有元素赋初值,也可只对部分元素赋初值;其余元素为 0。根据数组中元素排列的顺序以行为单位进行存放,定义式右边的数据是以作为行元素进行组织的。故 al2得到的初值是0,a21得到的初值是 6。例 47 语句 coutc, 则 c 在 mid 的左侧,令新的 bot=mid-1,转(5)。(4) 若 amidlbot, 则表明要查找的数据 c 不在数组 a 中。程序如下:#include “iostream.h“#include“ string.h“void main()char a =“ adfgikmnprs“,c;int top,bot,mid;coutc;for(t

17、op=0;bot=strlen(a) -1;topamid) top=mid+1;else bot=mid-1;if(topbot) couts;for (i=j=0;s i !=0;i+)if(si !=c)_s j =0;cout=0while(c !=#) if(isupper (c) num _ + +;_for(i=0; i=0;_ )if(i+j)=N-1) s2+=_;coutsetw(3 )s1setw(3 )s2;cout n;29以下程序的输出结果是。#include “iostream.h“#include “iomanip.h“#define N 3void main(

18、)int arrNN= 100,200,300,28,72,-30,-850 ;int i,j,row,col,m;C+ 面向对象程序设计 函授自学指导书30m=arr0 0;for(i=0;iN;i+)for(j=0;jN;j+)if(arrijm) m=arrij;row=i;col=j; coutsetw (3 )msetw (3) rowsetw(3 ) col;coutn;30以下程序实现在 N 行 M 列的二维数组中,找出每一行上的最大值。请填空。#include “iostream.h“#define N 3#define M 4void main()int xN M= 1,5,

19、7,4,2,6,4,3,8,2,3, 1 ;int i,j,colum;for(i=0;iN;i+) colum=_;for(i= 1;jM;j+)if(xicolumxij)_;cout“The max value in line “i“ is “ n;31 以下程序实现在 NN 方阵中找出主、次对角线上的最大值;请填空。#include “iostream.h“#define N 3void main()int xNN= 1,5,7,4,2,6,4,3,8 ;int i,j,row=0,col=0;for(i=0;iN;i+) if(xrow colxi i) row=i;_; j=N- (i+l );if(xrowcolxij) row=i;_;cout“The max value is x“row“ “col“=“ n,32 以下程序的输出结果是。#include “iostream.h“void main()char s =“ 12134211“;int v1=0,v2=0,v3=0,v4=0,k;for(k=0;sk;k+)switch(s k ) default: v4+;case l : v1+;case 3 : v3+;

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

当前位置:首页 > 高等教育 > 专业基础教材

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报