- 2
- 0
- 约3.43千字
- 约 19页
- 2019-01-30 发布于江苏
- 举报
第11章:c语函数的讨论
本章主要对三个函数进行了讨论:1、对main( )函数的进一步讨论;2、函数指针;3、函数的递归调用; 11.1 传给main函数的参数 在些之前: 我们一直强调main函数的()中是空的,不能有参数; 但是今天我们要加以注意: main函数也是可以带参数; 三个记忆: 1、 main函数可以带参数; 2、 main函数只能有两个参数; 3、 main函数的两个参数格式是固定的; main函数的参数格式如下: main( int argc, char **argv ) main( int argc, char *argv[ ] ) main( int a, char *g[ ] ) 参数要求: 第一个参数必须是整型; 第二个参数是一个指向字符型的指针数组的指针; 两个参数功能: 第一个参数是用来统计从命令行中输入字符串的个数,它是值最少是1; 第二个参数是用来指向每一个字符串的; 一般函数的形参是由实参给它传值,而main函数的两个参数由谁给值? 其实,在支持C的环境中,可以在运行C程序时,通过运行C程 序的命令行把参数传送给C程序。 P-157 什么是命令行? dir time 例: main( int argc, char *argv[]) { …… } 该程序保存为myc.c的文件,经编译连接后,生成一个myc.exe的文件 若在命令行中输入: myc 那么两个参数将后到什么样的值: 第一个参数argc 的值是1; 第二个参数指向了第一个字符串 argv[0] - “myc” 例11.1 若以下程序放在myc.c文件中,在编译连接中,生成 一个myc.exe 文件,输出argc和argv中的数据。 main( int argc, char *argv[ ]) { int i; printf(“argc=%d\n”,argc); for(i=1; iargc; i++) printf(“%s”,argv[i]); } 若在命令行中输入:myc A COMMAND LINE argc=4; 最后结果为: argc=4 A COMMAND LINE 11.2 通过实参向函数传递函数名或指向函数的指针变量 (函数指针) 在C语言中函数名代表该函数的入口地址,因此 可以定义一种指向函数的指针来存放这种地址。 函数指针的定义格式: 类型名 (*标识符) (形参类型名1,形参类型名2, ….) 例: int (*k) (int ,float ,double) 函数指针的定义格式和功能: 编程求三个整数的平均值: main( ) { int x,y,z; float ave; scanf(“%d%d%d”,x,y,z); ave=fave(x,y,z); printf(“%f”,ave); } float fave(int a,int b,int c) { flaot ave; ave=(a+b+c)/3.0; return ave; } 函数指针的定义格式和功能: flaot fave( int ,int ,int ); main( ) { int x,y,z; float ave; float (*p) (int ,int ,int) ; p=fave; scanf(“%d%d%d”,x,y,z); ave=(*p) (x,y,z); printf(“%f”,ave); } float fave(int a,int b,int c) { flaot ave; ave=(a+b+c)/3.0; return ave; } 2.函数名或指向函数的指针变量作为实参 11.2 通过给trans函数传送不同的函数名,求tan x和cot x; #include stdio.h #include math.h double tran(double (*)(double),double (*)(double),double); main( ) { double v=60*3.1415/180.0; y=tran(sin,cos,v);printf(tan(60)=%10.6f\n,y); y=tran(cos,sin,v);printf(cot(60)=%10.6f\n,y); } double tran (double (*fl)(double),double (*f2)(dou
您可能关注的文档
- 第07章 分组询及分组函数.ppt
- 第07章 作为者的管理者.ppt
- 第07章 绘制编辑复杂二维图形对象.ppt
- 第07章 犯罪体.ppt
- 第07章 气态染物控制技术208.ppt
- 第07章 消费、生产者与市场效率.ppt
- 第07章 金融往来业务的核算.ppt
- 第07章 面向法的语义描述.ppt
- 第07章AD转.ppt
- 第07章-齿轮及其设计.ppt
- 统编版2025年春季新版七年级下册历史 第21课 明清时期的科技与文化 教案.docx
- 雅安雨城法院书记员招聘考试真题库2025.docx
- 2026届安徽合肥市高考一模高考语文试卷试题(含答案详解).pdf
- 【专题研究】国内外城市更新研究的最新进展.pdf
- 【专题研究】老旧城区改造居民满意度影响因素研究——以遂宁市老旧城区改造为例.pdf
- 【专题研究】关于旧城空间改造理论与创意设计案例的几点思考.pdf
- 西藏拉萨市高三下学期期末物理备考重点详解.docx
- 泾县法院书记员招聘笔试真题2025.pdf
- 2026年春【苏教版】-六年级数学下册-面积的变化.pptx
- 2026年春【苏教版】-六年级数学下册-7.pptx
最近下载
- 电力电子应用技术-第5版答案-第2章-思考题和习题.doc VIP
- 2025年CSCO胃癌诊疗指南解读-PPT课件(图文).pptx VIP
- 2026年鄂尔多斯生态环境职业学院高职单招职业适应性测试备考题库及答案解析.docx VIP
- (无损检测新技术课件)无损检测技术概论.pptx VIP
- 【高清可复制】S775(六)重力式无阀滤池.pdf VIP
- 2025年山西青年职业学院单招笔试综合素质试题库含答案解析(5套共100道单选合辑).docx VIP
- 西安历史与文化.ppt VIP
- 因道路坑洼造成轮胎爆胎的民事起诉状模板.docx VIP
- 客户转托管、撤指定挽留流程和技巧.docx VIP
- 河海大学2024-2025学年第1学期《宏观经济学》期末考试试卷(B卷)附标准答案.docx
原创力文档

文档评论(0)