上海交通大学C++课程课件_1-9章

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

C++程序设计沈红斌Email:hbshen@sjtu.edu.cn《程序设计》cs.sjtu2011.9程序设计-2课程目标进一步掌握程序设计,包括过程化程序设计和面向对象的程序设计掌握C++语言了解常用的算法及算法设计过程《程序设计》cs.sjtu2011.9程序设计-3期末成绩的组成期末考试:50%期中考试:20%大作业:30%《程序设计》cs.sjtu2011.9程序设计-4教材及参考教材C++程序设计思想与方法(第2版)人民邮电出版社翁惠玉C++Primer人民邮电出版社C程序设计(第3版)谭浩强C++大学教程(第5版)电子工业出版社程序设计基础(第2版)吴文虎清华大学出版社《程序设计》cs.sjtu2011.9程序设计-5作业的相关规定及注意事项本学期将布置若干个作业,在课后独立完成作业环境:VC6.0、VC2008、VC2010助教每周有两个晚上在机房答疑作业要求:必须独立、按时地完成每次上机作业每次上机作业的具体要求参见每次作业的文档说明上传的作业必须符合下述的“上传作业命名规则”作业上传地址:用户码/密码:sjtu/sjtu《程序设计》cs.sjtu2011.9程序设计-6作业命名规则1.使用WinRAR软件将上机作业(包括工程文件、资源文件、源文件和头文件等)的多个文件直接压缩为一个压缩文件,该压缩文件必须命名为:”学号_作业号.rar”。2.若一次作业中包含多个小题,则每个小题应分别放入一个单独文件夹,多个文件夹直接压缩为一个压缩文件。其中,每个小题的文件夹应命名为:”学号_作业号_题号”;3.上传的作业中应该不包括Debug文件夹以及某些声音、图像文件4.命名规则示例:以学号为5030309999,上传第四次作业(第四次作业中含有两个独立的小作业)为例:两个小作业的文件夹名字应为:5030309999_4_1和5030309999_4_2压缩文件名应为:5030309999_4.rar《程序设计》cs.sjtu2011.9程序设计-7评分标准“完成截止日期”后、“上传截止日期”前仍可上传作业,但视为“迟交”,迟交的作业将被扣除一定的分数。在“上传截止日期”后,将停止该次作业批改。一经发现作业抄袭情况,无论任何原因,抄袭者与被抄袭者的当次作业一律记为0分《程序设计》cs.sjtu2011.9程序设计-8第二章通过例子学习第一个程序第二个程序变量定义数据类型符号常量算术表达式赋值表达式自增自减运算符强制类型转换数据的输入输出《程序设计》cs.sjtu2011.9程序设计-9C++程序的基本组成基本的C++程序结构//File:hello.cpp//thisprogramprintsthemessage//“helloeveryone”onthescreen#includeiostreamintmain(){std::cout“helloeveryone”std::endl;return0;}程序注释预处理命令主程序《程序设计》cs.sjtu2011.9程序设计-10注释C++的注释是从//开始到本行结束,也可以采用C风格的注释,即从/*与*/之间所有的文字都是注释,可以是连续的几行。注释是写给人看的,而不是写给计算机的。程序注释:从整体描述程序操作过程注释也可以出现在主程序中,解释主程序中一些比较难理解的部分。给程序添加注释是良好的程序设计风格《程序设计》cs.sjtu2011.9程序设计-11C程序的基本组成基本的C程序结构//File:hello.cpp//thisprogramprintsthemessage//“helloeveryone”onthescreen#includeiostreamintmain(){std::cout“helloeveryone”std::endl;return0;}程序注释预处理命令主程序《程序设计》cs.sjtu2011.9程序设计-12编译预处理C++的编译分成两个阶段:预编译和编译预编译处理程序中的预编译命令,即那些以#开头的指令编译预处理主要有:库包含:用#include实现,表示程序使用了某个库宏定义:用#define实现。宏包括不带参数的宏和带参数的宏。不带参数的宏通常用来定义符号常量。带参数的宏用来定义一些较为复杂的操作。《程序设计》cs.sjtu2011.9程序设计-13库包含的格式库是预先做好的一些工具程序。每个库要提供一个接口,告诉库的用户如何使用库提供的功能。库包含就是把库的接口文件放入源文件,以便编译器检查程序中对库的调用是否正确。库包含格式:#includefilename:包含了一个系统库#include“filename”:包含了一个用户自定义的库《程序设计》cs.sjtu2011.9程序设计-14宏定义不带参数的宏定义通常用于为程序中的常量取一个名字,称为符号常量。格式:#define标识符替换文本如:#defineRADIUS5#definePI3.14159#defineAREAPI*RADIUS*RADIUS用define定义宏是C语言的习惯,在C++中有更好的解决方案《程序设计》cs.sjtu2011.9程序设计-15使用符号常量的好处含义清楚,提高了程序的可读性。在需要改变一个常量时能做到“一改全改”《程序设计》cs.sjtu2011.9程序设计-16C程序的基本组成基本的C程序结构//File:hello.cpp//thisprogramprintsthemessage//“helloeveryone”onthescreen#includeiostreamintmain(){std::cout“helloeveryone”std::endl;return0;}程序注释预处理命令主程序《程序设计》cs.sjtu2011.9程序设计-17主程序主程序由一个或多个函数组成每个程序都必须有一个名为main的函数,它是程序的入口。《程序设计》cs.sjtu2011.9程序设计-18函数的构成intmain()函数头{std::cout“helloeveryone”std::endl;return0;}函数体与PYTHON不同,C++的函数体必须用一对花括号括起来。事实上,PYTHON中所有必须缩进的语句,在C++中都必须用花括号括起来。《程序设计》cs.sjtu2011.9程序设计-19输出流对象std::cout“流”指的是设备之间传递的数据流输出流是传给输出设备的数据流cout代表显示器格式将hello显示在屏幕上:std::cout“hello”std::cout“hello,everyone”std::endlstd::endl表示换行《程序设计》cs.sjtu2011.9程序设计-20名字空间在大型的程序时,每个源文件可能由不同的开发者开发。不同的源文件中可能有同样的名字。当这些源文件连接起来形成一个可执行文件时,就会造成重名。名字空间是把一组程序实体组合在一起,构成的一个作用域。一个名字空间中不能有重名,不同的名字空间中可以定义相同的实体名。当引用某个实体时,需要加上名字空间的限定程序中的std是C++中所有标准库的名字空间名。《程序设计》cs.sjtu2011.9程序设计-21使用名字空间的指令格式:usingnamespace名字空间名;一旦用了使用名字空间的指令,该名字空间中的所有的实体在引用时就不需要再加名字空间的限定了。第一个程序可以改写为:《程序设计》cs.sjtu2011.9程序设计-22//file:hello.cpp//Thisprogramprintsthemessage“Helloworld.”//Onthescreen#includeiostreamusingnamespacestd;intmain(){cout“Helloworld.”endl;return0;}《程序设计》cs.sjtu2011.9程序设计-23第二章通过例子学习第一个程序第二个程序变量定义数据类型符号常量算术表达式赋值表达式自增自减运算符强制类型转换数据的输入输出《程序设计》cs.sjtu2011.9程序设计-24计算园的面积和周长//file:circle.cpp//该程序用于计算园的面积和周长#definePI3.14159//定义符号常量#includeiostreamusingnamespacestd;intmain(){doubleradius,area,circum;cout请输入圆的半径:;cinradius;area=PI*radius*radius;circum=2*PI*radius;coutendl;cout园的面积为:areaendl;cout园的周长为:circumendl;return0;}变量定义输入阶段计算阶段输出阶段《程序设计》cs.sjtu2011.9程序设计-25程序的组成变量定义:C++中的变量在使用前都必须被定义。变量定义严格指出变量中可以存放的数据类型。输入阶段:获取执行时才能确定的用户数据。输入过程一般包括两步:显示提示信息读取数据计算阶段:由输入推导出输出的过程。通常通过各种计算得到。输出阶段:显示程序执行的结果《程序设计》cs.sjtu2011.9程序设计-26第二章通过例子学习第一个程序第二个程序变量定义数据类型符号常量算术表达式赋值表达式自增自减运算符强制类型转换数据的输入输出《程序设计》cs.sjtu2011.9程序设计-27变量定义变量,也称为对象,是数据的存放之处变量有三个重要属性:名称、值、类型。变量定义就是告诉编译器变量的名字及该变量中可以存放哪一类数据类型的值C++中变量定义的格式:类型名变量名1,变量名2,…,变量名n;如:intnum1,num2;doublearea;在C++中,每个变量在使用前必须被定义,以便编译器检查变量使用的合法性。《程序设计》cs.sjtu2011.9程序设计-28变量命名名字必须以字母或下划线开头。C++语言中,名字中出现的大写和小写字母被看作是不同的字符,因此ABC,Abc,abc是三个独立的变量名。名字中的其它字符必须是字母、数字或下划线,不得使用空格或其它特殊符号名字不可以是系统的保留词,如:int,double,for,return等,它们在C++语言中有特殊用途C++没有规定过名字的长度,但各个编译系统都有自己规定。名字应使读者易于明白其存储的值是什么,做到“见名知意”。《程序设计》cs.sjtu2011.9程序设计-29第二章通过例子学习第一个程序第二个程序变量定义数据类型符号常量算术表达式赋值表达式自增自减运算符强制类型转换数据的输入输出《程序设计》cs.sjtu2011.9程序设计-30数据类型整型实型字符型布尔型枚举类型变量赋初值了解占用的内存量《程序设计》cs.sjtu2011.9程序设计-31数据类型—整型整型数的表示范围:由各个编译器指定。整型数有三种存储方式,在VC中占用的空间如下所示基本型int:4byte(PC)–231~(231-1)长整型long:long/longint4byte(PC)–231~(231-1)短整型short:2byte(PC)-215~(215-1)允许的操作:算术运算、比较大小等《程序设计》cs.sjtu2011.9程序设计-32整型数的表示—码制讨论如何将符号位数字化。0表示正数,1表示负数。数字的三种编码方式为:原码反码补码《程序设计》cs.sjtu2011.9程序设计-33原码用符号位和数值表示带符号数。正数的符号位为0,负数的符号位为1。数值部分用二进制表示。如用一个字节表示数值:[62

1 / 591
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功