- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
语言程序设计;第八章 函数;第八章 函数 ;【讲在最前面:程序的执行过程】 ;第二节 函数的概念定义与分类 ;一、函数: ;头文件主要包括:
#include “stdio.h”
#include “stdlib.h”
#include “string.h”
#include “math.h”;二、函数定义 ;例如:
double sqare(double n)
{return n*n};};三、函数的四种类型 ;(1)有参数、有返回值
例 int bigger(int a,int b)
{
return (ab)?a:b;
}
?
(2)有参数、无返回值
例 void delay(long a)
{ int x=0;
for(int i=1;i=a;i++);
};(3)无参数、有返回值
例 int getx()
{
int x;
printf(please input a integer:\n);
scanf(“%d”,x);
return x;
}
(4)无参数、无返回值
例 void message()
{ printf(this is a message.\n);};第三节 函数的声明与调用(使用) ;一、函数声明 ;2.?为什么要使用函数声明
(1)函数必须先定义后使用。
(2)若函数定义于函数使用之前,则不必给出函数原型。
(3)若函数定义于函数使用之后,则必须给出函数原型。 ;二、 函数的调用 ;函数调用方式 ;第四节 参数传递 ;一、在C语言中实现的是从实参到形参的单向值传递: ;二、数组名做参数(其实是一种传地址的方式);三、举例讨论如何实现程序功能的函数化 ;【源程序】
#include stdio.h
void main()
{ int i,x,flag=0-1;
int a[10]={6,8,5,4,6,9,3,1,20,-37};
scanf(%d,x);
for(i=0;i10;i++)
if(a[i]==x) flag=i;
if(flag==-1) printf(not the element);
else printf(the position is %d,flag);
};函数化后的结果:
#include stdio.h
int search(int a[],int len,int x)
{ int i;
for(i=0;ilen;i++)
if(a[i]==x) return i;
return -1;
}
void main()
{ int i,x,flag;
int a[10]={6,8,5,4,6,9,3,1,20,-37};
scanf(%d,x); flag=search(a,10,x);
if(flag==-1) printf(not the element);
else printf(the position is %d,flag);
};第五节 递归调用 ;一、递归函数的开始:从一个没有结束的自调用函数开始讲起 ;void subfuntion()
{
printf(subfuntion begins \n);
subfuntion();
printf(subfuntion ends \n);
}
void main()
{ printf(function main begins\n);
subfuntion();
printf(function main ends\n);
};二、递归函数 ;例1:求n! ;2、递归调用过程: 讲解fact(4)调用过程。 ;例2:Fibonacci数列1,1,2,3,5,…… ;例3: ;【思考题】;第六节 程序举例例1:阶乘求和问题例2:水仙花数判断问题例3:完数判断问题;第七节 局部变量和全局变量 ;一、局部变量和全局变量 ;二、变量的存储类型 ;变量存储类别
;例1(说明同名自动变量的全局与局部的关系)
#include stdio.h
void main()
{ int x=5,y=1; /*局部变量*/
printf(\nx=%d,y=%d,x,y);
{
int x=3; /*局部变量*/
printf(\nx=%d,y=%d,x,y);
}
printf(\nx=%d,y=%d,x,y);
}?;结果:x=5,y=1
x=3,y=1
x=5,y=1
结论:在全局变量和局部变量同名的情况下,在局部变量的作用范围内,局部变量有效,其余范围内,全局
您可能关注的文档
最近下载
- 《心理健康讲座》ppt课件(图文).pptx
- 初中英语话剧7-8个人物的剧本.doc VIP
- 鲁教版五四制八年级上册生物 第七单元 第一章 动物的主要类群 练习题(无答案).doc VIP
- [人教版小学五年级上册美术教案.doc VIP
- 《中华人民共和国放射性污染防治法》知识培训.pptx VIP
- 二年级上册劳动技术教案(详).docx VIP
- 第2课 使用数字设备 教案 义务教育人教版信息科技三年级全一册.docx VIP
- DLT5161表格大全(电气装置安装工程质量检验和评定规程).pdf VIP
- 初中数学综合实践活动课教学策略研究.pptx VIP
- 六年级语文上册第二单元教材分析+说课.pptx VIP
文档评论(0)