C++编程基础知识ppt课件.ppt
《C++编程基础知识ppt课件.ppt》由会员分享,可在线阅读,更多相关《C++编程基础知识ppt课件.ppt(74页珍藏版)》请在三一办公上搜索。
1、第2章 C+编程基础,第2章 C+编程基础,2.1 数据类型与表达式2.2 程序的控制结构2.3 函数 2.4 数组2.5 指针2.6 构造数据类型,C语言与面向对象的C+,C语言是七十年代初贝尔实验室的Dennis Richie 等人在B语言基础上开发出来的。C最初是作为UNIX操作系统的开发语言为人们所认识。七十年代末,随着微型计算机的发展,C语言开始移植到非UNIX环境中,并逐步脱离UNIX系统成为一种独立的程序设计语言。C 语言版本很多,为了让开发出来的代码能够在多种平台上运行,1988年美国国家标准协会ANSI对C语言进行了标准化,产生了ANSI C。C语言是一个面向过程的编程语言。
2、,C语言与面向对象的C+,C+包括C的全部特征、属性和优点。C+支持面向对象程序设计。通过类和对象的概念把数据和对数据的操作封装在一起,通过派生、继承、重载和多态性等特征实现了软件重用和程序自动生成,使得大型复杂软件的构造和维护变得更加有效和容易。C+与C完全兼容。但由于与C兼容,使得C+不是纯正的面向对象的语言,它既支持面向对象程序设计,也支持面向过程程序设计。C+编译环境有许多版本,国内较为流行的有Visual C+和C+ Builder。,一个简单的C+程序,/ 表示注释行,# 引导一个预处理语句;main 表示主函数,void 表示无返回值cin为输入流,类似C语言的scanf;cou
3、t为输出流,类似C语言的printf;其对应的头文件为iostream.hendl 是换行函数;n 为换行符;函数体用括起来。注意与C的区别。它没有用到类的概念。,#include /包含头文件,称为编译预处理行void main() /main()函数,程序入口 /程序体开始 int x; /定义变量 cinx;/由键盘输入值并赋值给变量x cout n x= xendl; /输出字符串内容和x的值并换行 /程序体结束运行结果:x=6,2.1 数据类型与表达式,程序设计主要包括数据结构(数据类型)和算法(操作步骤)的设计。运行程序,要先描述算法。而描述算法应先说明算法要用的数据。数据以变量或
4、常量的形式来描述,每个变量或常量都有数据类型。,C+语言的命名原则,C+语言的字符集由下述字符构成: 英文字母:AZ,az 数字字符:09 特殊字符:空格、!、#、%、.、( ) 、 、 C+的命名原则,C+中的数据类型分为基本类型(C+编译系统内置)和非基本类型(用户自定义类型)。,说明: 在不同的系统中,每个变量类型所占的字节数可能有所不同,这里列出的是在VC+编译环境中的情况。,2.1.1 常量,1整型常量,2实型常量浮点小数,只使用十进制表示两种表示形式一般形式:16.5,-13.5 ,3.1415926F,0.1f ,0.0 ,2.指数形式: 3e1 1.0e-3默认为double型
5、,如果后缀为F(或f)则为float型。,20(十进制表示),0 x14,024,0若干07的数字, 0 x若干09的数字及AF的字母,3字符常量单引号括起来的一个字符如A , 2(非数字) , (空格),?,4字符串常量简称字符串,用一对双引号括起来的字符序列例如China,5布尔常量两个:false(假) true(真),不可显示字符无法通过键盘输入,如响铃、换行、制表符、回车等C+预定义的转义序列,2.1.2 变量,在程序的执行过程中值可变的量。变量在使用之前需要首先声明其类型和名称。声明形式: 变量名1,变量名2,变量名n;命名规则:由字符、数字和下划线组成,且只能由字符和下划线开头。
6、声明一个变量的同时,也可以给它赋初值。在组成变量名的元素中,大小写字母含义不同。作为保留字的单词不能再作为其他名字使用。,C+中常用的保留字,2.1.3 引用,引用是别名建立引用时,程序用另一个变量或对象(目标)的名字初始化它引用作为目标的别名而使用,对引用的改动实际是对目标的改动引用的声明形式为 &引用名=目标名 或& 引用名=目标名,引用型变量的名字,必须遵循变量的命名规则,引用,例如,引用一个整型变量:int someInt;int声明rInt是对整数的引用,初始化为引用someInt。注意:在这里,要求someInt已经声明或定义。引用不是值,不占存储空间,声明引用时,目标的存储状态不
7、会改变。引用在声明时必须初始化。,#include /输入输出头文件void main() int someInt; /定义变量int,someInt:6rInt:6someInt:7rInt:7,例2-1 如何建立和使用引用,输出结果,引用与指针关系的分析,void Swap(int ,void Swap(int *a, int *b) /指针调用 int t; t=*a; *a=*b; *b=t; ,void Swap(int a, int b) /传值调用 int t=a; a=b; b=t; ,区别: 1. 引用是某一对象的别名, 指针是某一变量的地址变量。2. 引用在定义时必须初始化
8、, 即为一已定义对象的别名。指针可在使用时初始化, 可以重新赋值。,引用的作用: 1. 引用可象地址一样完成对所代表的对象的操作。 2. 对引用的操作不同于对指针的操作, 它可直接作用于变量, 所以更方便, 更易于理解。,引用的缺点: 引用不能为空, 即必须代表某一对象。指针灵活性较好, 但使用较不方便。,2.1.4 表达式,表达式由运算符、运算对象和括号组成。1运算符C+语言定义了丰富的运算符,如算术运算符、关系运算符、逻辑运算符等分为单目运算符和双目运算符使用形式为运算符 ,运算符优先级,算术运算符,关系运算符,运算结果:1=真; 0=假,常用复合赋值运算符,与单目 同级.与=同级,2;
9、52; 6,例:int i=1, j=5;cout + i ; j+ endl;cout i ; j endl;,输出结果,2表达式表达式是程序最基本的组成部分由运算符(如+、-、*、) 、运算对象(也称操作数,可以是常量、变量等等)和括号组成执行表达式所规定的运算,所得到的结果值是表达式的值。,表达式的类型转换,当表达式中出现了多种类型数据的混合运算时,首先需要进行类型转换,再计算表达式的值。表达式中的类型转换分为两种隐含转换强制转换, 隐含转换:若参加运算的操作数类型不一致,则系统自动对数据进行转换具体规则如下:算术运算和关系运算转换:将低类型数据转换为高类型数据。 char short
10、int unsigned long unsigned-long float double 低 高逻辑运算符:要求必须为bool型;系统自动将其转换为bool型。转换方法是:非0数据转换为true,0转换为false。位运算:要求必须是整数;若是不同类型的整数时,编译系统会自动进行类型转换。赋值运算:要求左值(赋值运算符左边的值)与右值(赋值运算符右边的值)的类型相同。, 强制类型转换。又称为显式转换,是通过类型标识符和括号来实现的,其语法形式有两种:(表达式)或(类型标识符),2.2 程序的控制结构,2.2.1 选择结构,C+语言支持下列基本的条件语句: if语句 if else语句 if e
11、lseif语句 ?条件语句 可简化条件表达式的表达形式,语法为: expression1? Expression2:expression3,if (expression1)statement1;elsestatement2;,2.2.2 switch语句,多次判断选择判断的是同一个表达式的值,switch(表达式) case 常量表达式1:语句1case 常量表达式2:语句2case 常量表达式n:语句ndefault: 语句n+1,只能是整型、字符型和枚举型,值不能相同,且次序不影响执行结果,每个case分支可以有多条语句,但不用,while循环(特别适合处理字符串和其他指针类型)do wh
12、ile循环for循环(通常用于具有固定长度的数据结构),do statement;while(expression);,for(expression1;expression2; expression3) statement; ,注意:对于while语句或for语句,循环体中的语句只有在 while或for语句中的条件为真时,才会被执行;而dowhile语句则总能保证循环体被执行一次。,while(expression) statement; ,2.2.3 循环结构,2.2.4 其他控制语句,1break语句 只用于switch语句或循环体中,作用是使程序从switch语句内跳出或结束循环,继续
13、执行逻辑上的下一条语句。2continue语句仅用于循环体中,作用是结束本次循环,接着开始判断循环条件,决定是否继续执行下一次循环。,2.3 函 数,2.3.1 函数定义,由两部分组成:函数头与函数体。函数定义的一般语法形式为:, (形式参数表)说明性语句序列;实现函数功能的语句系列;,类型标识符: 返回值类型。返回值是返回给主调函数的处理结果,由函数体部分的return语句带回。形式参数表:简称形参表,内容如下: (类型l 形参名1,类型2 形参名2,类型n 形参名n),2.3.2 调用函数,调用函数先定义后调用,否则,需要在调用函数之前在主调函数中声明函数原型。函数原型声明形式: (含类型
14、说明的形参表);函数调用形式:(实参1,实参2,实参n),2.3.3 默认参数的函数,在函数定义中通过赋值运算指定默认参数值。程序调用该函数时:若给出实参,则用实参初始化形参;若没有给出实参,则C+编译系统自动以预先赋值的默认参数值作为传入数值。注意:默认形参值必须按从右向左的顺序定义。在有默认值的形参右面,不能出现无默认值的形参。原因:函数调用时,实参初始化形参按从左向右的顺序。,void try(int j=3,int k)void try(int j,int k=2,int m)void try(int j,int k=7)void try(int j,int k=2,int m=3)v
15、oid try(int j=3,int k=2,int m=3),/非法,/非法,/合法,/合法,/合法,2.3.4 内联函数,内联函数与一般函数不同:不是在调用时发生转移,而是在编译时将函数体嵌入在每一个调用语句处。优势:节省了参数传递、系统栈的保护与恢复等开销。内联函数的定义形式:, (含类型说明的形参表) 函数体,例2-2#include #include inline int max(int a,int b) if(ab)return a; elsereturn b;,void main()int a,b,c,d;a=210;b=150;c=20;d=max(a,b);d=max(d,
16、c);coutThe biggest of setw(5)asetw(5)bsetw(5)c is dendl;,运行结果:,The biggest of 210 150 20 is 210,内联函数,注意:内联函数体内一般不能有循环语句和switch语句。内联函数不能实现递归操作。内联函数的定义必须出现在第一次被调用之前。一般,简单且使用频率很高的函数才说明为内联函数。,2.3.5 系统函数的使用,系统函数的原型声明已经全部由系统提供,并且已分类存于不同的头文件中。使用系统函数:用include指令嵌入相应的头文件,再使用。 如:include 常用的函数库有(C语言):math.h -数学
17、运算,如sqrt(x),sin(x)stdio.h - 输入输出函数stdlib.h - 类型转换,存储分配等time.h - 时间和日期string.h - 字符串处理assert.h - 用于调试程序,2.4 数组,数组是一种构造数据类型,是具有一定顺序关系的若干相同类型变量的集合体,它占用连续内存单元进行存储。组成数组的变量称为该数组的元素。如:int c7;引用数组中的特定位置或元素, 要指定数组中的特定位置或 元素的位置号数组名是数组首元素的内存地址。数组名是一个常量,不能被赋值。,2.4.1 一维数组,数组使用前必须先声明。声明一维数组的形式: 数组长度数组中的每个元素可以当成普通
18、的变量使用。访问一维数组元素的形式:下标引用只能逐个引用数组元素,而不能一次引用整个数组例如:a0=a5+a7-a2*3,常量表达式,下标值从0开始,不能超过该维的长度减1,形式1:在声明数组时对数组元素赋以初值 数组长度=第0个元素值,第1个元素值,第n-1个元素值 例如: int a10=0,1,2,3,4,5,6,7,8,9;可以只给一部分元素赋初值。 例如: int a10=0,1,2,3,4;形式2:在对全部数组元素赋初值时,可以不指定数组长度。 =第0个元素值,第1个元素值,第n个元素值 例如: int a =1,2,3,4,5,未指定长度,由初始化的个数决定数组长度,一维数组的初
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 编程 基础知识 ppt 课件
链接地址:https://www.31ppt.com/p-2002336.html