C++面向对象程序设计实验指导书(谭浩强)

合集下载

《面向对象程序设计》课程标准(精)

《面向对象程序设计》课程标准(精)

《面向对象程序设计》课程标准一、课程概述《面向对象程序设计》是信息类专业的重要专业课程。

当前面向对象方法已逐渐取代面向过程方法成为程序设计领域的主流技术,这是程序设计发展历史的一个里程碑。

本课程的教学目标是以C++语言为工具,向学生介绍面向对象程序设计语言与面向对象程序设计方法。

通过课堂教学、课外练习与上机实验相结合,使学生在程序设计方法、程序设计语言与程序设计工具三方面受到严格、系统的训练,培养学生更系统、更严密地分析问题和解决问题的思维能力,从而能熟练地利用计算机解决实际问题,为后续专业课程打下扎实的基础。

通过本课程的教学,应使学生牢固掌握C++语言基本数据类型、复合数据类型、基本控制结构、函数以及面向对象程序设计中类与对象、继承、多态性等基本概念;掌握类属机制、C++输入输出机制、程序断言、异常处理等高级机制;对面向对象程序构造方法、抽象数据类型、软件重用思想、其他程序设计风范、其他面向对象程序设计语言有所了解。

本课程的先修课程为《计算机导论》、《C语言》,后续课程有《数据结构与算法》、《软件工程》等。

二、课程目标1.知道《面向对象程序设计》这门学科的性质、地位、研究范围、学科进展和未来方向等。

对面向对象程序构造方法、抽象数据类型、软件重用思想、其他程序设计风范、其他面向对象程序设计语言有所了解。

2.理解该门学科的主要概念、基本原理和策略等。

3.掌握C++语言基本数据类型、复合数据类型、基本控制结构、函数以及面向对象程序设计中类与对象、继承、多态性等基本概念;掌握类属机制、C++输入输出机制、程序断言、异常处理等高级机制。

4.能够把所学的原理应用到具体的实践中去,能利用C++语言编写程序解决一些具体的问题,培养学生发现、分析和解决问题的能力等。

三、课程内容和教学要求这门学科的知识与技能要求分为知道、理解、掌握、学会四个层次。

这四个层次的一般涵义表述如下:知道——是指对这门学科和教学现象的认知。

谭浩强版C语言1

谭浩强版C语言1

写方式, 左边花括号处于第一条语句的开始位置, 右边花
括号独占一行, 与左边花括号对齐。 (4) 在程序中恰当地使用空行, 分隔程序中的语句块, 增加程序的可读性。
1.4 C程序的实现
1.4.1 实现步骤
C程序在计算机上的实现与其它高级语言程序的实现一 样, 一般要经过编辑、编译、连接、运行四个步骤,如图 1 - 1 所示。
/*程序 1 [CD*2] 1, 输出″this is a C program.″*/# include ″stdio.h″ main( ) {
printf(″ this is a C program.\n ″);
}
运行结果: this is a C program.
例1 – 2 求两个整数之和。 /*程序1 - 2, 求两个整数之和*/ #include ″stdio.h″ main( ) {int a, b; int sum; scanf(″%d, %d″, &a, &b); sum=a+b; printf(″sum=%d\n″, sum); } 输入数据: 1999, 1 运行结果: 和=2000
译程序为基础 , 出版了影响深远的名著《C 程序设计语 言》。 C++语言是C语言发展的新阶段, 是一种更好的C语 言, 是应用广泛的面向对象的程序设计语言。
3. C语言的标准与方言 各机构推出了自己的 C语言与版本, 某些执行过程 的微小差别不时引起C程序之间的不兼容。美国国家标 准协会(ANSI)从1983年开始, 经过长达五年的努力,
第 1章 C 语 言 基 础
教学目的:通过对C语言的发展与特点的介绍,激发学 生学习该课程的兴趣,了解课程在计算机学科中的地 位。 教学要求:了解C语言特点,理解C程序的特性,掌握C 语言的书写要求和方法,能够编写简单C程序,并且学 会上机运行c程序 教学内容:C语言特点,C程序的特性,简单C程序设 计,上机运行c程序。 教学重点:C程序的结构,C程序上机运行过程。 教学难点:C程序上机调试过程。 学法指导:多思考、对C语言中的基本概念进行复习。

C++面向对象程序设计_实验指导书

C++面向对象程序设计_实验指导书
八、实验报告
1.完成实验指导书《C++面向对象程序设计教程(第3版)——习题解答与上机指导》的实验1;
2.做好实验记录;
3.按照实验报告格式(附件1)要求填写实验内容,并提交实验报告。
九、其它说明
每次实验前,实验指导书都会预先发放,请提前预习实验,特别是实验涉及的原理。实验要求及时完成并上交实验报告,鼓励提前完成必做实验,并尽量多做实验题目。
【要求】:采用C++编程风格。
【运行结果截图】:
三、实验原理、方法和手段
1.重载函数:a)函数名称相同;b)函数的形参个数不同;函数的形参类型不同;或两者兼有;c)函数的返回值不构成判别标准。
2.了解“传址调用”与“传值调用”的区别;
3.“引用”不额外申请内存。
四、实验组织运行要求
本实验采用“以集中授课,学生自主训练为主的开放模式组织教学”。
putchar(c3);
}
【运行结果是】:
【分析运行结果】:
6.输入并运行下面的程序,分析格式控制对输出的影响。
#include<stdio.h>
void main()
{
int a=-1,b=98;
double x=152.6752445;
printf("a=%d,%ld,%u,%o,%x\n",a,a,a,a,a);
i=8;
j=10;
printf("%d,%d \n", i,j);
printf("%d,%d \n",i++,j--);
printf("%d,%d \n", i,j);
printf("%d,%d \n", ++ i,-- j);

参 考 文 献_C++面向对象程序设计教程_[共2页]

参 考 文 献_C++面向对象程序设计教程_[共2页]

参考文献
[1] 谭浩强.C++面向对象程序设计(第2版).北京:清华大学出版社,2014.
[2] Harvey M.Deitel,Paul James Deitel.C++大学教程(第2版).北京:电子工业出版社,2001.
[3] 袁晓洁,晏海华,马锐,等.全国计算机等级考试二级教程——C++语言程序设计(2016版).北京:高等教育出版社,2015.
[4] 江苏省高等学校计算机等级考试中心.二级考试试卷汇编(Visual C++语言分册).苏州:苏州大学出版社,2013.
[5] 吕凤翥,王树彬.C++语言程序设计教程(第2版).北京:人民邮电出版社,2013.
[6] Stanley B. Lippman, Josee Lajoie, Barbara E. Moo. C++ Primer中文版(第5版)[M].王刚,杨巨峰,译.北京:电子工业出版社,2013.
[7] Scott Meyers. Effective C++中文版(第三版)[M].侯捷,译.北京:电子工业出版社,2011.
[8] 庄益瑞,吴权威.C++全方位学习.北京:中国铁道出版社,2002.。

(完整)C语言 谭浩强学习笔记

(完整)C语言 谭浩强学习笔记

C语言谭浩强版笔记第一章程序设计和C语言1、计算机能直接识别和接受的二进制代码称为机器指令,机器指令的集合就是该计算机的机器语言。

2、语言的发展历史:①机器语言②符号语言③高级语言3、高级语言的发展:①非结构化语言②结构化语言③面向对象的语言4、C语言的祖先是BCPL语言5、在字符串中的//和/*都不作为注释的开始。

而是作为字符串的一部分。

【但是在vc++6.0中//显示编译错误】6、不要以为在max函数中求出最大值z后就会自动地作为函数值返回调用处,必须用return语句指定将哪个值作为函数值。

也不要不加分析地在所有函数后面都写上return 07、一个程序由一个或多个源程序文件组成8、全局声明:即在函数之外进行的数据声明,在函数外面声明的变量称为全局变量。

例如把int a,b,sum;放到main函数的前面9、函数是C程序的主要组成部分,编写C程序的工作主要就是编写一个个函数10、一个C语言程序是由一个或多个函数组成的,其中必须有且只有一个main函数11、一个小程序只包含一个源程序文件,在一个源程序文件中包含若干个函数(其中一个为main函数),若程序规模太大,可以使一个程序包含若干个源程序文件,每个源程序文件又包含若干个函数【一个源程序文件就是一个程序模块,一个程序分成若干个程序模块】12、在进行编译时是以源程序文件为对象进行的【分别对各源程序文件进行编译得到相应的目标程序,然后再将这些目标程序连接成为一个统一的二进制可执行程序】13、C语言的这种特点使得容易实现程序的模块化14、一个函数名后面必须跟一对圆括号,括号内写函数的参数名及其类型。

如果函数没有参数,可以写void或空括号【如int main(void)或int main()】15、void dump(){}它是一个空函数,但是是合法的16、程序总是从mian函数开始执行的,不管位置在哪儿17、程序中对计算机的操作是由函数中的C语句完成的18、二进制目标程序在visual C++中的后缀为.obj19、可执行程序在visual C++中的后缀为.exe20、一个源程序经过编译后得到的目标程序要经过连接阶段与函数库进行连接才能生成可执行文件21、程序设计的任务:①问题分析②设计算法③编写程序④对源程序进行编辑、编译和连接⑤运行程序,分析结果⑥编写程序文档第二章算法1、对数据的描述:在程序中要指定用到哪些数据类型以及这些数据类型和数据的组织形式,这就是数据结构。

2022年C语言程序设计教程(第3版) 谭浩强 课件 最新 4

2022年C语言程序设计教程(第3版) 谭浩强 课件 最新 4
double func (double x, int y, char z); /* 注意末尾的分号 */
4.1.4 虚实结合与传值调用
一个函数中的函数体,只有在该函数 被调用时才会执行。在函数被调用时,将 要进行如下两个操作: • 将函数调用中的实际参数值传送给函数定 义中的形式参数; • 将流程从调用处转到被调用的函数的开头, 开始执行函数体中的代码。
{ 函数体
}
1. 函数头函数类型 函数名(形式参数表列)
一个函数的函数头的结构如下: (1)函数类型。指定函数值的类型,即函数返 回值的类型。 (2)函数名。函数名必须采用合法的用户标识 符。 (3)圆括号:在函数名后面的一对圆括号是 “函数运算符”,表示进行函数运算,函数运算符 具有很高的运算优先级别 (4)形式参数表。形式参数表由写在一对圆括 号(函数运算符)中的一系列参数组成。每一个参数 由一个类型符和一个参数名组成。参数名也应当是 合法的用户关键字。函数可以没有参数,这时在函 数运算符内写一个“void”,也可以空允白。
c
no1 no2 no3
第一步:先把上面的n-1个盘子设法借助b杆放到c杆, 如图4.8中的箭头①所示,记做hanoi(n-1, a,c,b)。
第二步:把第n个盘子从a杆直接移到b杆,如图4.8中的 箭头②所示。
第三步:把c杆上的n-1个盘子借助a杆移到b杆,如图4.8 中的箭头③所示,记做hanoi(n-1,c,b,a)。
递归计算n!的函数rfact( )。 通常,n的阶乘可以描述为: n!=1·2·…·n 但是,也可以描述为: n!= n·(n-1)·…·2·1 或者可以写为: n!= n·(n-1)! 更一般的形式是:
1
(x≤1)
n!= n·(n-1)! (x>1)

C语言第3章(谭浩强)

17





void main( ) { int a,b,c,d; unsigned u; a=12;b=-24;u=10; c=a+u;d=b+u; printf(“a+u=%d,b+u=%d\n”,c,d); } 运行结果:a+u=22,b+u=-14 结论:不同类型的整型数据可以进行算 术运算。
位数 16
取值范围 -215-(215-1) -32768—+32767 -32768—+32767
Short [int] Long [int]
短整型 长整型
16 32
16 16 32
Unsinged int 无符号整型 Unsinged short [int] Unsinged long [int] 无符号短整 型 无符号长整 型
8


④大写字母与小写字母意义不同, 被认为是两个不同的字符。一般变 量名用小写字母表示。 注意:常量名常用大写、变量名常 用小写!
year Day a_12 _abcdef #123 .com $100 1999Y a=b 1_2_3 +abcedfghi ∏ -5 等
9

3、变量要先定义后使用


可以改为double型) void main( ) {float x;double y; x=123456.789;y=123456.789; printf(“%f, %f”,x,y);} 结果为: 123456.789062, 123456.789000
29
§3.5
字符型数据
一、字符常量 1、在C语言中字符型常量是用单引号括 起来的一个字符。 如:’a‟、’A‟、’3‟、’?‟、’ ’、 ’$‟等。 2、以‚\”开头的转义字符,如\n不代表 字母n,而是代表换行。

C(1-3)

可移植性好,不能对硬件操作; 2. CPL: 63年接近硬件,规模较大、难以应用;
3. SIMULA: 1966~1967 SIMULA 66是ALGOL 60
的扩充,SIMULA 67引进了“对象”和“类”等概 念而成为第一个面向对象的语言; 4. BCPL :67年由CPL改制,结构化、直接处理硬 件;
四、结构化程序设计方法强调:
程序设计风格和程序结构的规范化,提倡清 晰的结构 ①自顶向下; ②逐步细化; ③模块化设计; ④结构化编码;
简单C语言程序的构成和格式(1)
例1: 已知矩形的两条边长,求矩形的面积。
#include “stdio.h” /* 库函数,由编译系统提供 */ main() { float a,b,area; /*定义a、b、area为实型变量*/ a=1.2; /*给矩形的两条边赋值*/ b=3.6; area=a*b; /*求出矩形的面积放入变量area*/ printf(“a=%f,b=%f,area=%f\n”,a,b,area); /*输出矩形的两条边长和面积*/ } 运行结果为: a=1.200000,b=3.600000,area=4.320000
3.3 整型(integer)数据(3)
如:5(10) 101(2) 十进制=2n+2n-1+…………+22+21+20 5(10)=22+0+20=4+1=5; 1111(2)=23+22+21+20=8+4+2+1=15(10) 内存存放为:0000000000000101 最大正整数:0111111111111111,即32767 2) 负整数 补码表示,即反码+1 如:-5的表示 原码(不考虑负号):0000000000000101 反码:1111111111111010 (对原码 0变1,1变0) 补码:1111111111111011 (对反码最末一位加1) 1011+0001=1100 3) 无符号整数 16个二进制位全部同时存放数值。 范围为0000000000000000~1111111111111111 即0~65535。

谭浩强C语言程序设计入门课件

main())都是由函数首部和函数体两部分组成。 其一般结构如下: [函数类型] 函数名(函数参数表)/*首部:函数说明部分*/ { 语句说明部分; /*函数体部分*/ 语句执行部分; }
程 序 设 计 》
.
1.3.1 C程序的结构特点
1. C程序是由函数构成的。
一个C源程序可由一个main函数和若干个其他函数组成,其中必须有 一个且只能有一个main函数。
2. 函数由函数首部(说明)和函数体组成。
函数说明部分包括函数返回值类型、函数名、形式参数类型、函数的形 式参数(形参)名。函数体即函数说明部分就是下面的用一对大括号括起来 的部分{……} 。
3. C程序总是从main函数开始执行。
C程序总是从主函数第一条语句开始执行,直到主函数{}里最后一条语句。
#include "stdio.h" void main() { int a,b,c; scanf("%d%d",&a,&b); c=a+b; printf("c=%d\n",c); } 运行程序输入: 90<CR> 7 <CR> 程序结果: C=97 /*文件包含*/ /*主函数*/ /*声明定义变量a,b和c*/ /*输入变量a和b的值*/ /*计算c等于a与b的和值*/ /*输出变量c的值*/
C语言大学实用教程 苏小红 电子工业出版社
标准C语言基础教程 Gray J.Bronson 网站:/ 电子工业出版社
C语言帝国
/
/
C语言论坛
唯C空间
6
第1章 C语言概述
一. 基本内容:
输入文件名
程 序 设 计 》
单击“文件”

2022年C语言程序设计教程(第3版) 谭浩强 课件 最新 8

程序对文件的操作(读/写)过程如图8.2所 示。进行文件的读写,首先要为文件建立一个相 应的缓冲区。当要向文件写据时,程序先把数据 送到缓冲区,再把数据送到外部设备的指定文件 中;当要从文件读取数据时,也要先把数据送到 缓冲区,再由变量从缓冲区中提取相应的数据。
程序数据区
输入缓冲区 输出缓冲区
外部介质
一般说,二进制文件节省存储空间而且输入输出的速 度快(因为在输出时不需要把数据由二进制形式转换为字 符代码,在输入时也不需要把字符代码先转换成二进制形 式然后存入内存)。如果存入磁盘中的数据只是暂存的中 间结果数据,以后还要调入继续处理的,一般用二进制文 件以节省时间和空间。如果输出的数据是准备作为文档供 给人们阅读的,一般用字符代码文件,它们通过显示器或 打印机转换成字符输出。一般高级语言都能提供字符代码 文件(ASCII文件)和二进制文件,用不同的方法来读写这 两种不同的文件。
f:\\exe3\\file1.txt 文件名是文件的主要标志,它必须符合C语言关于标 识符的规定。 文件名后缀,用于对文件进行补充说明,一般不超过 三个字符,通常用特定的后缀表明文件的类型。例如.txt 表明是纯字符文件,用.c表示是C语言源程序文件, 用.exe表示是可执行文件等。
8.1.3 文件的位置指针与读写方式
fp1 文 件 1 fp2 文 件 2 fp3 文 件 3
的信息
的信息
的信息



8.2.3 文件的打开与关闭——流的创建与 撤销
1. 文件的打开 fopen (文件名,文件操作方式); 说明:
(1)文件名应当包含文件路径、主文件 名和文件后缀,即提供找到文件的有关信 息。
(2)应当理解文件操作用方式的意义。
FILE * fp; char name[20]; int num; float score; if ((fp=fopen(“f:\\C3exe\\file3.txt”,”w”))==NULL) {
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C++面向对象程序设计 实验指导书

江西理工大学电气工程与自动化学院 2015年9月 C++面向对象程序设计实验指导书 目录 I 目录 绪论 .................................................................................................................................................. 1 0.1 写本书的目的 .................................................................................................................... 1 0.2 本书的结构安排 ................................................................................................................ 1 0.3 如何使用本书 .................................................................................................................... 2 实验一 C++程序的运行环境和运行C++程序的方法 ................................................................. 3 1.1 实验目的 ............................................................................................................................ 3 1.2实验内容和步骤 ................................................................................................................. 3 实验二 C++对C 的扩充 ................................................................................................................ 5 2.1 实验目的 ............................................................................................................................ 5 2.2 实验内容 ............................................................................................................................ 5 2.2.1 程序阅读 ................................................................................................................. 5 2.2.2 程序设计 ................................................................................................................. 7 2.3 思考题 ................................................................................................................................ 7 实验三 类和对象(一) ................................................................................................................. 8 3.1 实验目的 ............................................................................................................................ 8 3.2 实验内容 ............................................................................................................................ 8 3.2.1程序阅读 .................................................................................................................. 8 3.2.2 程序设计 ............................................................................................................... 10 4.3思考题 ............................................................................................................................... 10 实验四 类和对象(二) ............................................................................................................... 11 4.1 实验目的 .......................................................................................................................... 11 4.2 实验内容 .......................................................................................................................... 11 4.2.1程序阅读 ................................................................................................................ 11 4.2.2 程序设计 ............................................................................................................... 12 4.3思考题 ............................................................................................................................... 13 实验五 运算符重载....................................................................................................................... 14 5.1 实验目的 .......................................................................................................................... 14 5.2 实验内容 .......................................................................................................................... 14 5.2.1程序阅读 ................................................................................................................ 14 5.2.2 程序设计 ............................................................................................................... 16 5.3思考题 ............................................................................................................................... 17 实验六 派生与继承....................................................................................................................... 18 6.1 实验目的 .......................................................................................................................... 18 6.2 实验内容 .......................................................................................................................... 18 6.2.1程序阅读 ................................................................................................................ 18 6.2.2 程序设计 ............................................................................................................... 20 实验七 派生与继承—多重派生 ................................................................................................... 21 7.1 实验目的 .......................................................................................................................... 21 7.2 实验内容 .......................................................................................................................... 21 7.2.1程序阅读 ................................................................................................................ 21 7.2.2 程序设计 ............................................................................................................... 24 7.3思考题 ............................................................................................................................... 24

相关文档
最新文档