ImageVerifierCode 换一换
格式:PPT , 页数:100 ,大小:454.50KB ,
资源ID:2719949      下载积分:6 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2719949.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     索取发票    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(C语言完整优质PPT课件资料优质PPT课件.ppt)为本站上传会员【精***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C语言完整优质PPT课件资料优质PPT课件.ppt

1、C C语言完整课语言完整课件资料件资料 第第1章章 概概 论论 C语言是美国贝尔实验室于20世纪70年代初研制出来的,早期主要用于UNIX操作系统,到了20世纪80年代,C语言开始用于其它操作系统,并很快在各类大、中、小和微型计算机上广泛使用,成为国际上广为流行的计算机程序设计高级语言。本章主要介绍C语言的特点,C语言程序的结构与书写规则,C程序上机步骤,编译预处理,算法的概念及表示。1-1返回目录1.2 C语言程序的结构与书写格式语言程序的结构与书写格式 1.2.1 C语言程序举例语言程序举例 1.2.2 C语言程序的结构语言程序的结构 1.2.2.1 函数是语言程序的基本单位。函数是语言程

2、序的基本单位。1.2.2.2 函数的一般结构函数的一般结构 任何函数(包括main()函数)都是由函数首部和函数体两部分组成。1.函数首部:函数首部即函数第一行,由函数类型、函数名和函数参数表三部分组成。2.函数体:函数体为函数首部下面的花括号内的部分。函数体一般由声明部分和执行部分构成:声明部分定义所用到的变量,声明所调用的函数等;执行部分有若干语句组成。1-31.2.2.3 C语言程序的执行语言程序的执行 C语言程序总是从main()函数的第一条执行语句开始执行,执行完main()函数的最后一 条语句,则整个程序执行结束,而其他函数则通过嵌套调用得以执行。1.2.3 C语言程序书写格式语言

3、程序书写格式 1.行的书写格式自由,可从一行的任何位置开始书写。2.一行可书写多条语句,一条语句也可分写在几行上。3.所有语句都必须以分号“;”结束。4.允许使用注释。C语言的注释格式有两种:/,/*/。5.在书写程序时,通常采用缩格形式书写分层结构的程序。1-41.3 C1.3 C程序上机步骤程序上机步骤C源程序编好后,要经过编辑、编译、连接,生成可执行文件后,才可运行。1-5运行集成开发软件 编辑源程序编译连接运行结束有错?无有结果正确?正确不正确1.4 编译预处理编译预处理 编译预处理是指,在C编译程序对C源程序进行编译之前,由编译预处理程序对源程序中的预处理命令进行处理的过程。1.4.

4、1 宏定义宏定义 用一个标识符来表示一个字符串,称为“宏”,标识符称为“宏名”。在程序中用宏名替代字符串称为“宏调用”。在编译预处理时,将对程序中所有出现的“宏名”,都用宏定义中的字符串代换,这个过程称为“宏展开”。1.4.1.1 不带参数的宏定义不带参数的宏定义 格式为:#define 标识符 字符串 1.4.1.2 带参数的宏定义带参数的宏定义 格式为:define 宏名(参数表)字符串 1.4.2 文件包含文件包含 文件包含是指在一个文件中,去包含另一个文件的全部内容。格式为:#include 或#include 文件名 1-61.5 算法的概念及表示算法的概念及表示 1.5.1 1.5

5、.1 算法的概念算法的概念 为解决一个问题而采取的方法和步骤,称为算法。计算机能够执行的算法,称为计算机算法,它有以下特性:有穷性。确定性。输入。输出。有效性。1.5.2 1.5.2 算法的表示算法的表示 1.5.2.1 1.5.2.1 用自然语言表示算法用自然语言表示算法 自然语言就是人们日常使用的语言。1.5.2.2 1.5.2.2 用流程图表示算法用流程图表示算法 流程图是用一些图框表示各种操作,用图形表示算法。1-7第第2章章 数据类型、运算符与表达式数据类型、运算符与表达式 数据是程序处理的基本对象,由数据和运算符一起组成的表达式是计算机语言中最基本的计算成分。本章主要介绍基本数据类

6、型:整型,实型,字符型;常用运算符:算术运算符,赋值运算符,逗号运算符,以及相应的表达式。2-1返回目录2.1 数据类型数据类型 C语言的数据类型非常丰富,可分为:基本数据类型,构造数据类型,指针类型,空类型四大类。2-2基本类型构造类型指针类型空类型(void)整型实型字符型(char)枚举类型(enum)数组类型结构体类型(struct)共用体类型(union)单精度(float)双精度(double)长双精度(用的很少)短整型(short)整型(int)长整型(long)数据类型2.2 常量与变量常量与变量 2.2.1 标识符标识符 标识符是用来标识符号常量名、变量名、函数名、数组名、类

7、型名、文件名的有效字符序列,由字母、数字、下划线组成,且第一个字符必须为字母或下划线。2.2.2 常量常量2.2.2.1 2.2.2.1 字面常量(直接常量)字面常量(直接常量)字面常量是直接表示的常量。2.2.2.2 2.2.2.2 符号常量符号常量 符号常量是用一个标识符代表一个常量,使用编译预处理命令#define定义,定义格式为:#define 常量名 字面常量 2-32.2.3 变量变量 在程序运行过程中,其值可以改变的量称为变量。C语言规定,变量要先定义后使用。变量的定义一般在函数的声明部分,格式为:数据类型 变量名1,变量名2,;变量的三个要素:变量名。变量值。变量的地址.2.2

8、.4 2.2.4 变量的初始化变量的初始化 在定义变量的同时给变量赋以初值,称为变量初始化,出现在函数体的声明部分,格式为:数据类型 变量1=值1,变量2=值2,;2-42.3 整型数据整型数据 2.3.1 整型常量整型常量 在C语言中,整型常量有三种表示形式:十进制,数码为09。八进制(以数字0开头),数码为07。十六进制(以数字0 x或0X开头),数码为09,AF或af。在C语言中,整型常量可分为三种类型:基本整型。无符号基本整型(在数值后面加U或u)。长整型(在数值后面加L或l。2-52.3.2 2.3.2 整型变量整型变量 根据占用内存字节数的不同,整型变量分为三类:(1)基本整型,以

9、int表示。(2)短整型,以short int或short表示。(3)长整型,以long int或long表示。根据在内存中的存储形式,整型数据又分为有符号和无符号两种。2-6整型数据的分类类型标识符字节数存储位数值范围整型int216-3276832767短整型short216-3276832767长整型long432-21474836482147483647无符号整型unsigned int216065535无符号短整型unsigned short216065535无符号长整型unsigned long432042949672952.3.3 2.3.3 整型数据的溢出整型数据的溢出 如果在

10、数据处理时,超出了变量的取值范围,就会发生“溢出”现象。2.4 2.4 实型数据实型数据 2.4.1 2.4.1 实型常量实型常量 实型常量即实数,在C语言中又称浮点数,其值有两种表达形式。十进制小数形式,有数字和小数点组成,要求小数点的两边必须有数。指数形式,格式为 E(e)2-72.4.2 2.4.2 实型变量实型变量 C语言的实型变量分为三种:单精度型(float)、双精度型(double)、长双精度型(long double),实型数据在内存中是按指数形式存储的。2-8实型数据的分类类型标识符字节数存储位有效数字数值范围单精度型float432673.410-383.41038双精度型

11、double8641516-1.710-3081.7103082.5 2.5 字符型数据字符型数据 2.5.1 2.5.1 字符常量字符常量 用一对单引号括起来的单个字符,称为字符常量。C语言中有一种称为“转义字符”的特殊形式的字符常量,转义字符以反斜杠“”开头,将“”后面的字符转换为另外的含义。2-9转义符字符形式含义n换行,从当前位置移到下一行开头t水平制表(跳到下一个Tab位置)b退格,将当前位置移到前一列r回车,将当前位置移到本行开头单撇号字符反斜杠字符双撇号字符ddd13位八进制数所代表的字符xhh12位十六进制数所代表的字符2.5.2 2.5.2 字符变量字符变量 字符变量用来存放

12、字符常量,关键字为char,只能存放一个字符,占用1个字节内存单元。字符数据在内存中存储的是字符的ASCII码(一个无符号整数),其形式与整数的存储形式一样,表示范围是:0255。在C语言中允许字符型数据与整型数据之间通用。2-102.6 2.6 算术运算符和算术表达式算术运算符和算术表达式2.6.1 2.6.1 运算符及表达式简介运算符及表达式简介2.6.1.1 2.6.1.1 运算符运算符 C语言中的运算符具有2个特点:运算符的优先级 C语言中,运算符的优先级共分为15级,1级最高,15级最低。运算符的结合性 C语言中各运算符的结合性分为左结合性(从左到右)和右结合性(从右到左)。2.6.

13、1.2 2.6.1.2 表达式表达式 表达式是由常量、变量、函数和运算符组成的式子。表达式求值是按运算符的优先级和结合性规定的顺序进行的。2-112.6.2 2.6.2 算术运算符和算术表达式算术运算符和算术表达式2.6.2.1 2.6.2.1 基本的算术运算符基本的算术运算符 基本算术运算符均为双目运算,有5种:加法运算符“+”、减法运算符“-”、乘法运算符“*”、除法运算符“/”、求余运算符或模运算符“%”。用算术运算符和括号将运算对象(也称操作数)连接起来的、符合C语法规则的式子称为算术表达式,运算对象包括常量,变量、函数等。如果一个运算符两侧的运算对象数据类型不同,要先利用自动类型转换

14、或强制类型转换,使运算对象具有同一种数据类型,然后才能进行运算。2-122.6.2.2 2.6.2.2 类型转换类型转换 数据的类型是可以转换的。1.自动转换 如果一个运算符两侧运算对象的数据类型不同,则系统按“先转换、后运算”的原则,首先将数据自动转换成同一类型,然后在同一类型数据间进行运算。2.强制类型转换 强制类型转换是通过类型转换运算符来实现的,一般形式为 (类型名)(表达式)其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。2-13doublefloat unsignedlongintchar,short高低自动转换规则 2.6.2.3 2.6.2.3 自增(自增(+)、自

15、减()、自减(-)运算符)运算符 自增运算符(+)使单个变量的值增1,自减运算符(-)使单个变量的值减1,格式为 前置:+i,-i 在使用i之前,使i的值加(减)1 后置:i+,i-在使用i之后,使i的值加(减)1 2-142.7 2.7 赋值运算符和赋值表达式赋值运算符和赋值表达式2.7.1 2.7.1 赋值运算符赋值运算符 赋值运算符是“=”,它的作用是将一个数据或一个表达式的值赋给一个变量,赋值运算符的一般形式如下:变量=表达式2.7.2 2.7.2 复合的赋值运算符复合的赋值运算符 复合赋值运算符是由赋值运算符之前再加一个双目运算符构成的,一般格式如下:变量 双目运算符=表达式 它等价

16、于:变量=变量 双目运算符(表达式)。5个复合算术运算符:和赋值“+=”,差赋值“-=”,积赋值“*=”,商赋值“/=”,模赋值“%=”。由赋值运算符将一个变量和一个表达式连接起来的式子称为赋值表达式,它的一般形式为 赋值表达式的值为被赋变量的值。2-152.8 2.8 逗号运算符和逗号表达式逗号运算符和逗号表达式 在C语言中,逗号“,”也是一种运算符,称为逗号运算符,它把若干个表达式连接起来组成一个表达式,称为逗号表达式,一般形式为 表达式1,表达式2,表达式n逗号表达式的求解过程是:从左到右,依次计算各表达式的值,最后一个表达式的值即为整个逗号表达式的值。2-16 在第一章介绍了C语言程序

17、的结构,在第二章介绍了构成程序的基本成份:常量、变量、基本数据类型、常用运算符及表达式,本章将介绍C语句概述,数据的输入与输出,顺序结构程序设计。3-1第第3章章 顺序结构程序设计顺序结构程序设计返回目录3.1 C3.1 C语句概述语句概述 C语句用“;”做为结束,其作用是向计算机系统发出操作指令。3.1.1 3.1.1 控制语句控制语句 C语言有9种控制语句。if()else (条件语句)switch (开关语句)for()(循环语句)while()(循环语句)dowhile()(循环语句)continue (结束循环语句)break (中止执行switch语句或结束本次循环语句)goto

18、(无条件转向语句)return (从函数返回语句)3-23.1.2 3.1.2 函数调用语句函数调用语句 函数调用语句由一次函数调用加一个分号“;”组成。3.1.3 3.1.3 表达式语句表达式语句 表达式语句由表达式加一个分号“;”组成,其一般形式如下:表达式;3.1.4 3.1.4 复合语句复合语句 复合语句由花括号 把多条语句括起来组成。3.1.5 3.1.5 空语句空语句 只有一个分号“;”组成的语句,称为空语句,它什么也不执行,用作被转向点或循环语句中的循环体。3-3 3.2 3.2 数据的输入输出数据的输入输出 3.2.1 3.2.1 字符数据的输入输出字符数据的输入输出3.2.1

19、.1 putchar()3.2.1.1 putchar()函数(字符输出函数)函数(字符输出函数)putchar()函数是字符输出函数,其一般形式为:putchar(c)功能:向显示器输出一个字符。3.2.1.2 getchar()3.2.1.2 getchar()函数(字符输入函数)函数(字符输入函数)getchar()函数是字符输入函数,其一般形式为:getchar()功能:从键盘输入一个字符。3-43.2.2 printf()3.2.2 printf()函数(格式输出函数)函数(格式输出函数)3.2.2.1 printf3.2.2.1 printf函数函数()()(格式输出函数)的格式(

20、格式输出函数)的格式 printf()函数是格式输出函数,其一般格式如下:printf(格式控制字符串,输出表列);功能:按指定格式向终端(显示器)输出若干任意类型的数据。3.2.2.2 printf()3.2.2.2 printf()函数的格式字符函数的格式字符 1.d,i格式字符,按带符号的十进制形式输出整数,正数不输出符号,常用d。%d,按整型数据的实际长度输出。%md,m代表一个正整数,m为指定输出数据的宽度。若数据位数小于m,则左端补以空格;若数据位数大于m,则按实际位数输出。%-md,m代表一个正整数,m为指定输出数据的宽度。若数据位数小于m,则右端补以空格;若数据位数大于m,则按

21、实际位数输出。%ld,输出长整型数据。对长整型数据,可再使用m指定输出数据的宽度。3-5 2.o格式字符,按八进制形式输出整数,用法同d格式字符。3.x(或X)格式字符,按十六进制形式输出整数,用法同d格式字符。4.u格式字符,按无符号十进制形式输出整数,用法同d格式字符。5.c格式字符,输出一个字符。%c,输出一个字符。%mc,m代表一个正整数,m为指定输出数据的宽度,左端补以空格。%-mc,m代表一个正整数,m为指定输出数据的宽度,右端补以空格。6.s格式字符,输出一个字符串。%s,输出一个字符串%ms,m代表一个正整数,输出的字符串占m列,如果字符串本身长度大于m,则将字符串全部输出;如

22、果串长小于m,则左补空格。%-ms,m代表一个正整数,输出的字符串占m列,如果字符串本身长度大于m,则将字符串全部输出;如果串长小于m,则右补空格。%m.ns,输出占m列,但只取字符串中左端n个字符,这n个字符输出在m列的右侧,左补空格。如果nm,则m自动取n值即保证n个字符正常输出。%-m.ns,其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。%.ns,只指定了n,没指定m,自动使mn。3-6 7.f格式字符,按小数形式输出实数。%f,整数部分全部如数输出,并输出6位小数。但并非全部数字都是有效数字,单精度实数的有效位数一般为7位,双精度实数的有效位数一般为16位。%m.nf,指

23、定输出的数据共占m列,其中有n位小数,自动四舍五入。如果数值长度小于m,则左端补空格。%-m.nf,指定输出的数据共占m列,其中有n位小数,自动四舍五入。如果数值长度小于m,则右端补空格。%.nf,只指定了n,没指定m,自动使m等于数据应占的长度。8.e(或E)格式字符,以指数形式输出实数。%e,系统自动给出6位小数,共13位。%m.ne,用法同f格式字符。%-m.ne,用法同f格式字符。%.ne,用法同f格式字符。9.g(或G)格式字符,根据数值大小,自动选f或e。3-73.2.3 scanf()3.2.3 scanf()函数(格式输入函数)函数(格式输入函数)3.2.3.1 scanf()

24、3.2.3.1 scanf()函数(格式输入函数)的格式函数(格式输入函数)的格式 scanf()函数是格式输入函数,其一般格式如下:scanf(格式控制字符串,地址列表);功能:按指定的格式从终端(键盘)上把数据输入到指定的变量之中。3.2.3.2 scanf()3.2.3.2 scanf()函数的格式字符函数的格式字符 scanf()函数的格式字符与printf()函数类似,有d,o,x,u,c,s,f,e,使用方式亦与printf()函数类似,这里介绍常用的格式字符d、c、f的使用。1.d格式字符,用来输入有符号的十进制整数。%d,输入有符号的十进制整数。%md,m代表一个正整数,指定输

25、入数据占m列。%*d或%*md,表示跳过指定的输入项或指定的m列。%ld,输入长整型数据。3-82.c格式字符,用来输入单个字符。%c,输入一个字符。%*c,表示跳过指定的输入项。3.f格式字符,用来输入实数,可以用小数形式或指数形式输入。%f,用小数形式或指数形式输入实数。%lf,用于输入double型数据。%*f,表示跳过指定的输入项。3-9 3.3 3.3 顺序结构程序设计顺序结构程序设计3.3.1 3.3.1 顺序结构程序设计概述顺序结构程序设计概述 在顺序结构程序中,各语句是按照位置的先后次序,顺序执行的,且每条语句都会被执行到。3-10使用数学库函数时的头文件使用scanf()函数

26、、getchar()函数等使用算术表达式、赋值表达式等由语句组成的执行部分使用printf()函数、putchar()函数等#include#include void main()变量定义;输入数据 数据运算部分 输出部分 顺序结构程序的组成 3.3.2 顺序结构程序设计示例顺序结构程序设计示例第第4章章 选择结构程序设计选择结构程序设计 选择结构是C语言的三种基本结构之一。在数据处理过程中,经常需要根据不同的条件,完成不同的处理。例如,输出a和b两个数中的较大数。要求当a大于b时,输出a;否则,输出b。对于这种根据一定的条件选择执行路径的问题,要用选择结构来解决。本章主要介绍条件语句中“条件

27、”的产生与表达,两种条件语句(if语句和switch语句)的使用。4-1返回目录4-24.1 关系运算符和关系表达式关系运算符和关系表达式 4.1.1 关系运算符关系运算符 C语言的关系运算符一共有6种 关系运算符的结合性是自左至右。算术运算符、关系运算符、赋值运算符的运算次序为:算术运算符关系运算符赋值运算符。高低关系运算符含义使用形式优先级小于a3同级运算符=小于等于(x+y)大于a-3=大于等于a+b=x+y=等于a*b+2=x+y同级运算符!=不等于x!=0 4.1.2 关系表达式关系表达式 关系表达式:用关系运算符将两个表达式连接起来的式子,称为关系表达式。关系表达式的值是一个逻辑值

28、,即“真”或“假”,当关系表达式成立时,其值为“真”,不成立时,其值为“假”。C语言中没有逻辑型数据,而是用“1”表示“真”,用“0”表示“假”。在判断一个值是否为真时,只有“0”被认为是假,所有非“0”值均被认为是“真”。4-3 4.2.1 4.2.1 逻辑运算符逻辑运算符 C语言的逻辑运算符一共有3种。4-4 4.2 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式 高低x100逻辑或|(双目)x=10&x=100逻辑与&(双目)!(a字符串2,则strcmp()函数的返回值大于0;若字符串1=字符串2,则strcmp()函数的返回值等于0;若字符串1字符串2,则strcmp()函数的返回值小

29、于0。6-10第第7 7章章 函数函数 一个C程序往往由多个函数组成,每个函数具有一定的功能,通过函数之间的调用来完成整个程序的任务。本章主要介绍函数的概述、函数的定义、函数参数和函数值、函数的调用、函数的嵌套调用和递归调用、数组作函数的参数、局部变量和全局变量、动态存储变量和静态存储变量。7-1返回目录7.1 7.1 概述概述 7.1.1 C语言程序结构语言程序结构一个C程序由一个或多个源程序文件组成,一个源程序文件由一个或多个函数组成;每个源程序以一个文件形式存储,并以文件为单位进行编译。在C语言中,所有函数定义,包括main()函数在内,都是平行的,独立的。函数之间可以相互调用,也可以嵌

30、套调用,函数还可以自己调用自己。习惯上把调用者称为主调函数,把被调用者称为被调函数。main()函数是主函数,是系统定义的,它可以调用其他函数,但不允许被其他函数调用。C程序的执行总是从main()函数开始,调用其他的函数后返回main()函数,并在main()函数中结束整个程序的执行。7.1.2 7.1.2 函数的分类函数的分类库函数和用户定义函数有返回值函数和无返回值函数无参函数和有参函数7-27.2 7.2 函数的定义函数的定义 7.2.1 7.2.1 无参函数的定义无参函数的定义 定义格式如下:类型标识符 函数名()函数首部 声明部分 函数体 语句 7.2.2 7.2.2 有参函数的定

31、义有参函数的定义 定义格式如下:类型标识符 函数名(形式参数列表)声明部分 语句 7-37.3 7.3 函数参数和函数的值函数参数和函数的值 7.3.17.3.1 函数参数函数参数 形参必须是具有某种类型的变量,而实参可以是常量、变量或表达式,但当程序执行到函数调用语句时实参一定要有确定的值。形参在未出现函数调用时,并不占内存的存储单元,只有在函数调用时,才给形参分配存储单元,在函数调用结束时,形参所占的存储单元也随之被释放。实参与形参的个数应相等,类型应一致或赋值兼容。实参与形参按顺序对应,一一传递数据,实参对形参变量的数据传递是单向的“值传递”。7.3.2 7.3.2 函数的返回值函数的返

32、回值 C通过return语句返回函数的值,return语句的一般格式如下:return(表达式);或 return 表达式;其功能是将表达式的值作为函数的返回值带回主调函数,并结束被调函数的执行,返回到主调函数。如果函数值的类型和return语句中表达式的值的类型不一致,则以函数类型为准。7-47.4 7.4 函数的调用函数的调用 7.4.1 7.4.1 函数调用的一般形式函数调用的一般形式1.无参函数调用的一般形式:函数名()2.有参函数调用的一般形式:函数名(实参列表)7.4.2 7.4.2 函数调用的方式函数调用的方式 按函数调用出现在语句中的位置,将函数调用方式分为三种。1函数语句:把

33、函数调用作为一条语句。2函数表达式:函数调用出现在一个表达式中,这种表达式称为函数表达式。这时要求函数带回一个确定的值以参加表达式的运算,最常见的是赋值表达式,如:c=sum(a,b)。3函数参数:把函数的返回值作为另一个函数或下一次函数调用的实参。7-5 调用自定义函数时,自定义函数必须存在,一般还应在主函数中对被调函数作声明,声明方式如下:类型标识符 被调函数名(类型说明 变量名);当被调用函数的定义出现在主函数之前,函数声明可省略。调用库函数时,一定要将包含该函数的头文件包含到程序中。例如:调用printf()函数,则应在程序中包含stdio.h头文件;调用数学函数sqrt(),则应在程

34、序中包含math.h头文件。7-67.5 7.5 函数设计示例函数设计示例 设计函数的原则:一个函数不应处理太多的功能,要保持函数的小型化,功能单一化。一个函数要保持自己的独立性,如同一个黑匣子一样,有进有出,进指函数的入口,通过函数名和实际参数进入函数;出指函数的出口,通过return或“”结束函数的执行返回主调函数。在函数中应多使用复合语句,使函数具有结构化,并可提高执行效率和节省存储单元。一般在主调函数中定义变量,输入和输出数据,而把对数据的处理用函数来完成。7-77.6 7.6 函数的嵌套调用和递归调用函数的嵌套调用和递归调用 7.6.1 7.6.1 函数的嵌套调用函数的嵌套调用 在C

35、语言中函数的定义都是相互平行、相互独立的。在定义函数时,函数不能嵌套定义,但可以嵌套调用函数,即调用一个函数的过程中,又调用另一个函数。7.6.2 7.6.2 函数的递归调用函数的递归调用 函数的递归调用是指一个函数在它的函数体内,直接或间接的调用它自身。在递归调用中,函数反复调用自身,每调用一次进入新的一层。为了防止递归调用无终止地进行,必须在函数体内有终止递归调用的手段,常用的手段是加入条件判断,满足条件后就不再递归调用,然后逐层返回。7-87.7 7.7 数组作函数的参数数组作函数的参数 7.7.1 7.7.1 数组元素作函数的参数数组元素作函数的参数 数组元素就是下标变量,在使用上与普

36、通变量并无区别。在函数调用时,数组元素只能做函数的实参,把数组元素的值传送给形参,实现单向值传送。7.7.2 7.7.2 数组名作函数的参数数组名作函数的参数 数组名作函数参数时,既可以作形参,也可以作实参。要求形参和相对应的实参都必须是类型相同的数组,并在主调函数和被调函数中分别定义。用数组名作函数的参数,实参和形参传递的是“地址”,即将实参数组的首地址赋值给形参数组名,那么实参数组和形参数组在内存中就占用同一存储单元。因此形参数组的值发生变化时实参数组的值也跟着变化。7.7.3 7.7.3 二维数组作函数的参数二维数组作函数的参数 二维数组元素可以作函数的实参,和一维数组元素、普通变量作函

37、数的实参相同。二维数组名可以作函数的实参和形参,在调用函数时和一维数组名作函数的参数相同。注意:在被调用函数中对形参数组定义时可以指定每一维的大小,可以也只可以省 略第一维的大小说明。实参数组和形参数组的第二维的大小必须相同。7-97.8 7.8 局部变量和全局变量局部变量和全局变量 7.8.1 7.8.1 局部变量局部变量 在一个函数内部定义的变量称为局部变量,它只在该函数范围内有效。7.8.2 7.8.2 全局变量全局变量 在函数外部定义的变量称为全局变量,其作用域是:从变量定义位置开始,到本文件结束为止。7-107.9 7.9 动态存储变量与静态存储变量动态存储变量与静态存储变量 7.9

38、.17.9.1局部变量的存储方式局部变量的存储方式 局部变量一般是动态分配存储单元,也称为自动变量,用auto说明,调用时分配,结束时释放,不保留结果。如果希望保留局部变量的值,可以将其定义为静态局部变量,用static说明,定义格式为:static数据类型局部变量表;在定义静态局部变量时,如果不初始化,则自动赋以0(整型和实型)或0(字符型);且每次调用它们所在的函数时,变量不再重新赋初值,而是保留上次调用结束时的值。7.9.2 7.9.2 全局变量的存储方式全局变量的存储方式 全局变量,生存期从程序开始到结束,在程序运行期间始终占有内存单元,属于静态存储。全局变量如果允许其它文件使用,应在

39、引用它的文件中用extern说明;如果只限本文件使用,在定义时加static。7-11第第8 8章章 指针指针 指针是C语言中的一个重要概念,也是C语言的一个重要特色。正确灵活地运用指针可以有效的表示复杂的数据结构,能动态分配内存,能方便地使用字符串,有效而方便地使用数组,在调用函数时能得到多于一个的值,能直接处理内存地址等。本章主要介绍地址和指针的概念、指针变量的定义与应用、数组的指针和指向数组的指针变量、字符串的指针和指向字符串的指针变量、函数的指针和指向函数的指针变量、返回指针值的函数。8-1返回目录8.1 地址和指针的概念地址和指针的概念 8.1.1 8.1.1 地址地址 8.1.1.

40、1 8.1.1.1 内存地址内存地址 内存中存储单元的编号。8.1.1.2 8.1.1.2 变量地址变量地址 系统分配给变量的存储单元的起始地址称为变量地址。8.1.2 8.1.2 数据的存取方式数据的存取方式 8.1.2.1 8.1.2.1 直接访问方式直接访问方式 直接利用变量的地址进行存取8.1.2.2 8.1.2.2 间接访问方式间接访问方式 通过一个变量访问另一个变量的值。8.1.2.3 8.1.2.3 两种访问方式的比较两种访问方式的比较直接访问:甲知道乙在何处,直接去找。间接访问:甲通过丙(指针变量)找乙。8.1.3 8.1.3 指针与指针变量指针与指针变量 变量的指针:变量的地

41、址称为变量的指针。通过变量的指针能够找到变量。指针变量:专门用于存储其它变量地址的变量称为指针变量。8-28.2 指针变量的定义与应用指针变量的定义与应用 8.2.1 指针变量的定义和相关运算指针变量的定义和相关运算 8.2.1.1 指针变量的定义指针变量的定义 定义格式:基类型 *指针变量名;说明:星号“*”称为指针变量的定义标识符,表示后面的变量为指针变量;“基类型”表示指针变量所指向的变量的类型。8.2.1.28.2.1.2 指针变量的相关运算指针变量的相关运算 1.取地址运算符:&格式:&变量 功能:得到变量的地址。2.指针运算符(或称间接访问运算符):*格式:*指针变量 功能:访问指

42、针变量所指向的变量。8.2.28.2.2指针变量作函数参数指针变量作函数参数 指针变量既可以作函数的形参,也可以作函数的实参。指针变量作实参时,与普通变量一样,也是“值传递”,将指针变量的值(一个地址)传递给被调用函数的形参(必须是一个指针变量)。8-38.3 8.3 数组的指针和指向数组的指针变量数组的指针和指向数组的指针变量 8.3.1 8.3.1 指向数组元素的指针指向数组元素的指针 指向数组元素的指针变量的定义,与指向普通变量的指针变量的定义方法一样。8.3.2 8.3.2 通过指针引用数组元素通过指针引用数组元素 在C语言中数组元素的引用,既可用下标法,也可用指针法。如果有“inta

43、10,*p=a;”,则 p是数组的首地址,也是数组元素a0的地址;*p和a0等价。p+1指向数组的下一个元素,而不是简单地使指针变量p的值加1。p+i和a+i都是数组元素ai的地址;而*(p+i)和*(a+i)就是数组元素ai。指向数组的指针变量,也可以看作是数组名,可按下标法来使用。pi等价于*(p+i)等价于ai。8-4 8.3.38.3.3数组作函数参数数组作函数参数 数组名作形参时,接收实参数组首元素的地址;作实参时,将数组首元素的地址传递给形参数组。引入指向数组的指针变量后,数组及指向数组的指针变量作函数参数时,可有种等价形式:形参、实参都用数组名;形参、实参都用指针变量;形参用指针

44、变量、实参用数组名;形参用数组名、实参用指针变量;8-58.4 8.4 字符串的指针和指向字符串的指针变量字符串的指针和指向字符串的指针变量 8.4.1 8.4.1 使用字符指针表示和引用字符串使用字符指针表示和引用字符串 字符串在内存中的起始地址称为字符串的指针,可以定义一个字符指针变量指向一个字符串。定义字符指针变量的形式如下:char*指针变量名;8.4.2 8.4.2 字符串指字符串指针针做函数参数做函数参数 用字符串指针做函数的参数传递的是地址。8-68.5 8.5 返回指针值的函数返回指针值的函数 一个函数可以返回一个int型、float型、char型的数据,也可以返回一个指针类型

45、的数据。返回指针值的函数(简称指针函数)的定义格式如下:函数类型*函数名(形参表)8.6 8.6 函数的指针和指向函数的指针变量函数的指针和指向函数的指针变量 8.6.1 8.6.1 函数指针的概念函数指针的概念 一个函数在编译时,也被分配一块内存单元,这个内存单元的起始地址称为该函数的指针。8.6.2 8.6.2 指向函数的指针变量指向函数的指针变量定义格式:函数类型(*指针变量)();注意:“*指针变量”外的括号不能缺,否则就变成返回指针值的函数了。赋值格式:指向函数的指针变量&函数名;注意:函数名后不能带括号和参数;函数名前的“&”符号是可选的。调用格式:(*函数指针变量)(实参表)8.

46、6.3 8.6.3 指向函数的指针变量作函数参数指向函数的指针变量作函数参数 指向函数的指针变量的常用用途之一,就是将函数指针作参数,传递到其它函数。8-7第第9 9章章 结构体与共用体结构体与共用体 本章主要介绍结构体类型的定义、结构体变量的定义、结构体变量的引用和初始化、结构体数组、共用体。9-1返回目录9.1 9.1 结构体类型的定义结构体类型的定义 定义结构体类型的一般形式为:struct 结构体名 成员表列 ;其中,成员表列是对结构体数据中每一项数据项的声明,其格式与声明普通变量相同。9.29.2 结构体变量的定义结构体变量的定义 9.2.1 9.2.1 先定义结构体类型、再定义结构

47、体变量先定义结构体类型、再定义结构体变量 9.2.2 9.2.2 在定义结构体类型的同时,定义结构体变量在定义结构体类型的同时,定义结构体变量 9-29.3 9.3 结构体变量的引用和初始化结构体变量的引用和初始化 9.3.1 9.3.1 结构体变量的引用结构体变量的引用 结构体作为若干成员的集合是一个整体。在引用结构体变量时,不仅要对结构体变量整体进行操作,而且更多的是要访问结构体变量中的每个成员。引用结构体变量成员的方法是:结构体变量名.成员名“.”为成员运算符,其优先级最高,结合性为从左到右。对结构体变量进行输入输出时,只能以成员引用的方式进行,不能对结构体变量进行整体的输入输出。9.3

48、.2 9.3.2 结构体变量的初始化结构体变量的初始化 在初始化时,按照所定义的结构体类型的数据结构,依次写出各成员的初始值,在编译时,就将它们赋给此结构体变量中各成员。格式与一维数组相似。9-39.4 结构体数组结构体数组 数组元素是结构体类型的数组,称为结构体数组。定义结构体数组的方法与定义结构体变量的方法类似,只是要多用一个方括号以说明它是一个数组。结构体数组的初始化和普通数组的初始化相同,规则也相同。9-49.59.5 共用体共用体 9.5.1 9.5.1 共用体类型定义共用体类型定义共用体数据类型,是指将不同的数据项存放于同一段内存单元的一种构造数据类型。定义形式如下:union 共

49、用体名 成员表列 ;9.5.2 9.5.2 共用体变量的定义共用体变量的定义 定义共用体变量的方法与结构体变量很相似,形式如下:union 共用体名 成员列表;union 共用体名 变量列表;或者 union 共用体名 成员列表变量列表;9.5.3 9.5.3 共用体变量的引用共用体变量的引用 引用一个共用体变量中的某一个成员项,引用方式与引用结构体变量中的成员很相似。9-5第第1010章章 文件文件 在程序设计中,文件是一个重要的概念,对文件的操作是高级语言必须具备的功能。本章主要介绍介绍C语言文件概述、文件的打开和关闭、文件的读写操作。10-1返回目录10.1 C语言文件概述语言文件概述

50、10.1.1 10.1.1 文件的概念文件的概念 文件是指存放在外部存储介质上的数据集合。10.1.2 10.1.2 文件的分类文件的分类 10.1.2.1 10.1.2.1 从用户的角度看,文件可分为普通文件和设备文件。从用户的角度看,文件可分为普通文件和设备文件。10.1.2.2 10.1.2.2 从文件编码的方式来看,文件可分为从文件编码的方式来看,文件可分为ASCIIASCII码文件和二进制码文件。码文件和二进制码文件。10.1.3 C10.1.3 C语言处理文件的机制语言处理文件的机制 C语言将文件看作是由一个一个的字符(ASCII码文件)或字节(二进制文件)组成的,并不区分类型,都

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服