



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言复习函数自顶而下逐步求精模块化设计函数的定义和调用 函数名() 说明语句; 执行语句;函数的存储类只有extern(外部)和static(静态)。存储类型为extern时,可省略。 函数的数据类型是函数返回值的数据类型,可以是各种基本数据类型(char、int、double等)和复杂数据类型,包括指针类型和结构体。当函数的数据类型为int时,可省略。当函数不需要返回值时,将函数的数据类型指定为void函数原型: void delay(unsigned t);/函数在使用前需声明调用语句: delay(600000);p177面有函数的调用方式函数间的数据传递 用全局变量传值(一般考试限制使用) 用函数返回值传值int power(int x, int n) int p; for(p=1;n0;-n) p=p * x; return(p); 地址传送方式传送数据(通过指针对地址进行操作)#include void swap(int *x, int *y); / 函数原型声明void main() int a, b, c; scanf(%d%d%d, &a, &b, &c); if (a b) swap(&a, &b); / 如果ab,a和b交换 if (a c) swap(&a, &c); / 如果ac,a和c交换 if (b c) swap(&b, &c); / 如果bc,b和c交换 printf(%dt%dt%dn, a, b, c);/ 输出排序后的结果void swap(int *x, int *y)/ 函数swap定义,采用传地址的方式传递函数的参数 / 交换指针x所指向的变量内容和指针y所指的变量内容 int temp; temp = *x; / 指针x所指向的变量内容暂存在变量temp中 *x = *y; / 指针y所指向的变量内容赋值给指针x所指的变量 *y = temp; / 将暂存在temp中的内容赋值给指针y所指的变量 return;该程序的运行结果为:5 4 8 /输入:4 5 8三数组与函数一维数组名作为函数参数(例7-8)规划函数的原型为:void input(float *,int);float average(float *,int);void maxmin(float *,int, float *,float *);这些函数的原型有时也可写成:void input(float ,int);float average(float ,int);void maxmin(float ,int, float , float );多维数组名作为函数参数(1)n维数组(n=2)可以逐级分解为n-1维数组为元素的一维数组;(2) n维数组的数组名是指向n-1维数组的指针,其值为n维数组的首地址,类型为n-1维数组类型的指针;(3) n维数组的元素是指向n-1维数组的元素的指针,其值为n-1维数组的首地址,类型为n-1维数组的元素类型的指针;数组指针(勿与指针数组弄混)例题7.11 7.12数组指针的(物理)地址增量值以一维数组的长度为单位,比指向一维数组元素的指针(即普通指针变量)类型层次的级别更高,具有如下不同的特点:1 不能把一个一维数组的首地址,即一维数组名直接赋给指向相同数据类型的数组指针: int a10, (*ap)10;2 ap = a; / 出错,不能把一个一维数组的首地 址赋给数组指针 即使数组指针指向了一维数组a ,也不能用“(*ap)i”或“*api”等形式的表达式去访问一维数组a的第i号元素,这些表达式都是没有实际意义。此处*ap + i为一个地址 四字符串与函数1)字符串复制函数 char *strcpy(char *dest,char *src);将指针src所指向的字符串复制到指针dest所指向的内存区域中,函数返回dest所指向的字符串的首地址。(2) 两个字符串的比较函数 int strcmp(char *s1,char *s2);该函数的功能将指针s1所指向的字符串和指针s2所指向的字符串进行比较,函数返回比较的结果: 如果字符串1与字符串2相等,函数返回0。如果字符串1大于字符串2,函数值为一正整数。 果字符串1小于字符串2,函数值为一负整数。(3) 求字符串的长度函数 int strlen(char *s);单个字符串处理:例7.15 单个字符串的处理的核心是围绕有效字符串进行处理,即以字符串的结束标志0为核心多个字符串的处理 处理多个字符串的函数仍是采用地址传送方式向函数传递信息。由于实参是二维符数组名或字符指针数组名,相应函数的形式参数应采用数组指针或多级指针。指针型函数p201 涉及较少带参数的main函数 (注意一下下即可) 操作系统下键入的命令行参数如何传递到C语言程序中去呢?C语言专门设置了接收命令行参数的方法。它是在程序的主函数main( )中使用形式参数来接收。执行带有命令行在数的C语言程序的主函数应该是下列形式: int main(int argc, char *argv) argc的值是命令行中包括命的所有参数的个数之和。指针数组argv 的各个指针分别指向命令中命令名和各个参数的字符串。 例7.29 一个打印其命令行参数的程序#include #include int mai
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 创建连续流课件
- 化学品MSDS安全培训课件
- 小学语文统编版五年级下册第三单元综合性学习遨游汉字王国我爱你汉字 公开课一等奖创新教案
- 化学分析安全培训课件
- 16夏天里的成长第2课时 同步+公开课一等奖创新教学设计+学习任务单+分层练习+听写
- 先兆流产课件
- 课程开设和课堂教学情况汇报
- 狼疮的病历汇报
- 结构设计详解
- 大学积分变换讲解
- 《医疗机构基本标准(试行)》2018年版
- 外科品管圈提高外科腹部手术后早期下床的执行率课件
- 石油化工行业检修工程预算定额说明
- 图书销售合同合同
- 除数是整数的小数除法练习课
- 东芝电梯CV180故障诊断
- 毕业设计住宅楼采暖系统设计
- 三年级上册数学课件-5 间隔排列|苏教版
- 退伍军人职业规划课件
- 洗眼器教育培训
- 调查研究方法与调研报告写作讲义课件
评论
0/150
提交评论