小学生学C++编程语法知识(C++函数 :8、默认参数)

📅2026/7/14 14:39:14 👁️次浏览
小学生学C++编程语法知识(C++函数 :8、默认参数)
C函数 第八课《神奇的备用方案——默认参数Default Arguments》本课学习目标学完本课同学们能够✅ 理解什么是默认参数✅ 会编写带默认参数的函数✅ 知道什么时候使用默认值✅ 理解默认参数的调用规则✅ 掌握默认参数的注意事项第一幕程序王国的新工厂1、今天程序王国建了一家新的工厂。叫打印星星工厂。2、汉克老师写void printStar(int n) { for(int i1;in;i) cout*; coutendl; }调用printStar(5);输出*****同学们都会。3、可是。国王说大多数时候我只想打印1颗星星。难道每次都要写printStar(1);是不是有点麻烦有没有办法什么都不写也默认打印1颗第二幕聪明的工厂1、魔法师来了。他说如果没人告诉工厂打印几颗星星。那就自己决定。2、他写下了void printStar(int n 1)这里1就是默认参数。3、意思就是如果没有送数字。就自己使用1。第三幕第一次体验默认参数1、看代码#include iostream using namespace std; void printStar(int n 1) { for(int i1;in;i) cout*; coutendl; } int main() { printStar(); printStar(5); printStar(8); return 0; }运行结果* ***** ********2、为什么第一句printStar();还能运行因为没有参数。程序自动用了n1第四幕默认参数像备用方案1、画图。1调用printStar();2流程有没有参数 ↓ 没有 ↓ 使用默认值13如果printStar(6);4流程有没有参数 ↓ 有 ↓ 使用6 ↓ 忽略默认值2、总结默认值只有在没有提供参数时才会使用。第五幕生活中的默认设置1、手机闹钟。默认铃声 默认铃声如果自己改。就是铃声 音乐否则一直使用默认铃声。默认参数。就是这样。2、打印机。默认打印1份如果输入打印5份当然打印5份。同学们还能说出几个生活中的例子呢第六幕多个参数1、看代码void student(string name, int age10)1调用student(小明);2输出小明 103再调用student(小红,12);4输出小红 122、画图。名字 必须告诉 年龄 可以不告诉第七幕设置多个默认参数还能继续吗1、例如void game(int level1, int hp100, int money0)1调用game();得到1 100 02调用game(3);得到3 100 03调用game(3,80);得到3 80 04调用game(3,80,500);得到3 80 5002、同学们会发现参数是从左到右依次填写。第八幕为什么默认参数必须放后面1、如果是void test(int x1,int y)这样对吗2、答案❌ 错误3、为什么举例调用test(5);1到底x5 y2还是x1 y5程序根本不知道。4、所以规定默认参数只能放在后面。正确void test(int x, int y1)或者void test(int x, int y1, int z2)错误void test(int x1, int y)以及void test(int x1, int y, int z3)5、总结口诀默认参数站最后前面不能有空位。第九幕默认参数写在哪里1、汉克老师告诉大家如果函数只有定义。可以这样写void print(int n1) { }2、但是如果有声明。推荐写在声明里。1例如void print(int n1);定义void print(int n) { }2解释默认参数一般只写一次通常写在函数声明中。这是一个良好的编程习惯。第十幕默认参数有什么好处1、以前写printStar(1);现在。直接printStar();更加简单。2、以后很多大型程序。都会大量使用。例如画图。游戏。机器人。第十一幕课堂综合案例1、欢迎系统#includeiostream using namespace std; void welcome(string name游客, int age10) { cout欢迎 nameendl; cout年龄 ageendl; } int main() { welcome(); welcome(小明); welcome(小红,12); return 0; }2、输出欢迎 游客 年龄 10 欢迎 小明 年龄 10 欢迎 小红 年龄 123、默认参数就是没有提供。自动补上。第十二幕课堂小游戏1、给出函数void fun(int a, int b2, int c3)问下面哪些调用是正确的①fun(5);✅②fun(5,6);✅③fun(5,6,7);✅④fun();❌为什么因为第一个参数。没有默认值。必须提供。⑤fun(5,,7);❌不能跳过中间参数。本课总结今天我们学习了函数的默认参数。请记住六句话默认参数就是参数的备用值。调用函数时如果没有提供实参就使用默认值。如果提供了实参就使用实参不使用默认值。默认参数必须从右向左连续设置不能把没有默认值的参数放在默认参数后面。调用函数时参数不能跳着填写只能从左到右依次对应。一般情况下默认参数写在函数声明中而不是声明和定义都写。课后挑战1、请完成下面函数void drawBox(int width 5, char ch *);2、要求drawBox(); 输出 *****drawBox(8); 输出 ********drawBox(6,#); 输出 ######3、思考为什么下面的调用是错误的drawBox(*);提示第一个参数是width整数类型第二个参数才是ch字符类型。如果只写一个参数编译器会把它当作第一个参数来匹配因此类型不符合。这一课的难点不是语法而是参数匹配规则。建议始终围绕下面这张图讲解void fun(int a, int b 2, int c 3);调用方式abcfun(5)523fun(5,6)563fun(5,6,7)567大家反复练习参数是如何一个一个对应的过程。