




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
函数与结构化编程课程安排程序=数据(组合)+语句(组合) 数据(组合):基本数据类型,组合数据类型 语句(组合):表达式与语句,流程控制 在main中开始语句控制流一直到main结束返回就足够了么? main写了上百甚至几百上千行,做了很多很多事!以后要维护、升级从哪里开始? 一个公司由采购、研发、生产、工程、支持等部门组成,便于职能管理。 程序也需要这样,按职能分割再组合到一起—结构化编程 构化程序设计方法引入了工程思想和结构化思想,使大型软件的开发和编程都得到极大的改善 遵循结构化的程序的设计原则,按结构化程序设计方法设计出的程序具有明显的优点 其一,程序易于理解、使用和维护 其二,提高了编程工作的效率,降低了软件开发的成本 其实你已经在进行程序结构化了(或许是被迫!) #include<stdio.h>--引用库函数 intmain(void) { //从控制台获得输入信息 //将输入信息原样输出 return0; } 我们调用C库函数实现–函数是程序结构化的基础 让结构化进行得更彻底点吧 intmain(void) { //所见即所得 int_out(); return0; } int_out()从哪里来?--需要自己实现的函数! 课程安排C入口函数:main主函数 进入main函数之后,实用程序往往由N多个函数(库函数/自定义函数)组成,通过逐级函数调用,实现程序功能 一个函数不宜过长(不要超过50行),函数使用原则:一个函数只做一件事(实现一个功能) 1、函数的命名 GNU命名规范:小写字母,与”_”分隔单词 2、返回值类型 可以是基本类型、也可以是结构 但不能直接返回数组! 3、函数原型声明 先定义,再使用的原则 也可以先声明,再使用,后定义 4、实参和形参 参数可以是任何类型! 声明、定义时指定形参,使用时传入的为实参 调用的方法是用实参代替形参: 函数语句方式调用:add(10,20); 函数表达式方式调用:sum=add(10,20); 函数参数方式调用:printf(“sumis%d\n”,add(10,20)); 函数调用之前必须先定义或者声明 函数声明方式:函数类型函数名(形参类型说明表); 最后调用的函数最先返回 右边程序执行结果是什么? 课程安排形式参数:定义函数时,函数名后面括号中的变量名 形参必须指定类型 实际参数:调用函数时,函数名后面括号中的表达式 实参必须有确定的值 形参与实参类型一致,个数相同 若形参与实参类型不一致,自动按形参类型转换(隐式转换) 实参是怎么传递给形参的? 将实参的值拷贝(赋值)给形参! 调用结束,形参内存被释放,实参单元仍保留并维持原值 无参函数 intmain(void) 基本类型作为函数参数 add(inta,intb); 数组作为函数参数:传递的是数组地址(用指针表示地址!) chardes[128]={0}; charsrc[]={“xnf”}; strcpy(des,src); 组合结构类型作为函数参数:实参整个结构值拷贝给形参 大结构拷贝造成函数调用效率低,通常做法是传递结构地址(用指针表示地址!) show_info(stu_info_tstu); 指针作为函数参数:高效的传递方式,学习指针时再回来 无返回类型函数(void函数) 执行return;语句返回或者函数结束后自动返回 有返回类型函数(非void函数) 执行return(表达式);或者return表达式;返回 返回类型不一致会发生什么事?基本类型作为函数返回类型 intadd(inta,intb); 不能把数组作为函数返回类型 只能通过指针实现! 组合结构类型作为函数返回类型通常通过指针实现! 指针作为函数返回类型: 学习指针时再回来 课程安排实际的程序不单只有main.c一个文件,而是可能由多个.c(源文件)和.h(头文件)组成 这些文件是怎么得来的呢?这就涉及程序的模块化! 一个大型程序往往按功能或者层次结构划分为多个模块 例如一个手机软件程序:人机交互界面、通话功能、短信功能、日期时间、用户密码、通信录/通话记录保存、网络通信。。。 那么多功能都塞在一个main.c中完成么?怎么做才方便维护与管理? 这就要求模块化—每个子功能实现为一个模块(一个.c文件和一个对应.h文件)把程序划分为主模块和多个辅助功能模块 主模块实现为main.c:在主函数中调用辅助功能模块中的接口函数,将子功能串联起来实现程序功能 辅助模块实现为*.c和*

王子****青蛙
实名认证
内容提供者


最近下载
最新上传
浙江省宁波市2024-2025学年高三下学期4月高考模拟考试语文试题及参考答案.docx
汤成难《漂浮于万有引力中的房屋》阅读答案.docx
四川省达州市普通高中2025届第二次诊断性检测语文试卷及参考答案.docx
山西省吕梁市2025年高三下学期第二次模拟考试语文试题及参考答案.docx
山西省部分学校2024-2025学年高二下学期3月月考语文试题及参考答案.docx
山西省2025年届高考考前适应性测试(冲刺卷)语文试卷及参考答案.docx
全国各地市语文中考真题名著阅读分类汇编.docx
七年级历史下册易混易错84条.docx
湖北省2024-2025学年高一下学期4月期中联考语文试题及参考答案.docx
黑龙江省大庆市2025届高三第三次教学质量检测语文试卷及参考答案.docx