2021年07月13日 笔记
函数
main(){
}
推动软件发展的动力
- 软件的复用
- 尽量接近自然语言
C语言可重用的粒度为函数
Java面向对象可重用的粒度为对象
函数的作用
封装一段功能,方便软件复用
函数的定义
1 | 返回类型 函数名(形参列表){ |
变量不要使用单独的字母,特别是l和o,这两个字母和数字1和0容易分不清。
形参列表
如下返回值的写法否有语法错误
1 | return a,b; |
逗号表达式
1 | 表达式1,表达式2 |
先执行表达式1,再执行表达式2;
定义函数
1 | int max(int a,int b) |
更简单的写法
1 | int max(int a,int b) |
函数和普通数据类型都在栈空间,只有对象在堆空间。
调用
1 | main() |
编程题 写一个判断素数和闰年的函数
编程题 写一个日历
输入年月日,判断这个日期是年中的第几天。
判断星期几。
1990年1月1日,星期一
判断输入的日期到,1990年1月1日有多少天,然后在%7,即可得到星期。
传值 传地址 交换地址,交换地址的空间里面的内容
1 | void swap(int a,int b){ |
问,打印的a和b的值。
不会交换
1 | void swap(int *a,int *b){ |
是否有交换?
不会交换,只交换地址而已,没有交换地址里面的数据。
1 | void swap(int *a,int *b){ |
是否有交换
有,交换了地址对应的空间里面的值
递归函数
double f(int n){
if(n==0||n==1) return 1;
return f(n-1)*n;
}
编程题 递归斐波那契第n项的值
String类
scanner.next(),以空格或回车作为结束符
scanner.nextLine(),以回车符作为结束符。