




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计高级篇 第一讲跑马灯程序设计 函数参数传递 指针引入双C工作室 主要内容 一 针对上机出现的一些问题进行分析讲解二 电表计时计费系统 引入函数的参数传递 一般的值传递 数组的传递等 三 修改跑马灯程序 引入指针 练习简单的指针操作 四 选个题 五 习题选做 一 实验六上机问题总结 1 大括号 配对使用 2 for if 等之后除非是要进行 空操作 否则不能直接跟上 号 3 循环的嵌套 不只有while for 这种方式 4 函数的概念还没有 5 单步调试 注意查看view debugwindows watch窗口 在这个窗口输入你想要看的变量名 自己动脑解决问题 自己调整 一段子程序来实现某个功能 在C语言中将常用的功能模块编写成函数 二 电表计时计费系统 1 管理员子系统 图1电表计时计费系统 管理员子系统 实现了特定的功能 实现了特定的功能 1 管理员身份验证模块 booladministerVerify charadmname intadmpassword 一维数组作为参数传递 2 管理员身份操作模块 voidadministerOperate intrestElectric MONTH intelectricBill MONTH 二维数组作为参数传递 三 有趣的问题 1 有一对兔子 从出生后第3个月起每个月都生一堆兔子 小兔子长到第3个月后每个月又生一堆兔子 假设所有兔子都不死 请问第十个月兔子的总数是多少 第一百个月呢 1 问题分析 兔子繁殖的规律 2 绘制流程图 3 源代码 includevoidmain longintf1 f2 inti intnumberMouths f1 1 f2 1 printf 请输入您想要知道的月份 scanf d 实验七 1 填空 将电表计时计费系统 管理员操作模块的一些功能补充完整 2 写一个判素数的函数 在主函数输入一个整数 输出是否素数的信息 书202页8 3题 3 用指针方法处理 输入3个整数 按由小到大的顺序输出 书278页10 2题 思考 书202页8 14题 学生成绩管理系统部分功能实现 函数的作用 1 常用的功能模块编写成函数 放在公共函数库中供大家选用 如 库函数 2 将一些特定功能的模块写成函数 便于程序阅读 程序扩展 及团队之间的有效合作 一个大的工程 每个特定的部分需要不同的人来完成 你所写的函数 此时只要提供函数的使用方法 函数名 形式参数 返回参数及具体实现的功能 团队中其他人员即可使用你所编写的程序 而不用关心函数内部具体是如何实现的 函数定义 1 无参函数类型标识符函数名 声明部分语句部分 voiddelay for inti 0 i 100000000 i 2 有参函数类型标识符函数名 形式参数列表 声明部分语句部分 intmax intx inty intz z x y x y return z 空函数 类型说明符函数名 思考 其作用 函数的使用 一般形式 函数名 实参列表 调用方式 1 函数语句 delay 2 函数表达式 c 2 max a b 3 函数参数 m max a max b c voidmain inta b c m intmax intx inty scanf d d d 注意 使用某函数之前 要在调用该函数的主函数 或其他函数 进行该函数的声明 函数参数 1 形式参数 定义函数时函数名后面括号中的变量 2 实际参数 调用某个函数时 该函数名后面括号中的变量 voidmain inta b c m intmax intx inty scanf d d d intmax intx inty intz z x y x y return z 形式参数 形参 实际参数 实参 函数参数传递 1 值传递 单向传递 只由实参传给形参 传递的是值 intmax intx inty intz z x y x y return z includevoidmain inta 5 b 3 c 9 m intmax intx inty m max a max b c printf a d b d c d max d n a b c m 图参数传递 图调用函数 在内存中 实参 形参放在不同的单元 2 地址传递 1 数组作为函数参数 传递的是数组首元素地址 includevoidmain floataverage floatarray floatscore 10 aver inti printf intput10scores n for i 0 i 10 i scanf f floataverage floatarray inti floataver sum array 0 for i 1 i 10 i sum sum array i aver sum 10 returnaver 查看 数组传递与值传递的区别 两个数组共占一段内存单元 指针的引入 函数的参数如果不是数组 但又想传递过来的不只是变量的值 而是该变量的地址 即直接在函数中就改变了参数的值 要怎么处理 includevoidmain voidswap intx inty inta b printf pleaseinput2numberas a b scanf d d voidswap intx inty intz z x x y y z includevoidmain voidswap int x int y int p a p b inta b printf pleaseinput2numberas a b scanf d d voidswap int x int y intz z x x y y z return 让我们先看看这两个程序执行出来的差别吧 指针定义 根据变量名与地址的对应关系 找到变量a的地址2000 然后从由2000开始的两个字节中取出数据 进行输出 思考 数据在内存中如何存储 如何读取 区分 内存单元的地址与内存单元的内容这两个概念 如 inta 3 Printf d a 2000 a 指针 一个变量的地址成为该变量的 指
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025福建漳州卫生职业学院高层次人才招聘13人模拟试卷及答案详解(夺冠)
- 2025年宁波余姚市人民医院医共体第一次招聘编外人员16人考前自测高频考点模拟试题及1套参考答案详解
- 2025江西南昌医学院招聘模拟试卷附答案详解(模拟题)
- 2025吉林白城市暨洮北区人才交流中心就业见习岗位和见习人员征集模拟试卷及答案详解(网校专用)
- 2025年福建省龙岩市新罗区苏坂中心幼儿园招聘1人模拟试卷附答案详解(黄金题型)
- 2025贵州黔南州都匀市中小企业融资担保有限责任公司拟聘用人员考前自测高频考点模拟试题及答案详解(有一套)
- 2025内蒙古呼和浩特市新城区中医蒙医医院(新城区保合少镇卫生院)招聘1人考前自测高频考点模拟试题(含答案详解)
- 2025年山西财经大学高层次人才引进考前自测高频考点模拟试题及答案详解(考点梳理)
- 2025年济南水务集团员工招聘初审考前自测高频考点模拟试题附答案详解(模拟题)
- 浙江省六校联盟2025-2026学年高二上学期10月月考语文试题(含答案)
- 钢结构工程高空防坠落方案
- 《已上市化学药品药学变更研究技术指导原则(试行)》
- 高大模板支撑安装旁站记录
- 传媒行业销售员聘用合同
- 2025年秋季师徒结对师傅计划
- DB32T 4919-202412345政务服务便民热线诉求分类与代码
- 2《五石之瓠》公开课一等奖创新教学设计 统编版高中语文选择性必修上册
- DB37T 1913-2011 金属非金属地下矿山特种作业人员配置
- 高职高考数学复习第五章数列5-1数列课件
- 高一必修一英语单词默写表
- 【MOOC】机械设计-华中科技大学 中国大学慕课MOOC答案
评论
0/150
提交评论