找找你写过的程序里,有没有几乎一样的两段。
考级冲刺 · 小纸条
选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。
把"输出一行 20 个星号"包成一个函数。
改成"输出一行 n 个星号",n 由外面决定。
写个函数,收两个数,交回较大的那个。
求平均分的函数,该交回什么类型?
判断这两个该不该有返回值:①打印九九表 ②求两数之和。
两个函数里都有个变量叫 i,会互相干扰吗?
猜猜看:函数里把参数改成 100,外面的变量会变吗?
为什么调用一个还没定义的函数会报错?
把"输出一个 n 行的三角形"拆成两个函数。
参考答案(家长):定义好之后,主程序里一句调用就能输出,想输出几次就调几次。
参考答案(家长):常见的是"输出分隔线""判断闰年"这类小片段。
参考答案(家长):比较后 return 较大者;注意两条 return 只会执行到的那一条。
参考答案(家长):把 n 作为参数传进去,函数内部用循环输出 n 次。
参考答案(家长):①不用,②要。
参考答案(家长):小数类型。写成整数类型的话,89.5 会变成 89。
参考答案(家长):不会。想改到外面,需要专门的写法(后面会学)。
参考答案(家长):不会,各是各的,互不相干。
参考答案(家长):一个负责输出一行,一个负责循环调用它 n 次。
参考答案(家长):机器往下读,读到调用时还不知道这个名字是什么。
给"读入并求和并打印"拆成三个函数,各起个名。
给"判断是不是闰年"的函数起个好名字。
默写"判断质数"的函数。
不用第三个变量,能交换两个整数吗?
说说"剥洋葱"和递归像在哪。
求 n 的阶乘,边界是什么?
写出求阶乘的递归函数。
递归和递推,哪个更省时间?
一个有 10 个元素的数组,合法下标范围是多少?
这一点和普通变量有什么不同?
参考答案(家长):如 isLeapYear —— 以 is 开头,一看就知道答案是"是或不是"。
参考答案(家长):如 readData、calcSum、printResult,名字一看就懂。
参考答案(家长):可以用加减或异或实现,但考试里用临时变量更稳妥、更好读。
参考答案(家长):从 2 试到根号 n,能整除就不是质数。
参考答案(家长):n 等于 1(或 0)时直接返回 1,不再往下递归。
参考答案(家长):一层层往里剥,剥到最里面就停 —— 那个"最里面"就是边界。
参考答案(家长):递推。它每个数只算一次,递归会重复计算。
参考答案(家长):边界返回 1,否则返回 n 乘以自身调用 (n-1) 的结果。
参考答案(家长):普通变量改不动外面,数组能改动。这既方便也危险。
参考答案(家长):0 到 9。写 a[10] 就越界了。
写一个"求数组最大值"的函数,需要几个参数?
把这个套路改成求最小值。
数组 3 9 5 9 7 的第二大是多少?
统计一串 0-9 的数字里,哪个数出现最多。
为什么排序能让去重变简单?
10 个元素的数组反转,要交换几次?
为什么要从后往前挪?
删除后,原来最后那个位置还有值吗?
a[2][3] 指的是第几行第几列?
读入 3 行 4 列,一共读多少个数?
参考答案(家长):把比较符号反过来即可。
参考答案(家长):两个:数组本身和元素个数。
参考答案(家长):开一个大小 10 的数组计数,最后找计数最大的那个下标。
参考答案(家长):看题目要不要去重:不去重是 9,去重则是 7。做题时要问清楚。
参考答案(家长):5 次。走到中间就停,继续走会换回去。
参考答案(家长):相同的数排完序会挨在一起,只需比较相邻两个。
参考答案(家长):还有残留,但已经不算数组的一部分了,因为长度减了。
参考答案(家长):从前往后会把还没挪的元素覆盖掉。
参考答案(家长):12 个。
参考答案(家长):第 2 行第 3 列(都从 0 开始数)。