- 4
- 0
- 约3.02千字
- 约 7页
- 2017-08-22 发布于江苏
- 举报
CPP程序设计课时教案
课 时 教 案
周 次第3周第2次课课题函数机制授课类型理论课( √ )、实践课( √ )、实习( )时间设计授
课
内
容
与
教
学
设
计函数的定义和使用
程序范例:
编写函数fToc()实现温度的转换(将华氏温度转换为摄氏温度)。
转换公式为:c=(f-32)*5/9。
//C0501.CPP
#include iostream
using namespace std;
double fToc(double f)
{
double c = (f – 32) * 5 / 9;
return c;
//or
//return (f – 32) * 5 / 9;
}
main()
{
double f = 0;
while(cinf)
{
coutfToc(f)endl;
}
}
讲解新知识:
1. 函数的定义:
函数返回值类型 函数名(参数列表)
{
函数体语句;
}
返回值类型可以是任意类型,也可是void(表示没有返回值)。
函数名小写字母开头的单词。
参数列表可以为空,多个参数之间用逗号分隔。参数的定义形式为:数据类型 参数名。
函数体里面是实现函数功能的语句,若返回值不为void则需要有return语句。
2. 函数的使用:
函数可以单独成为一个语句,也可以用在表达式中。但是void函数只能单独成为一个语句。
调用函数时若函数原型有参数则需要传递实际参数给函数。
函数的参数
函数的参数可以有传值参数和传地址参数(指针和引用参数)。
1. 传值参数:将实参复制到形参中,实参本身没有任何改变。
如:
void changeValue(int a)
{
cout”before:a = “aendl;
a += 100;
cout”after:a = “aendl;
}
int main()
{
int b = 100;
cout”before:b=”bendl;
changeValue(b);
cout”after:b=”bendl;
}
性能:不适用于大数据对象的传递。
2. 传地址参数(指针和引用参数)
指针参数:传递的是地址(数组名或变量的地址)。实参和形参之间有关联,改变形参的值会影响实参的值。
若要切断形参和实参之间的这种相互影响,可以将指针参数或引用参数定义为const。
如:
#include iostream
using namespace std;
void changeValue(int* a)
{
coutbefore:a = *aendl;
*a += 100;
coutafter:a = *aendl;
}
int main()
{
int b = 100;
coutbefore:b=bendl;
changeValue(b);
coutafter:b=bendl;
}
引用参数
#include iostream
using namespace std;
void changeValue(int a)
{
coutbefore:a = aendl;
a += 100;
coutafter:a = aendl;
}
int main()
{
int b = 100;
coutbefore:b=bendl;
changeValue(b);
coutafter:b=bendl;
}
使用const后在函数中不可以修改实参的值:
#include iostream
using namespace std;
void changeValue(const int* a)
{
coutbefore:a = aendl;
//*a += 100;
coutafter:a = aendl;
}
int main()
{
int b = 100;
coutbefore:b=bendl;
changeValue(b);
coutafter:b=bendl;
}
函数指针
函数指针:指向函数的指针。
函数指针的定义:数据类型 (*函数指针名)(参数列表)
如:
#include iostream
using namespace std;
void (*cv)(int*);
void changeValue(int* a)
{
coutbefore:a = *aendl;
*a += 100;
coutafter:a = *aendl;
}
int main()
{
int b = 100;
coutbefore:b=bendl;
cv = changeValue;
cv(b);
coutafter:b=bendl;
}
课后思考:
1. 有关函数指针参数和函数指针数组请阅读教材
您可能关注的文档
- cisco-最新题库.doc
- Cisco,-,最新题库.doc
- Ch点估计习题课.doc
- CJJT-城镇燃气标志标准.doc
- CIWMBAgendaItem-June-,.doc
- cisco网络专题教程-.doc
- ck会计英语讲义.doc
- clan-surname-branch.doc
- ClassicalCAlgorithm.doc
- claudianhandout.doc
- 腾讯安全沙龙:红队视角下的海外SRC猎场:战略、战术与突破.pdf
- 【icap】ETS的范围扩展:设计和政策挑战.docx
- bcg -美国最高法院关于关税的裁决对你的企业意味着什么 What Does the US Supreme Court Ruling on Tariffs Mean for Your Business.pdf
- 2026届甘肃兰州市高三下学期第一次模拟考试历史试卷(扫描版,含答案).docx
- bcg -零售银行如何让人工智能代理发挥作用 How Retail Banks Can Put AI Agents to Work.pdf
- 住宅项目规范解读(GB 55038-2025) -培训 - 房地产-2025.docx
- 盘扣式脚手架工程量自动计算表 -培训 -房地产-2025.pdf
- 广东省汕头市2024-2025学年高三下学期第一次模拟考试英语学试题(含答案).docx
- 品牌研究+_+2025+CAPSE中国航司品牌榜单.pdf
- 【银河专题】如何看待豆粕内外价差关系.pdf
最近下载
- 位错线∥b screw dislocation.ppt VIP
- DQ380变速箱培训教材.pptx VIP
- 基层党组织2026年组织生活会个人五个方面对照检查自我剖析4篇.docx VIP
- 2025年重庆中考数学备考全指南(考点+真题+计划)(知识点归纳,必考知识点、真题模拟试卷及解析).docx VIP
- 卫生院胸痛救治单元建设应知应会.docx VIP
- 自考 00260《刑事诉讼法学》可打印背诵版(表格 + 高频考点 + 答题模板).docx VIP
- 强酸性阳离子交换树脂催化酯化丙烯酸和甲醇合成丙烯酸甲酯的反应动力学.pdf VIP
- 2025 年大学新闻传播学(新闻学概论)试题及答案.doc VIP
- 《“十五五”规划建议》全文解读.ppt VIP
- Unit 1 People at work 教案 课件 外研版英语四年级下册.docx VIP
原创力文档

文档评论(0)