C++程序设计基础全套ppt完整版课件最全电子教案整本书ppt完整版ppt最新教学教程.ppt
《C++程序设计基础全套ppt完整版课件最全电子教案整本书ppt完整版ppt最新教学教程.ppt》由会员分享,可在线阅读,更多相关《C++程序设计基础全套ppt完整版课件最全电子教案整本书ppt完整版ppt最新教学教程.ppt(680页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C+程序设计基础第第1章章C+基础知识基础知识 1.1 1.1 程序设计语言的基本概念程序设计语言的基本概念1.2 C+1.2 C+程序的基本结构程序的基本结构1.3 1.3 一个应用程序的开发过程一个应用程序的开发过程程序设计语言是人类在计算机上解决实际问题的一种工具。当一个求解问题能够用数学模型表达时,人们会考虑用某种程序设计语言将该问题的数学模型表示成计算机可以接受的程序形式,再由计算机自动处理这个程序,生成人们所需要的结果。1.1 程序设计语言的基本概念1.面向面向过程的程的结构化程序构化程序设计语言语言2.面向面向对象的程序象的程序设计语言有两言有两类:一类是完全面向对象的语言,另一
2、类是兼顾面向过程和面向对象的混合式语言。C+语言就是后一种形式的典型代表。1.2 C+程序的基本结构 1.2.1 C+程序结构 一般来说,C+程序的结构包含声明区、函数区两个部分,在任何一个区内都可以随时插入程序的注释。【例1.1】从键盘输入圆的半径,求圆的面积。程序代码如下:/*ex1_1.cpp*#include using namespace std;#define PI 3.14159float sum(float x);void main()float r,s;coutr;s=sum(r);coutr=r s=sendl;float sum(float x)return PI*x*x
3、;1声明区声明区在函数之外。程序的声明区可能需要编写:(1)包含文件,如例1.1中的#include;(2)宏定义,如例1.1中的#define PI 3.14159;(3)函数声明,如例1.1中的float sum(float x);(4)条件编译;(5)全局变量声明;(6)结构体等的定义;(7)类的定义。2函数区一个程序由一个主函数main()和多个(可以是0个 )其他函数组成。每个函数都是由函数声明部分与函数体部分组成。程序的执行从main()函数开始。函数声明部分包括函数返回值类型、函数名、函数的形式参数。函数体部分是用一对花括号括起来的完成该函数所表达的功能的语句的集合。语句可以是数
4、据描述语句或数据操作语句。任何一种程序设计语言可用下面的模型描述:一种程序设计语言的模型与人类的自然语言模型是一致的,都遵守这种模型。读者可以借鉴人类自然语言的学习方法来学习某种程序设计语言。1.2.2 C+1.2.2 C+程序的书写格式程序的书写格式C+程序的书写格式比较灵活,书写程序时可以任意换行,一行内可以书写多条语句,一条语句可以书写在多行上,只要每条语句以分号(;)结束即可。也因为如此,所以C+程序可读性差,为了提高程序的可读性,C+程序的书写格式有如下约定:(1)C+程序中,每行一般书写一条语句;语句较短时,多条语句可书写在一行内。语句较长时,一条语句可写在多行上。(2)C+程序中
5、,每条语句以分号结束,表示一条语句的结束,但函数说明行和声明区的多数语句后不用分号。语句前面没有标号,只有goto语句的转向目标语句前加标号。(3)C+程序中,使用向右缩进方法表达程序中的层次结构,如花括号 内的函数体、循环语句的循环体、if语句的if体和else体一般都向右缩进几个字符。花括号是函数体或复合语句的定界符。(4)C+程序中,可使用多行注释或单行注释以增强程序的可读性。多行注释以“/*”开始,以“*/”结束,占据多行。单行注释以“/”开始,占据一行。1.3 一个应用程序的开发过程 1.3.1 Visual C+6.01.3.1 Visual C+6.0开发环境开发环境 采用Vis
6、ual C+6.0开发环境;这是一个集编辑、编译、链接、调试运行于一体的集成环境,即在一个程序的控制下可以分步或一次性地完成编辑、编译、链接、调试运行工作。1.3.2 1.3.2 一个应用程序的开发过程一个应用程序的开发过程 1启动Visual C+6.0开发环境 2创建工程项目 3打开项目文件 4创建C+源程序文件并添加到项目文件中 5编译、链接与运行程序 在上页图中单击“Compile”按钮进行编译,单击“Build”按钮进行编译与链接(在没有编译的情况下),单击“Execute Program”按钮进行编译、链接和运行(在没有编译、链接的情况下)。例1.1程序所建立的项目的运行结果如下:
7、C+程序设计基础第第2章章C+数据类型与表达式数据类型与表达式2.1 C+2.1 C+的词法规则的词法规则2.2 C+2.2 C+基本数据类型基本数据类型2.3 2.3 常量与变量常量与变量2.4 2.4 运算符与表达式运算符与表达式2.1 C+2.1 C+的词法规则的词法规则 一个程序包含两个方面的主要内容:数据描述和数据操作。数据是操作的对象,数据的存储方式决定于该数据的数据类型,描述数据就是定义数据的类型。数据类型的定义表现在常量、变量等的定义之中,而常量、变量又是一种程序设计语言的基本单词。除了常量、变量之外,一种程序设计语言还有标识符、运算符、关键字、分隔符等基本单词,这些单词的构成
8、(书写规则)都必须遵守该语言的词法规则。本章介绍的就是C+中各种单词的构词规则及表达式。请读者结合第1章语言模型图学习本章内容并思考本章内容属于语言模型图的哪个环节。由一种语言提供的字符集中的字符构造的单词必须遵守该语言的词法规则。在一种语言中,单词涉及标识符、关键字、运算符、常量、变量、注释符、分隔符等。C+也不例外。本章只讨论C+中的基本词法规则及表达。2.1.1 C+2.1.1 C+的字符集组成的字符集组成 C+的字符集包括如下字符:(1)26个小写字母:az。(2)26个大写字母:AZ。(3)10个数字:09。(4)标点和特殊字符:+-*/,:;?”|!#%&()空格。(5)空字符:A
9、SCII码为0的字符,用作字符串的结束符。2.1.2 C+2.1.2 C+的单词及其构词规则的单词及其构词规则 单词由若干个合法字符组成,下面介绍常用的单词。1 1标识符标识符 标识符是由字母、下画线和数字组成的字符序列,第一个字母必须是字母或下画线,不能是数字。标识符中的字母大小写是不同的。标识符用来命名C+程序中的常量、变量、函数、语句标号及类型定义符等。有一部分标识符是系统定义的。本小节关心的是用户定义的标识符。在定义标识符时,要注意以下几点:(1)要遵守上面的构成标识符的规则。Aa、ABC、A_Y、ycx11、_name是合法标识符。而5xyz、m.x、!abc、x-y是非法标识符。(
10、2)系统已经使用的关键字、函数名或其他已定义的单词不能再定义成标识符。(3)定义标识符时尽可能让标识符有意义,便于阅读,即做到“见名知义”。2 2关键字关键字关键字(又称保留字)是被系统定义了的已具有特定含义的标识符。3 3运算符运算符运算符与操作数连接组成表达式。连接一个操作数的运算符称为单目运算符,连接两个操作数的运算符称为双目运算符,连接三个操作数的运算符称为三目运算符。有关运算符的种类、功能、优先级和结合性等问题将在2.4节中详细介绍。4 4常量常量常量是在程序中不改变的量。C+程序中的常量有:整型常量、浮点型常量、字符常量和字符串常量4种。将在2.3节中详细介绍。5 5变量变量变量是
11、在程序中可以改变的量。变量有三要素:名字、类型和值。某个变量的值被改变后,将一直保持到下一次被改变。变量是一种标识符,其命名完全与标识符相同。将在2.3节中详细介绍其特性。6 6注释符注释符注释符的作用是在程序中标识注释信息。在C+程序中,可使用多行注释或单行注释增强程序的可读性。多行注释以“/*”开始,以“*/”结束,占据多行。单行注释以“/”开始,占据一行。“/*”、“*/”、“/”就是注释符。7 7分隔符分隔符分隔符有:空格符、换行符、水平制表符等,用作其他单词之间的分隔符;逗号(,),多作多个变量或多个参数之间的分隔符;分号(;),主要用于for语句的for关键字后的圆括号内,作分隔符
12、;冒号(:),用来标识语句标号和开关语句,常用于switch的case关键字后。2.2 C+基本数据类型 表2.1 C+基本数据类型基本型(int)短整型(short)长整型(long)无符号整型(unsigned int)无符号短整型(unsigned short int)无符号长整型(unsigned long int)有符号整型(signed int)有符号短整型(signed short int)有符号长整型(signed long int)字符型(char)单精度浮点型(float)双精度浮点型(double)长双精度浮点型(long double)4244244241488-2 1
13、47 483 6482 147 483 647-32 76832 767-2 147 483 6482 147 483 64704 294 967 295065 53504 294 967 295-2 147 483 6482 147 483 647-32 76832 767-2 147 483 6482 147 483 6470255-3.410383.41038-1.7103081.710308-1.7103081.710308数数 据据 类类 型型字节数字节数数据表达范围数据表达范围2.3 常量与变量 常量与变量是C+中最基本的数据描述形式。本节只介绍常量和变量的基本概念,包括4种常量和
14、基本数据类型的变量。关于构造类型的变量将在后续章节中介绍。2.3.1 常量常量是在程序中不改变的量。C+程序中有4种常量:整型常量、浮点型常量、字符常量和字符串常量。1整型常量C+程序中,整型常量和浮点常量统称数值常量。整型常量有三种形式:十进制、八进制和十六进制。十进制常量的写法就是算术表达方式,如12、345都是合法的十进制常量。八进制常量在数值前要加上一个零(0),如011、077都是合法的八进制常量。十六进制常量的写法是在数值前加上一个零(0)和一个字母X(大小写均可),如0X11、0 xF都是合法的十六进制常量,分别等于十进制数17和15。2浮点型常量浮点型常量又称实数型常量。分为十
15、进制数形式和指数形式两种表示方法。(1)十进制数形式的浮点型常量的书写格式:.其中小数点不能省略。如1.2345、1.0、1.、.12345均是合法的浮点型常量。(2)指数形式的浮点型常量的书写格式:.E其中,指数形式表示符“E”大小写均可。.部分允许不含小数点的,或含小数点的,必须是整数。如12E-3、0.1E2、.12345E6、0E0等均是合法的。【例例2.1】浮点型常量的运用。浮点型常量的运用。程序代码如下:程序代码如下:/*ex2_1.cpp*#include#include using namespace std;void main()float a,b,c;a=12.34567;
16、b=.11183155;c=12.e2;couta=setprecision(7)a;couttta=setiosflags(ios:scientific)aendl;coutb=b;couttc=cendl;3字符常量字符常量是一个用单引号括起来的字符。单引号是字符常量的定界符,单引号本身表示成。在C+中,字符常量具有整数值,其值是该字符的ASCII码。一个字符常量可以与整数进行加减运算。下面的程序给出了字符与整数进行加减运算的实例。【例例2.2】字符常量的运用。字符常量的运用。程序代码如下:程序代码如下:/*ex2_2.cpp*#include#includeusingnamespaces
17、td;voidmain()chara,b,c,d;a=A;b=B;c=a+3;d=;coutatbtcendl;couthexint(a)tint(b)tint(c)endl;coutdendl;程序的运行结果如下:ABD 414244 4字符串常量字符串常量是用双引号括起来的若干个字符组成的字符序列。双引号是字符串常量的定界符,双引号本身表示成“”。“”是一个空字符串,空字符串中没有任何有效字符,只有一个字符串结束符。在C+程序中,任何一个字符串常量都有一个结束符,该结束符是ASCII码值为0的空字符,表示为0。字符常量与字符串常量是不同的,表现在:(1)表示形式不同。前者用单引号括起来,后
18、者用双引号括起来。(2)存放它们的对象不同。前者存放在字符变量中,后者存放在字符数组或字符指针指定的位置。如,char c=A,s5=ABCD;(3)存放字符串常量时要加一个结束符,而存放字符常量则不需要。所以A与“A”不同。且其占用的内存空间也不同,A占1个字节;“A”占2个字节,前一字节存放字符A,后一字节存放结束符。(4)对它们进行的运算也不同。字符与字符、字符与整数间可作加减运算;而字符串只能作连接运算。【例例2.3】字符串常量的运用。字符串常量的运用。程序代码如下:程序代码如下:/*ex2_3.cpp*#include using namespace std;void main()c
19、har s110,s210;couts1s2;couts1ts2endl;程序的运行结果如下:5符号常量符号常量是一个用来替代常量(前面讨论的4种常量)的标识符。这个标识符当然叫符号常量。(1)增强程序的可读性。标识符可以定义得有意义,如用PI表示圆周率。(2)书写简单,不易出错。有的常量直接书写很长,容易出错,如圆周率3.141 592 6用PI代之,既简单又不容易出错。(3)修改程序方便。例如:#define PI 3.1415926#define SIZE 100 2.3.2 2.3.2 变量变量 变量是在程序中可以改变的量,变量有名字、类型和值三个要素。变量的类型包括存储类和数据类型两
20、个方面。某个变量的值被改变后,将一直保持到下一次被改变。1变量的定义变量在使用前必须定义。格式如下:;例如:int a,b,c;a、b、c为整型变量;缺省存储类,要看是定义在函数体内还是函数体外来确定是自动类还是外部类;static double x,y10;x、y是静态双精度变量,y是数组2变量的数据类型变量的基本数据类型有:整型、浮点型和字符型。变量的构造数据类型称自定义类型。它由若干个数据类型相同或不相同的变量所构成的类型。如数组、结构体、共用体、类都是构造数据类型。3变量的存储类变量的存储类定义变量的有效性范围,即作用域。C+中有4类:自动存储类(auto)、寄存器存储类(regist
21、er)、静态存储类(static)和外部存储类(extern)。(1)自动存储类某一变量定义成自动存储类后,其作用域在定义它的函数体或分程序内,自动存储类变量只能定义在函数体或分程序内。变量的生存期在作用域内,即执行完定义它的函数后,该变量即被释放。这类变量的安全性最好,在不同的函数中可以定义相同名字的变量,互不影响。在函数体内定义自动存储类变量时可以省去说明符auto。前面程序中定义的变量都省去了存储类说明符auto,它们都是自动存储类变量。(2)寄存器存储类寄存器存储类的变量与自动存储类的变量有相同的作用域和生存期。定义这类变量必须加存储类说明符register,并且只能定义在函数体或分程
22、序内。这类变量有可能被存放在CPU的空闲通用寄存器中,当CPU中没有空闲通用寄存器时,当作自动存储类变量。一旦变量存入CPU的寄存器中,则变量的访问效率将大大提高,这是因为访问内存比访问CPU寄存器花的时间长得多。(3)静态存储类静态存储类分为内部静态存储类和外部静态存储类。内部静态存储类变量定义在函数体或分程序内,其作用域在定义它(们)的函数体或分程序内。而外部静态存储类变量定义在函数体或分程序外,其作用域在定义它(们)的文件内,可见两者的作用域是不同的。内部静态存储类和外部静态存储类变量有相同的生存期,都被存放在内存的静态区域,静态变量在程序结束时才释放内存。要定义静态存储类变量,必须加存
23、储类说明符static。(4)外部存储类外部存储类变量的作用域是整个程序,包含该程序的各个文件。生存期是整个程序,在程序结束时才释放内存。表表2.3 2.3 各种存储类特性的比较各种存储类特性的比较存存 储储 类类 别别自动类寄存器类内部静态类外部静态类静态类外部类或分程序内在定义它的文件内程序的各个文件程序结束前有效离开定义体即消失存取速度快安全性好在定义它的函数体安全性差同自动类作作用用域域生生 存存 期期其其 他他外部存储类变量可以定义在函数体内、外,定义在函数体外时可以不加存储类说明符,但在说明一个外部存储类变量时,必须加存储类说明符extern。有如下两种情况要在引用外部存储类变量前
24、,对其进行说明。在一个文件中,在定义前引用外部存储类变量必须说明。在多个文件的程序中,在一个文件中定义,在另一个文件中引用,引用前要说明。【例例2.4】定定义义在在前前、引引用用在在后后的的外外部部存存储储类类变变量量(输输出出结结果果与与例例2.3类似)。类似)。程序代码如下:程序代码如下:/*ex2_4.cpp*#includeusingnamespacestd;chars110,s210;voidmain()couts1s2;couts1ts2endl;【例2.5】定义在后、引用在前的外部存储类变量(输出结果与例2.3类似)。程序代码如下:/*ex2_5.cpp*#include usi
25、ng namespace std;extern char s110,s210;/说明外部存储类变量void main()couts1s2;couts1ts2endl;char s110,s210;4变量的值变量的值是变量三要素之一。可以在定义变量时对变量赋初值(变量初始化),也可以在引用变量时通过其他方法(赋值表达式、cin、scanf函数等)对变量赋值。变量初始化格式:=,=,;如果外部类和静态类变量不进行初始化,那么它们由编译程序赋以“零值”(数值型变量赋数值0,字符型变量赋空字符)。如果自动类和寄存器类变量不进行初始化,那么它们不具有有意义的值,必须通过赋值后才能引用。外部类和静态类变量
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 程序设计 基础 全套 ppt 完整版 课件 电子 教案 最新 教学 教程
限制150内