《的初步知识》PPT课件.ppt_第1页
《的初步知识》PPT课件.ppt_第2页
《的初步知识》PPT课件.ppt_第3页
《的初步知识》PPT课件.ppt_第4页
《的初步知识》PPT课件.ppt_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

主讲:陈亚东,高级程序设计语言C+,教材、参考书与课时安排,教材: C+程序设计 谭浩强主编 清华大学出版社 参考书: C+程序设计教程 钱能主编 清华大学出版社 C+程序设计实验指导 钱能主编 清华大学出版社 课时安排 授课 :56学时(含16学时上机),上机安排 上机地点:计算中心机房206、208 上机时间:周一中午 (79、11-13、15、17周上) 上机内容: 随教学进度的基础训练(上机调试每次课堂作业) 要求: 所有作业必须独立完成 作业必须经上机调试通过 上机考勤3次缺席,按不及格处理 发现上机时间上网,按缺席一次处理,课程要求,课前请做好预习 保持课堂安静,头脑清醒,思维活跃 认真、独立、按时完成并提交作业 重视上机实践,有效利用宝贵的上机时间,总 目 录,第1篇 基本知识 第2篇 面向过程的程序设计 第3篇 基于对象的程序设计 第4篇 面向对象的程序设计,第1章 C+的初步知识 第2章 数据类型与表达式,第1篇 基本知识,1.1 从C到C+ 1.2 最简单的C+程序 1.3 C+程序的构成和书写形式 1.4 C+程序的编写和实现 1.5 关于C+上机实践,第1章 C+的初步知识,1.1 从C到C+ 程序设计语言的发展,CPU指令系统,由0、1序列构成的指令码组成 如:10000000 加 10010000 减,用助记符号描述的指令系统 如 ADD A, B,面向机器的语言,程序设计是数据被加工的过程,客观世界可以分类,对象是类的实例 对象是数据和方法的封装 对象间通过发送和接受消息发生联系,程序设计关键是定义类,并由类派生对象,C+语言发展过程 产生过程 时间: 20世纪80年代初 地点:美国贝尔实验室 目的:大规模软件开发 设计人: Bjarne Stroustrup博士及其同事 C+ 特点 C+保留了C语言原有的所有优点 增加了面向对象的机制 C+是C的超集 功能强大的混合型的程序设计语言。,例1.1 输出一行字符: “This is a C+ program.”。 程序如下: #include /包含头文件iostream using namespace std; /使用命名空间std int main( ) coutThis is a C+ program.; return 0; 在运行时会在屏幕上输出以下一行信息: This is a C+ program.,1.2 最简单的C+程序,例1.2 求a和b两个数之和。 / 求两数之和 (本行是注释行) #include /预处理命令 using namespace std; /使用命名空间std int main( ) /主函数首部 /函数体开始 int a,b,sum; /定义变量 cinab; /输入语句 sum=a+b; /赋值语句 couta+b=sumendl; /输出语句 return 0; /如程序正常结束,向os返回一个零值 /函数体结束,运行时从键盘输入 123 456 则输出为: a+b=579,格式特点 习惯用小写字母,大小写敏感 不使用行号,无程序行概念 可使用空行和空格 常用锯齿形书写格式,优秀程序员的素质之一: 使用TAB缩进 对齐 有足够的注释 有合适的空行,main( ) . . . . ,int main( ) int i , j , sum; sum=0; for(i=1; i10;i+) for(j=1;j10;j+) sum+=i*j ; coutsumendl; ,例1.3 给两个数x和y,求两数中的大者。 #include /预处理命令 using namespace std; int max(int x,int y) /定义max函数,函数值为整型,形式参数x,y为整型 /max函数体开始 int z; /变量声明,定义本函数中用到的变量z为整型 if(xy) z=x; /if语句,如果xy,则将x的值赋给z else z=y; /否则,将y的值赋给z return(z); /将z的值返回,通过max带回调用处 /max函数结束,int main( ) /主函数 /主函数体开始 int a,b,m; /变量声明 cinab; /输入变量a和b的值 m=max(a,b); /调用max函数,将得到的值赋给m coutmax=mn; /输出大数m的值 return 0; /主函数结束,运行情况如下: 18 25 (输入18和25给a和b) max=25 (输出m的值) 注意:输入的两个数据间用一个或多个空格间隔,不能以逗号或其他符号间隔。,程序可以改写如下: #include using namespace std; int main( ) int max(int x,int y); /对max函数作声明 int a,b,c; cinab; c=max(a,b); /调用max函数 coutmax=cendl; return 0; ,int max(int x,int y) /定义max函数 int z; if(xy) z=x; else z=y; return(z); ,结构特点 函数与主函数 必须有且只能有一个主函数main() return 0;返回一个零值 函数体是由大括号 括起来的。 程序语句 C程序由语句组成 用“;”作为语句终止符 注释 /*注释内容*/或/注释一行 不产生编译代码。 编译预处理命令 #include 是一个“包含命令” using namespace std; ” 的意思是“使用命名空间std”。,例1.4 包含类的C+程序。 #include / 预处理命令 using namespace std; class Student / 声明一个类,类名为Student private: / 以下为类中的私有部分 int num; / 私有变量num int score; / 私有变量score public: / 以下为类中的公用部分 void setdata( ) / 定义公用函数setdata cinnum; / 输入num的值 cinscore; / 输入score的值 ,void display( ) / 定义公用函数display coutnum=numendl; / 输出num的值 coutscore=scoreendl; /输出score的值 ; ; / 类的声明结束 Student stud1,stud2; /定义stud1和stud2为类的变量(对象) int main( ) / 主函数首部 stud1.setdata( ); / 调用对象stud1的setdata函数 stud2.setdata( ); / 调用对象stud2的setdata函数 stud1.display( ); / 调用对象stud1的display函数 stud2.display( ); / 调用对象stud2的display函数 return 0; ,程序运行情况如下: 1001 98.5 1002 76.5 num=1001 score=98.5 num=1002 score=76.5,在一个类中包含两种成员: 数据成员 成员函数 类中数据和函数分为两大类: private(私有的),实现信息隐蔽。 public(公用的),实现信息通讯。 默认,指定为私有。 具有“类”类型特征的变量称为“对象”(object),1.3 C+程序的构成和书写形式,(1) 一个C+程序可以由一个程序单位或多个程序单位构成。 (2) 在一个程序单位中,包括以下几个部分: 预处理命令。例:#include命令。 全局声明部分(在函数外的声明部分)。 函数。每一个程序必须包括一个或多个函数,其中必须有一个(而且只能有一个)主函数(main函数)。 (3) 一个函数由两部分组成: 函数首部,如:int main( ) 函数体,包括:声明部分和执行部分一对花括号“ ”是函数体的定界符。,(4) 语句包括两类:声明语句和执行语句。 (5) 一个C+程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何。 (6) 类(class)是C+新增加的重要的数据类型,是C+对C的最重要的发展。有了类,就可以实现面向对象程序设计方法中的封装、信息隐蔽、继承、派生、多态等功能。,(7)C+程序书写格式自由,一行内可以写几个语句, 一个语句可以分写在多行上。 (8)注释行: 多行注释:/* */ 单行注释:/ (9)程序用小写字母,区分大小写,书写采用自由格式。,1.4 C+程序的编写和实现,1. 算法研制 2. 根据上一步思路或数学模型编写程序; 3. 编辑源程序。 4. 编译

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论