




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C程序设计基础C语言概述1程序设计基础程序设计基础-面向对象及面向对象及C+实现实现 C程序设计基础C语言概述2第一章第一章 C+C+语言概述语言概述C程序设计基础C语言概述3目标目标 理解程序设计的概念 掌握C+程序的开发过程 掌握C+的运算符和表达式 掌握C+的数据类型,包括基本数据类型和构造数据类型 熟练掌握基本控制语句的使用:if、switch、while、dowhile、for 掌握转向语句:break、contiune语句的使用 熟练掌握函数的使用C程序设计基础C语言概述41.1 面向对象程序设计入门面向对象程序设计入门 1.1.1 程序设计与程序设计语言程序设计与程序设计语言 1
2、.1.2 简单的简单的C+程序程序 1.1.3 创建和运行创建和运行C+程序程序 1.1.4 VC+集成开发环境集成开发环境C程序设计基础C语言概述51.1.1 程序设计与程序设计语言程序设计与程序设计语言 程序设计也是一门工程设计,它是根据要解决的问题,使用某种程序设计语言,设计出能够完成这一任务的计算机指令序列。 程序设计语言是人与计算机进行交流的一种形式语言,是人利用计算机分析文问题、解决问题的一个基本工具。 C程序设计基础C语言概述61.1.2 简单的简单的C+程序程序/*源文件名:Ch1_01.cpp功能:给出矩形的宽和高,计算矩形的周长和面积,使用结构化方法实现*/# includ
3、e void main()int width,height,girth,area;cout widthheight;/输入两个数据 girth= (width+height)*2; /计算矩形周长area= width*height; /计算矩形面积cout矩形:宽= width 高= heightendl; /输出数据cout周长= girthendl; cout面积=areaendl; C程序设计基础C语言概述71.1.2 简单的简单的C+程序程序程序运行后,屏幕显示:请输入矩形的宽和高:20 15 (用户输入)矩形:宽=20 高=15周长=70面积=300C程序设计基础C语言概述81.1
4、.2 简单的简单的C+程序程序程序结构分析:(1)“/*/” 是程序的注释部分,注释内容是为增加程序的可读性,系统不编译注释内容,自动忽略从“/*”到“*/”之间的内容。 C+中以“/”开头直到本行结束的部分也是注释。与“/*/”的区别在于只能注释一行,不能跨行,这种注释也称为行注释,“/*/”注释可以跨行,称为块注释。 C程序设计基础C语言概述91.1.2 简单的简单的C+程序程序(2)#include 是一条编译预处理命令,声明该程序要使用iostream.h文件中的内容,iostream.h文件中包含了输入cin和输出cout 的定义。编译时系统将头文件iostream.h中的内容嵌入到
5、程序中该命令位置。 C程序设计基础C语言概述101.1.2 简单的简单的C+程序程序(3)程序中定义了一个主函数main(),其中main是函数名,void表示该函数返回值类型。程序执行从主函数开始。(4)函数体中声明变量的语句是: “int width,height,girth,area;” ,通知系统为变量分配存储空间。 (5)函数体中的其他语句用于完成相应功能,是函数体的重要组成部分。 C程序设计基础C语言概述111.1.2 简单的简单的C+程序程序书写格式,尽量遵循以下基本原则:(1)一般情况下一行只写一条语句。短语句可以一行写多条,长语句可以分成多行来写。分行原则是不能将一个单词分开
6、,用双引号括起来的字符串最好也不要分开。(2)C+程序书写时要尽量提高可读性。为此,采用适当地缩进格式书写程序是非常必要的,表示同一类内容或同一层次的语句要对齐。(3)C+程序中大括号使用较多,其书写方法也较多,建议用户要养成使用大括号的固定风格。 C程序设计基础C语言概述121.1.3 创建和运行创建和运行C+程序程序 C+源程序要经过编辑、编译、连接、运行4个环节,才能产生输出结果。 编辑 编译 连接 运行 源程序 Ch1_01.cpp 目标程序 Ch1_01.obj 可执行程序 Ch1_01.exe 结果 出现错误 结果错误 结束 C程序设计基础C语言概述131.1.3 创建和运行创建和
7、运行C+程序程序1. 编辑编辑是在一定的环境下进行程序的输入和修改过程。2. 编译编辑好的源程序不能被计算机理解,源程序必须经过编译,生成计算机能够识别的机器代码。编译阶段要进行词法分析和语法分析,又称源程序分析。 C程序设计基础C语言概述141.1.3 创建和运行创建和运行C+程序程序3. 连接编译后生成的目标代码还不能直接在计算机上运行,其主要原因是编译器对每个源程序文件分别进行编译,如果一个程序有多个源程序文件,编译后这些源程序文件还分布在不同的地方。 4. 运行一个C+源程序经过编译和连接后生成了可执行文件后,就可以在Windows环境下直接双击该文件运行该程序,也可以在Visual
8、C+ 6.0的集成开发环境下运行。C程序设计基础C语言概述151.1.3 创建和运行创建和运行C+程序程序C+程序的上机实现过程:(1)启动Visual C+ 6.0用户可以单击“开始”菜单,在“程序”选项中选择“Microsoft Visual Studio 6.0”级联菜单下的“Microsoft Visual C+6.0”,或在桌面上双击“Microsoft Visual C+6.0”的快捷方式,就会启动Visual C+ 6.0。C程序设计基础C语言概述161.1.3 创建和运行创建和运行C+程序程序(2)在“文件”菜单下,选择“新建”命令,将弹出“新建”对话框 选择“工程”标签下的“
9、Win32 Console Application”选项,可创建一个基于控制台应用程序的工程; 在“工程”编辑栏内输入创建的工程名称(CH1_01); 在“位置”编辑栏内输入工程的保存位置(E:student),确保单选按钮“R创建新工作区”被选定, 其它选项选择默认值,单击“确定”按钮将弹出“Win32 Console Applition”项目步骤对话框。C程序设计基础C语言概述171.1.3 创建和运行创建和运行C+程序程序(3)在项目步骤对话框中,选择要创建应用程序的类型,共有4个选项: “An empty project.”(一个空工程) “A simple application.”
10、(一个简单应用程序) “A ”Hello,World“ application.”(一个“世界,你好”应用程序) “An application that support MFC.”(一个支持MFC的应用程序)。 例中选择第1个选项,创建一个空工程。 C程序设计基础C语言概述181.1.3 创建和运行创建和运行C+程序程序(4)单击“确定”按钮,创建空工程的工作结束,回到Visual C+ 6.0的集成开发环境。至此,系统为工程CH1_01自动创建了E:studentCH1_01文件夹,并在其中生成了CH1_01.dsp、CH1_01.dsw、CH1_01.ncb和Debug文件夹。C程序设计
11、基础C语言概述191.1.3 创建和运行创建和运行C+程序程序(5)在“文件”菜单下,选择“新建”命令,在出现的对话框中选择“文件”标签,选择“C+ Source File”选项,创建一个C+源程序。然后在“文件”编辑栏内输入创建的C+源程序名(如CH1_01);在“目录”编辑栏内输入C+源程序的保存位置(如e:studentCH1_01)。C程序设计基础C语言概述201.1.3 创建和运行创建和运行C+程序程序(6)单击“确定”按钮即可进入代码编辑窗口 ,代码输入完毕后,单击“文件”菜单中的“保存”命令,或直接单击工具栏上的“保存”工具按钮,保存C+源程序,文件名为CH1_01.cpp。(7
12、)选择“编译”菜单下的“编译CH1_01.cpp”项或单击微型编译工具栏中的“编译程序”工具按钮,对C+源程序CH1_01.cpp进行编译。如果编译有错误,需要回到程序编辑窗口重新编辑,直到没有错误为止。 C程序设计基础C语言概述211.1.3 创建和运行创建和运行C+程序程序(8)编译完成后,选择命令:“编译”|“构建 CH1_01.exe”或单击微型编译工具栏中的“构建程序”工具按钮,如果没有连接错误,将生成可执行文件CH1_01.exe。 (9)用户可以在Windows环境下直接用鼠标双击CH1_01.exe文件,或者单击微型编译工具栏中的“执行程序”工具按钮,都可以执行程序。C程序设计
13、基础C语言概述221.1.3 创建和运行创建和运行C+程序程序程序运行后,将弹出一个窗体要求用户输入两个整数,从键盘输入60和40,中间用空格分隔,回车。屏幕显示程序的运行结果。C程序设计基础C语言概述231.1.4 VC+集成开发环境集成开发环境Visual C+ 6.0是微软公司开发的可视化的C+集成开发环境。它是集程序代码的编辑、编译、连接、调试等功能为一体,以一种方便、友好的界面提供给用户。C程序设计基础C语言概述241.1.4 VC+集成开发环境集成开发环境1菜单栏菜单栏下面是一些最常用的菜单:(1)文件:用于创建、打开、关闭、保存一个新的文件、工程或工作区程。(2)编辑:用于文件的
14、编辑,如文件的复制、粘贴、查找等操作。(3)查看:用于打开、激活所需要的各种窗口,如工作区窗口、输出窗口、属性窗口等。(4)插入:用于创建新的资源和类等。(5)工程:用于向工程中添加文件、设置活动工程、工程属性等。(6)编译:用于程序的编译、构建、调试、运行、工程和配置等。(7)工具:用于选择或定制集成开发环境中的一些工具、宏操作等。(8)窗口:用于窗口的排列、拆分、隐藏或显示等。(9)帮助:提供帮助文件和关于等。C程序设计基础C语言概述251.1.4 VC+集成开发环境集成开发环境2工具栏工具栏通过工具栏,可以快速地使用常见的菜单选项。最常见的工具栏是标准工具栏。3工作区窗口工作区窗口工作区
15、窗口有ClassView(类视图)、ResourceView(资源视图)和(文件视图)三个标签页,分别用来查看当前工程所包含的所有类、资源和文件。 C程序设计基础C语言概述261.1.4 VC+集成开发环境集成开发环境(1)ClassView(类视图),用于显示当前工作区工程的类,全局变量和函数。(2)(文件视图):标签页用于显示当前工程的源文件、头文件、资源文件等 。C程序设计基础C语言概述271.1.4 VC+集成开发环境集成开发环境4输出窗口输出窗口有多个标签页,最常用的是“编译”。在编译、连接、运行过程中显示系统提供的有关信息,如出错信息等。C程序设计基础C语言概述281.2 数据类型
16、和表达式数据类型和表达式 1.2.1 基本语法成分基本语法成分 1.2.2 基本数据类型基本数据类型 1.2.3 变量和常量变量和常量 1.2.4 运算符和表达式运算符和表达式 1.2.5 数组类型数组类型 1.2.6 结构体和共用体结构体和共用体 1.2.7 指针和引用指针和引用C程序设计基础C语言概述291.2.1 基本语法成分基本语法成分 计算机语言是人与计算进行交流的工具,它也有严格的字符集和严密的语法规则。 C+语言的基本要素是字符集,由字符集中的若干字符按照一定的语法规则组成C+程序中各种成分。下面介绍字符集、标识符和关键字。 C程序设计基础C语言概述301.2.1 基本语法成分基
17、本语法成分1. 字符集C+语言的字符集包括:(1)大小写英文字母:AZ,az(2)数字:09(3)特殊字符:空格 ! # % & * _(下划线) + = / ; , ( ) C程序设计基础C语言概述311.2.1 基本语法成分基本语法成分2. 标识符 标识符是用户用来标识程序中函数名,类型名、常量名、变量名、对象名等实体而定义的单词。C+语言中标识符的命名规则如下:(1)识符是由英文字母(包括大写和小写)、数字和下划线组成,并且以字母和下划线开始,其后跟零个或多个字母、数字或下划线。注意:标识符不可以数字开始。(2)标识符区分大、小写字母。例如,Aa和aa是两个不同的标识符。(3)标
18、识符的长度是任意的,但有的编译系统仅能识别前32个字符。(4)标识符不能和C+语言的关键字同名。C程序设计基础C语言概述321.2.1 基本语法成分基本语法成分3. 关键字关键字是C+系统用于特殊用途的单词。下面列举一些C+中常用的关键字: auto break bool case char class const continueC程序设计基础C语言概述331.2.2 基本数据类型基本数据类型 数据类型 基本数据类型 整 型 基本整型 短整型 长整型 字符型 浮点型 单精度型 双精度型 布尔型 空类型 构造数据类型 数组 指针类型 结构体 类 共用体 C程序设计基础C语言概述341.2.2
19、基本数据类型基本数据类型数据类型数据类型说明说明占字节数占字节数范围范围bool布尔型布尔型true,falsechar(signed char)字符型字符型1-128127unsigned char无符号字符型无符号字符型10255short(signed short)短整型短整型2-3276832767unsigned short无符号短整型无符号短整型2065535int(signed int)基本整型基本整型4-21474836482147483647unsigned int无符号整型无符号整型404294967295long(signed long)长整型长整型4-214748364
20、82147483647unsigned long 无符号长整型无符号长整型404294967295float单精度型单精度型4-3.410-383.41038double双精度型双精度型8-1.710-3081.710308C程序设计基础C语言概述351.2.3 变量和常量变量和常量1. 常量(1)整型常量整型常量即整型常数,没有小数部分,可以用十进制、八进制和十六进制3种形式来表示。(2)浮点型常量浮点型常量又称实型常量,是由整数部分和小数部分组成的,只能用十进制表示。浮点型常量有两种表示方法:小数表示法和科学计数法。(3)字符常量C+中有两种字符常量,即一般字符常量和转义字符常量。C程序设
21、计基础C语言概述361.2.3 变量和常量变量和常量(4)字符串常量字符串常量是用一对双引号括起来的字符序列。(5)符号常量在C+中,可以用一个标识符来表示一个常量,这个标识符就是符号常量。 C程序设计基础C语言概述371.2.3 变量和常量变量和常量 C+语言提供了两种定义符号常量的方法: 用const语句定义符号常量 用#define语句定义符号变量C程序设计基础C语言概述381.2.3 变量和常量变量和常量2. 变量 变量是指在程序运行过程中其值可以变化的量。 C+中变量使用前必须先定义。变量的定义 变量定义的一般格式为: 数据类型 变量名1,变量名2, 变量赋值与初始化 在使用已定义的
22、变量前,要保证变量存储的是确定的值。 C程序设计基础C语言概述391.2.4 运算符和表达式运算符和表达式 C+中常见的表达式有:算术表达式关系表达式逻辑表达式条件表达式赋值表达式C程序设计基础C语言概述401.2.4 运算符和表达式运算符和表达式 使用运算符时,要注意以下几点:(1)运算符实现的功能。(2)操作数个数及类型。(3)运算符的优先级别。即多个运算符同时出现在同一个表达式时,先进行优先级高的运算,后作优先级低的运算。(4)运算符的结合性。 C程序设计基础C语言概述411.2.4 运算符和表达式运算符和表达式 常用的运算符和表达式:1. 算术运算符及算术表达式 C+中的算术运算符有:
23、+(取正或加)、(取负或减)、*(乘)、(除)、%(取余)、+(增1)、-(减1)。其中+(取正)、(取负)、+(增1)、-(减1)是单目运算符,其余是双目运算符。C程序设计基础C语言概述421.2.4 运算符和表达式运算符和表达式2. 关系运算符及关系表达式 关系运算是比较两个操作数的大小,其结果是一个布尔型的值。当两个操作数满足关系运算符指定的关系时,表达式的值为true,否则为false。 在C+中,关系运算符都是双目运算符,共有6个:(小于)、(大于)、(大于或等于)、= =(等于)、!=(不等于)。其中前4种和后2种属于不同的优先级,前4种的优先级高于后2种。 C程序设计基础C语言概
24、述431.2.4 运算符和表达式运算符和表达式3. 逻辑运算符及逻辑表达式 逻辑运算符共有3个:1个单目运算符!(逻辑求反),2个双目运算符&(逻辑与)和|(逻辑或)。其中逻辑与的优先级比逻辑或高。 逻辑运算的结果是逻辑值。参与逻辑运算的操作数可以是任一基本类型的数据,在进行判断时,系统将非零值作为真,零为假。C程序设计基础C语言概述441.2.4 运算符和表达式运算符和表达式4. 赋值运算符和赋值表达式 C+中的赋值运算符分为两种: 简单赋值运算符( “=” ) 复合赋值运算符(+=、=、*=、/=、%=、=、&=、=、|=。 )。 赋值运算符都是二元运算符、右结合。由赋值运
25、算符和操作数组成的表达式称为赋值表达式。C程序设计基础C语言概述451.2.4 运算符和表达式运算符和表达式5. 位运算符 C+提供了6个位运算符:(按位求反)、&(按位与)、|(按位或)、(按位异或)、(左移位)。其中(按位求反)是单目运算符,其余都是双目运算符。 位运算符是对其操作数按二进制形式逐位进行运算,参与运算的操作数都应为整数,不能是实型数。 C程序设计基础C语言概述461.2.4 运算符和表达式运算符和表达式6. 条件运算符 条件运算符“?:”是C+中唯一的一个三目运算符,其使用的一般形式为: 表达式1?表达式2:表达式3C程序设计基础C语言概述471.2.4 运算符和表
26、达式运算符和表达式7. 逗号运算符 由逗号运算符构成的表达式称为逗号表达式,其一般形式为: 表达式1,表达式2,表达式n 逗号表达式的执行规则是从左到右,逐个表达式执行,最后一个表达式的值是该逗号表达式的值。 注意:逗号运算符“,”的优先级最低。 C程序设计基础C语言概述481.2.4 运算符和表达式运算符和表达式8. 表达式中数据类型的转换(1) 自动转换(2)强制转换其一般形式为: 数据类型(表达式)或 (数据类型)表达式double float long unsigned int char,short 图图 1-17 自动转换示意图自动转换示意图 C程序设计基础C语言概述491.2.5
27、数组类型数组类型 1. 一维数组 定义一维数组的一般格式为: 长度 例如:int A100表示数组名为A,该数组有100个元素,数组元素的类型为整型。 C程序设计基础C语言概述501.2.5 数组类型数组类型 在定义一维数组时要注意以下几点:(1)数据类型是指数组元素的类型。(2)数组名的命名规则要遵循C+关于标识符的命名规则。(3)数组元素的下从0开始到长度减1,C+对数组下标越界不做检查。(4)必须说明数组的长度,且这个长度要用一个确定的正整数常量或常量表达式来表示。 C程序设计基础C语言概述511.2.5 数组类型数组类型2. 二维数组 二维数组定义的一般形式为: 长度长度 例如:int
28、 a43就定义了一个二维数组a,其数据元素为 a00、a01a43。 引用二维数组元素的格式为: 例如:int a23; C程序设计基础C语言概述521.2.5 数组类型数组类型3.字符数组 字符数组是一个字符类型的数组,它用来存放字符或字符串,其中每一个数组元素对应一个字符。 字符数组定义的格式为:char 数组名长度;C程序设计基础C语言概述531.2.6 结构体和共用体结构体和共用体1.结构体 由数目固定的成员构成,各成员可以具有不同的数据类型。一个结构变量在内存占有一片连续的存储空间 C+中结构体定义的一般语法形式为:struct 结构体名 类型 成员1; 类型 成员2; 类型 成员n
29、;; C程序设计基础C语言概述541.2.6 结构体和共用体结构体和共用体 结构体是一种特殊的数据类型,结构体的定义仅仅是给出了该结构体的组成情况,它和基本数据类型int、double等一样,系统并不为其分配实际的存储单元。为了使用它,必须定义结构体变量。 结构体变量声明的一般格式如下:结构体 结构体变量;或结构体 结构体变量;C程序设计基础C语言概述551.2.6 结构体和共用体结构体和共用体 结构体变量初始化的一般格式为:struct 结构体名 结构体变量名=初值; 或结构体名 结构体变量名=初值; 结构体成员引用的一般格式为: 结构体变量.成员名 其中,符号“.”是成员运算符,用于访问一
30、个结构体变量中的某个结构体成员。 C程序设计基础C语言概述561.2.6 结构体和共用体结构体和共用体共用体共用体 共用体同结构体一样,也是一种自定义的数据类型,由若干数据成员组成。虽然共用体与结构体有很多相似之处,但两者还是有本质区别的。在任一时刻,结构体中的所有成员都是有意义的,而共用体中只有一个成员有意义。这种不同反映到存储空间分配上就是结构体变量各成员顺序存放在一段内存中,每个成员分别占有自己的内存单元,结构体变量所占存储空间的大小等于其所有数据成员所占存储空间的总和。而共用体变量的各成员均从同一地址开始存放,共同占用同一存储空间,即各成员所占用的存储空间是相互覆盖的。 C程序设计基础
31、C语言概述571.2.6 结构体和共用体结构体和共用体 共用体定义的一般形式为:union 共用体名数据类型 成员1;数据类型 成员2;数据类型 成员n; 共用体类型变量说明的一般语法形式为: 共用体 共用体变量名; C程序设计基础C语言概述581.2.7 指针和引用指针和引用1. 指针的基本概念 C+程序中定义变量,在编译时系统为每一个变量分配内存空间。 。所谓指针就是一个存储单元的地址值,用来存放地址(即指针)的变量也称指针变量。 指针是一个变量,必须先声明后使用。指针变量声明的一般形式如下:数据类型 * 标识符; C程序设计基础C语言概述591.2.7 指针和引用指针和引用 与指针有关的
32、基本运算符有以下两个:(1)取地址运算符&:&变量名。用来获取变量的首地址。(2)间接访问运算符*:*指针变量名。也称“指向运算符”或“取内容运算符”,表示访问该指针变量所指向的变量的值,即访问指针所指向的存储单元的内容。 C程序设计基础C语言概述601.2.7 指针和引用指针和引用2. 指针的赋值 如果用户声明了一个指针变量,在使用该指针变量之前必须对它赋初值。否则,在程序中使用该指针变量就有可能导致系统崩溃。 例如:int i,*p1=&i;int *p2=p1;C程序设计基础C语言概述611.2.7 指针和引用指针和引用3. 指针的运算 指针是一个变量,其值是一个
33、地址。因此,它只能参与赋值、算术及关系运算。(1)算术运算 (2)关系运算 两个指针进行关系运算时,它们必须指向同一连续存储空间。 C程序设计基础C语言概述621.2.7 指针和引用指针和引用4. 多级指针 由于指针是一个变量,在内存中占据一定的存储空间,具有一个地址,这个地址也可以利用指针来保存。 声明二级指针的格式为: 数据类型 * 标识符 C程序设计基础C语言概述631.2.7 指针和引用指针和引用5. 指针与数组 在C+语言中,指针与数组之间存在着密切的关系。它们都可以处理内存中连续存放的一系列数据,数组和指针在访问内存时采用相同的计算方法,在某些场合下指针和数组的表现形式具有相同的意
34、义。使用下标法对内存中的数组元素进行处理,指针和数组表现形式具有相同的意义,因为指针和数组名都是地址量。 C程序设计基础C语言概述641.2.7 指针和引用指针和引用6. 指针与字符串 在C+语言中,字符串用字符数组来处理,有时也把字符串称为字符数组。例如:char str1=Hello World!;char *pstr=str;coutpstr6endl; /输出W字符C程序设计基础C语言概述651.2.7 指针和引用指针和引用7. 内存动态分配 C+语言提供了内存动态分配的方法。所谓内存动态分配是指在程序运行期间根据实际需要申请内存空间,并在不需要时释放,它是一种在程序运行时动态申请和释
35、放内存的技术。使用运算符new和delete进行内存动态分配和释放,相应地把内存的申请和释放过程称作创建和删除。 C程序设计基础C语言概述661.2.7 指针和引用指针和引用(1)运算符new 运算符new用于申请所需的内存空间。它的一般格式如下: * = new ; 动态创建数组的一般格式如下: * = new 数据类型长度;C程序设计基础C语言概述671.2.7 指针和引用指针和引用(2)运算符delete 当程序中不再需要使用运算符new申请到的内存空间时,必须要使用运算符delete来释放空间。一般操作形式如下: delete 指针名; /释放非数组内存单元delete 指针名; /释
36、放数组内存单元 C程序设计基础C语言概述681.2.7 指针和引用指针和引用8.引用 在C+语言中,提供了一种为变量起一个别名的机制,这个别名就是引用。声明引用的一般格式如下:数据类型 &引用名=变量名; 或数据类型 &引用名(变量名); C程序设计基础C语言概述691.2.7 指针和引用指针和引用 使用引用应注意以下几点:(1)声明引用时,必须要初始化。(2)一旦为一个变量声明了一个引用,该引用就不能再作为其它变量的引用。(3)引用和其所代表的变量使用同一片存储空间,它并不另外占用存储空间。(4)对引用的操作就是对被引用变量的操作。C程序设计基础C语言概述701.3 程序控制
37、结构程序控制结构 1.3.1 语句语句 1.3.2 选择语句选择语句 1.3.3 循环语句循环语句 1.3.4 转向语句转向语句 C程序设计基础C语言概述711.3.1 语句语句 C+支持结构化程序设计,结构化程序有三种基本结构:顺序结构、选择结构和循环结构。表达式语句空语句复合语句C程序设计基础C语言概述721.3.2 选择语句选择语句1. if语句 if语句用来有条件地执行某一语句系列。if语句主要有以下几种形式:(1)if(表达式) 语句; C程序设计基础C语言概述731.3.2 选择语句选择语句(2)if(表达式) 语句1;else 语句2; (3)if(表达式1) else if(表
38、达式2) else if(表达式3) elseif(表达式n) else C程序设计基础C语言概述741.3.2 选择语句选择语句2. switch语句 在if语句嵌套使用时,如果嵌套层数太多,将使程序变得难于理解。为此,C+语言提供了switch语句来简化这一过程。 switch语句又称开关语句,其一般语法格式为:switch(表达式)case 常量表达式1:语句1;case 常量表达式2:语句2;case 常量表达式n:语句n;default:语句n+1; C程序设计基础C语言概述751.3.3 循环语句循环语句1. while循环语句while循环语句的语法格式为:while(表达式)
39、循环体语句; 表达式 循环体 真 假 图图 1-19 while 循环执行过程循环执行过程 C程序设计基础C语言概述761.3.3 循环语句循环语句2. do-while循环语句do-while循环语句的语法形式为: do 循环体语句; while(表达式); 表达式 循环体 真 假 图图 1-20 do-while 循环执行过程循环执行过程 C程序设计基础C语言概述771.3.3 循环语句循环语句3. for循环语句 for循环语句比while循环语句和do-while循环语句功能更为强大。for循环语句的一般语法格式为:for(表达式1;表达式2;表达式3) 循环体语句;C程序设计基础C语
40、言概述781.3.3 循环语句循环语句 在使用for循环语句时,注意以下几种情况:(1)for语句中的3个表达式可以没有。但每个表达式后的分号不能省略。此时for循环语句的形式为:for(;) 这时在循环体内必须有其他控制循环执行的语句,否则会形成死循环。(2)表达式1如果不存在或不是用来给循环变量赋初值,则应在for语句前给循环变量赋初值。(3)表达式2如果不存在,则在for语句循环体内应有其他控制循环执行的语句,否则会形成死循环。(4)表达式3如果不存在或不是用来修改循环变量的值,则应在for语句循环体内设置相应的语句。C程序设计基础C语言概述791.3.4 转向语句转向语句 1. got
41、o语句 goto语句一般语法格式为: goto 语句标号;2. break语句 break语句的一般语法格式如下: break;3. continue语句 continue语句的一般语法格式为: continue;C程序设计基础C语言概述801.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 字符串处理函数字符串处理函数C程序设计基础C语
42、言概述811.4.1 函数的定义和说明函数的定义和说明 函数定义的一般语法格式如下:函数类型 函数名(参数表) 函数体; C+最重要的特征之一是函数原型。 函数原型的说明一般语法格式为:类型 函数名(参数列表);C程序设计基础C语言概述821.4.2 函数的调用函数的调用1. 函数调用的概念 函数调用是用一个表达式来表示的。其调用的一般格式为:函数名(实参列表) 要求实参与形参的个数相同、类型一致、顺序一致。 C程序设计基础C语言概述831.4.2 函数的调用函数的调用 函数的返回值是在被调用函数中,通过返回语句return来实现的。返回语句return有两个重要的作用:其一是使函数立即返回到
43、其主调程序,其二是返回某个值。 函数有两种返回情况,一种是无返回值,一种是有返回值。当函数无返回值时,函数类型必须用关键字void加以说明。 C程序设计基础C语言概述841.4.3 函数的参数函数的参数1. 传值调用 这种方法是用参数传递数据的最常用的方法。传值调用是指函数调用时,给形参分配存储空间,系统计算实参表达式的值,并把实参的值按顺序赋给对应的形式参数,即对形参进行初始化,然后执行函数体。 C程序设计基础C语言概述851.4.3 函数的参数函数的参数2. 传址调用 使用传址调用方式时,形参是指针变量,实参是地址值,由主调程序向被调用函数传递地址。在函数调用时,把实参数地址赋给形式参数,
44、形参和实参都表示同一地址中的值。因此,形参所指向内容的任何改变都会导致实参所指向内容的改变。 C程序设计基础C语言概述861.4.3 函数的参数函数的参数3. 引用调用 引用也是一种特殊类型的变量,它不同于指针。引用是为程序中变量取一个别名,引用作为函数的参数时,形参是实参的引用,则形参和实参指的是同一个变量,在函数调用中对形参的改变实际上就是对实参的改变。 C程序设计基础C语言概述871.4.4 函数的嵌套调用和递归调用函数的嵌套调用和递归调用1. 函数的嵌套调用 程序从主函数开始执行,遇到函数调用时,如果函数是有参函数,C+先进行实参对形参的替换,然后执行被调用函数的函数体。如果函数体中还
45、调用其他函数,再转入执行其他函数体。函数体执行完毕后,返回到主调函数,继续执行主调函数中的后续程序行。若在一个函数中又调用另一个函数,则称这样的调用过程为函数的嵌套调用 C程序设计基础C语言概述881.4.4 函数的嵌套调用和递归调用函数的嵌套调用和递归调用2. 函数的递归调用 在调用一个函数的过程中出现直接或间接调用该函数本身,称作函数的递归调用。这样的函数称为递归函数。编写递归函数时,必须有终止递归调用的条件。C程序设计基础C语言概述891.4.5 作用域和存储类型作用域和存储类型1. 作用域 作用域是一个标识符在程序中有效范围。C+的作用域有函数原型作用域、块作用域、函数作用域和文件作用
46、域。 函数原型参数列表中的标识符具有函数原型作用域。函数原型只需要参数的类型,并不需要参数名。参数名只在函数原型声明的两个圆括号内有效。C程序设计基础C语言概述901.4.5 作用域和存储类型作用域和存储类型 块作用域又称局部作用域。在一个复合语句内声明的标识符具有块作用域,其作用域是从声明处开始,一直到复合语句结束的花括号为止。由于函数体在句法上可以看作一个复合语句,所以函数中声明的标识符具有块作用域。另外函数的形参也属于块作用域。C程序设计基础C语言概述911.4.5 作用域和存储类型作用域和存储类型2. 局部变量和全局变量 局部变量具有局部作用域。局部变量仅在定义它的函数或类内起作用,在这个范围之外不能使用这些变量。 全局变量是在函数和类外部定义的变量。全局变量的作用域从说明点开始直到文件的结束。这种作用域也称为文件作用域。C程序设计基础C语言概述921.4.5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 砂浆产品研发汇报
- 人体成分分析解读报告解读要点
- 西游记第四回讲解
- 云南VR知识培训课件
- 猪场建筑分类方案设计
- 小学语文课堂阅读讲解
- 三岁孩子启蒙美术成长汇报
- 2025年起重机司机模拟考试题库与安全操作指南详解
- 2025年化工安全考试题库及答案
- 设备技术规格书技术解析
- 2025年全年日历表(带农历 带2025年法定放假时间安排)
- 购买肉牛合同协议书
- 烟气参数在线监测系统(CEMS)培训课件
- 企业微信直播讲解课件
- 中国卒中患者高血压管理专家共识(2024)解读
- 2025年乡村全科医师考试真题及答案
- GB/T 45309-2025企业采购物资分类编码指南
- 通往未来之路课件
- 膜性肾病护理进展
- 2025年供暖锅炉安全技术托管协议书
- 特殊儿童美术治疗
评论
0/150
提交评论