C程序设计基础 第1章 C语言概述ppt课件.ppt

C程序设计基础 第1章 C语言概述ppt课件.ppt

ID:59422312

大小:413.00 KB

页数:99页

时间:2020-09-19

上传者:U-5097
C程序设计基础 第1章 C语言概述ppt课件.ppt_第1页
C程序设计基础 第1章 C语言概述ppt课件.ppt_第2页
C程序设计基础 第1章 C语言概述ppt课件.ppt_第3页
C程序设计基础 第1章 C语言概述ppt课件.ppt_第4页
C程序设计基础 第1章 C语言概述ppt课件.ppt_第5页
资源描述:

《C程序设计基础 第1章 C语言概述ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

程序设计基础 -面向对象及C++实现北华航天工业学院1 第一章C++语言概述2 目标理解程序设计的概念掌握C++程序的开发过程掌握C++的运算符和表达式掌握C++的数据类型,包括基本数据类型和构造数据类型熟练掌握基本控制语句的使用:if、switch、while、do~while、for掌握转向语句:break、contiune语句的使用熟练掌握函数的使用3 1.1面向对象程序设计入门1.1.1程序设计与程序设计语言1.1.2简单的C++程序1.1.3创建和运行C++程序1.1.4VC++集成开发环境4 1.1.1程序设计与程序设计语言程序设计也是一门工程设计,它是根据要解决的问题,使用某种程序设计语言,设计出能够完成这一任务的计算机指令序列。程序设计语言是人与计算机进行交流的一种形式语言,是人利用计算机分析文问题、解决问题的一个基本工具。5 1.1.2简单的C++程序/*源文件名:Ch1_01.cpp功能:给出矩形的宽和高,计算矩形的周长和面积,使用结构化方法实现*/#includevoidmain(){intwidth,height,girth,area;cout<<"请输入矩形的宽和高:";//提示输入信息cin>>width>>height;//输入两个数据girth=(width+height)*2;//计算矩形周长area=width*height;//计算矩形面积cout<<"矩形:宽="<*<指针变量>=new<数据类型>;动态创建数组的一般格式如下:<数据类型>*<指针变量>=new数据类型[长度];66 1.2.7指针和引用(2)运算符delete当程序中不再需要使用运算符new申请到的内存空间时,必须要使用运算符delete来释放空间。一般操作形式如下:delete指针名;//释放非数组内存单元delete[]指针名;//释放数组内存单元67 1.2.7指针和引用8.引用在C++语言中,提供了一种为变量起一个别名的机制,这个别名就是引用。声明引用的一般格式如下:数据类型&引用名=变量名;或数据类型&引用名(变量名);68 1.2.7指针和引用使用引用应注意以下几点:(1)声明引用时,必须要初始化。(2)一旦为一个变量声明了一个引用,该引用就不能再作为其它变量的引用。(3)引用和其所代表的变量使用同一片存储空间,它并不另外占用存储空间。(4)对引用的操作就是对被引用变量的操作。69 1.3程序控制结构1.3.1语句1.3.2选择语句1.3.3循环语句1.3.4转向语句70 1.3.1语句C++支持结构化程序设计,结构化程序有三种基本结构:顺序结构、选择结构和循环结构。表达式语句空语句复合语句71 1.3.2选择语句1.if语句if语句用来有条件地执行某一语句系列。if语句主要有以下几种形式:(1)if(表达式){语句;}72 1.3.2选择语句(2)if(表达式){语句1;}else{语句2;}(3)if(表达式1)<语句1>elseif(表达式2)<语句2>elseif(表达式3)<语句3>┇elseif(表达式n)<语句n>else<语句n+1>73 1.3.2选择语句2.switch语句在if语句嵌套使用时,如果嵌套层数太多,将使程序变得难于理解。为此,C++语言提供了switch语句来简化这一过程。switch语句又称开关语句,其一般语法格式为:switch(表达式){case常量表达式1:语句1;case常量表达式2:语句2;┇case常量表达式n:语句n;default:语句n+1;}74 1.3.3循环语句1.while循环语句while循环语句的语法格式为:while(表达式){循环体语句;}75 1.3.3循环语句2.do-while循环语句do-while循环语句的语法形式为:do{循环体语句;}while(表达式);76 1.3.3循环语句3.for循环语句for循环语句比while循环语句和do-while循环语句功能更为强大。for循环语句的一般语法格式为:for(表达式1;表达式2;表达式3){循环体语句;}77 1.3.3循环语句在使用for循环语句时,注意以下几种情况:(1)for语句中的3个表达式可以没有。但每个表达式后的分号不能省略。此时for循环语句的形式为:for(;;)这时在循环体内必须有其他控制循环执行的语句,否则会形成死循环。(2)表达式1如果不存在或不是用来给循环变量赋初值,则应在for语句前给循环变量赋初值。(3)表达式2如果不存在,则在for语句循环体内应有其他控制循环执行的语句,否则会形成死循环。(4)表达式3如果不存在或不是用来修改循环变量的值,则应在for语句循环体内设置相应的语句。78 1.3.4转向语句1.goto语句goto语句一般语法格式为:goto语句标号;2.break语句break语句的一般语法格式如下:break;3.continue语句continue语句的一般语法格式为:continue;79 1.4函数1.4.1函数的定义和说明1.4.2函数的调用1.4.3函数的参数1.4.4函数的嵌套调用和递归调用1.4.5作用域和存储类型1.4.6内联函数1.4.7函数重载1.4.8字符串处理函数80 1.4.1函数的定义和说明函数定义的一般语法格式如下:函数类型函数名(参数表){函数体;}C++最重要的特征之一是函数原型。函数原型的说明一般语法格式为:类型函数名(参数列表);81 1.4.2函数的调用1.函数调用的概念函数调用是用一个表达式来表示的。其调用的一般格式为:函数名(实参列表)要求实参与形参的个数相同、类型一致、顺序一致。82 1.4.2函数的调用函数的返回值是在被调用函数中,通过返回语句return来实现的。返回语句return有两个重要的作用:其一是使函数立即返回到其主调程序,其二是返回某个值。函数有两种返回情况,一种是无返回值,一种是有返回值。当函数无返回值时,函数类型必须用关键字void加以说明。83 1.4.3函数的参数1.传值调用这种方法是用参数传递数据的最常用的方法。传值调用是指函数调用时,给形参分配存储空间,系统计算实参表达式的值,并把实参的值按顺序赋给对应的形式参数,即对形参进行初始化,然后执行函数体。84 1.4.3函数的参数2.传址调用使用传址调用方式时,形参是指针变量,实参是地址值,由主调程序向被调用函数传递地址。在函数调用时,把实参数地址赋给形式参数,形参和实参都表示同一地址中的值。因此,形参所指向内容的任何改变都会导致实参所指向内容的改变。85 1.4.3函数的参数3.引用调用引用也是一种特殊类型的变量,它不同于指针。引用是为程序中变量取一个别名,引用作为函数的参数时,形参是实参的引用,则形参和实参指的是同一个变量,在函数调用中对形参的改变实际上就是对实参的改变。86 1.4.4函数的嵌套调用和递归调用1.函数的嵌套调用程序从主函数开始执行,遇到函数调用时,如果函数是有参函数,C++先进行实参对形参的替换,然后执行被调用函数的函数体。如果函数体中还调用其他函数,再转入执行其他函数体。函数体执行完毕后,返回到主调函数,继续执行主调函数中的后续程序行。若在一个函数中又调用另一个函数,则称这样的调用过程为函数的嵌套调用87 1.4.4函数的嵌套调用和递归调用2.函数的递归调用在调用一个函数的过程中出现直接或间接调用该函数本身,称作函数的递归调用。这样的函数称为递归函数。编写递归函数时,必须有终止递归调用的条件。88 1.4.5作用域和存储类型1.作用域作用域是一个标识符在程序中有效范围。C++的作用域有函数原型作用域、块作用域、函数作用域和文件作用域。函数原型参数列表中的标识符具有函数原型作用域。函数原型只需要参数的类型,并不需要参数名。参数名只在函数原型声明的两个圆括号内有效。89 1.4.5作用域和存储类型块作用域又称局部作用域。在一个复合语句内声明的标识符具有块作用域,其作用域是从声明处开始,一直到复合语句结束的花括号为止。由于函数体在句法上可以看作一个复合语句,所以函数中声明的标识符具有块作用域。另外函数的形参也属于块作用域。90 1.4.5作用域和存储类型2.局部变量和全局变量局部变量具有局部作用域。局部变量仅在定义它的函数或类内起作用,在这个范围之外不能使用这些变量。全局变量是在函数和类外部定义的变量。全局变量的作用域从说明点开始直到文件的结束。这种作用域也称为文件作用域。91 1.4.5作用域和存储类型提示:好的程序设计方法是用函数交换信息应使用参数和返回值,而不使用全局变量。如果全局变量与函数的局部变量同名,在函数的局部变量的作用域内,同名的全局变量无效。为了在函数体内使用与局部变量同名的全局变量,应在全局变量前面使用作用域作用符“::”。92 1.4.5作用域和存储类型3.变量的存储类型C++把程序运行时所占用的存储空间分为程序代码区域、静态存储区域和动态存储区域三部分,动态存储区域又分为堆栈区域和堆区域。变量主要分配在静态和动态两个区域中,另外,有些变量还可以分配在计算机中的寄存器中。在定义变量时不仅要指明变量的数据类型,还要指出变量的存储类型。因此,变量的一般定义格式为:存储类型数据类型变量名[=初值];C++中常用的存储类型有:auto(自动类型)、register(寄存器类型)、static(静态类型)、extern(全局类型)。93 1.4.5作用域和存储类型4.内部函数和外部函数C++中所有函数定义都是独立的,不能嵌套。(1)内部函数内部函数又称为静态函数,它只能在定义它的源文件中被调用,而不能被其他源文件的函数调用。在定义内部函数时,在函数名和函数类型的前面加static。static数据类型函数名(形参表)(2)外部函数在定义函数时,如果前面加关键字extern,表示此函数为外部函数。外部函数可以被其他源文件的函数调用,若在定义函数时省略关键字extern,则隐含为外部函数。94 1.4.6内联函数引入内联函数的目的是为了解决函数调用的效率问题。使用内联函数,加快了程序的执行速度,但如果函数体中的语句很多,则会增加程序代码的长度。由于C++编译程序必须知道内联函数的函数体,才能进行内联替换,因此,内联函数必须在程序中第一次调用此函数的语句前通知C++编译程序。95 1.4.6内联函数除了带有循环语句、switch语句的函数不能被说明为内联函数外,都可以被说明为内联函数。内联函数的定义形式为:inline类型函数名(形式参数列表);96 1.4.7函数重载所谓函数重载是指同一个函数名可以对应着多个不同函数的实现。函数重载要求编译器能够唯一地确定调用一个函数时应执行哪个函数代码。确定函数时,编译器是通过函数的参数个数、参数类型和参数顺序来区分的。97 1.4.8字符串处理函数1.字符串拷贝函数strcpy()char*strcpy(char*str1,constchar*str2);2.字符串连接函数strcat()char*strcat(char*str1,char*str2);3.字符串比较函数strcmp()intstrcmp(constchar*str1,constchar*str2);intstrncmp(constchar*str1,constchar*str2,intn);4.字符串长度函数strlen()intstrlen(constchar*str);98 总结讲解了程序设计的概念介绍了C++程序的开发过程介绍了C++的运算符和表达式的使用方法介绍了C++的数据类型,包括基本数据类型和构造数据类型讲解了掌握基本控制语句的使用:if、switch、while、do~while、for的使用和基本结构详细的介绍了函数的使用过程99

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭