1、哈尔滨工业大学哈尔滨工业大学计算机科学与技术学院计算机科学与技术学院苏小红苏小红2022-12-52/662022-12-53/66()yfx自变量自变量因变量因变量函数名函数名2022-12-54/662022-12-55/662022-12-56/662022-12-57/662022-12-58/66MoeCurlyLarry2022-12-59/662022-12-510/662022-12-511/662022-12-512/66返回值返回值类型类型函数名函数名标识符,标识符,说明运算规则说明运算规则参数表参数表相当于相当于运算的操作数运算的操作数返回返回运算的结果运算的结果函数出口
2、函数出口2022-12-513/66函数体的定界符函数体的定界符参数表里的变量(叫形式参数,参数表里的变量(叫形式参数,Formal Parameter)也是内部变量)也是内部变量函数体函数体2022-12-514/66函数无返回值,用函数无返回值,用void定义返回值类型定义返回值类型用用void定义参数定义参数,表示没有参数,表示没有参数return语句后无语句后无需任何表达式需任何表达式2022-12-515/66返回值类型返回值类型函数名说明函数名说明函数的功能函数的功能返回值作为函数返回值作为函数调用表达式的值调用表达式的值形参表,函形参表,函数入口数入口函数内部可以定义函数内部可以
3、定义只能自己使用的变只能自己使用的变量,称内部变量量,称内部变量2022-12-516/662022-12-517/662022-12-518/66末尾有一个分号,末尾有一个分号,声明时不要省略形声明时不要省略形参和返回值的类型参和返回值的类型2022-12-519/662022-12-520/66Why?传入负数实参传入负数实参会怎样?会怎样?2022-12-521/662022-12-522/662022-12-523/662022-12-524/662022-12-525/662022-12-526/662022-12-527/661函数规模函数规模要小要小2函数功能函数功能要单一要单一
4、3函数接口函数接口定义定义要要清楚清楚入口参数有效性检查入口参数有效性检查敏感操作前的检查敏感操作前的检查调用成功与否的检查调用成功与否的检查2022-12-528/66main()a();a 函数函数b();return;b函数函数return;2022-12-529/662022-12-530/66函数直接或间接调用函数直接或间接调用自己,称为递归调用自己,称为递归调用(Recursive Call)2022-12-531/66基线情况基线情况(base case)一般情况一般情况(general case)无需考虑无需考虑n=MIN_NUMBER&number=MAX_NUMBER);return number;2022-12-560/662022-12-561/662022-12-562/662022-12-563/662022-12-564/662022-12-565/662022-12-566/66