一、JavaScript 编程题
下面两个函数的返回值是一样的吗?为什么?
function foo1() {
return {
bar: "hello"
};
}
function foo2() {
return
{
bar: "hello"
};
}
解答:
function foo1() {
return {
bar: "hello"
};
}
var str1 = foo1();
// 结果为:str = "hello";
function foo2() {
return
{
bar: "hello"
};
}
var str2 = foo2();
// 结果为:undefined;
/*
* fun2结果的原因:
* 1. JavaScript是一个非常随意的脚本语言。
* 2. 单行中,一句话省略结束分割符“;”后,系统会默认添加,特殊符号除外。
* 3. 即在fun2中的“return”变为“return;” ,无返回值,所以为undefined。
*/
二、MySQL 编程题
用一条 SQL 语句,查询出每门课都大于 80 分的学生姓名。
表名 student_score
name | course | score |
---|---|---|
张三 | 语文 | 81 |
张三 | 数学 | 75 |
李四 | 语文 | 76 |
李四 | 数学 | 90 |
王五 | 语文 | 81 |
王五 | 数学 | 100 |
王五 | 英语 | 90 |
解答:
select name as '学生姓名' from student_score
group by name having min(score) > 80;
三、Java 编程题
一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第 10 次落地时,共经过多少米?第 10 次反弹多高?
解答:
public class Rebound{
public static void main(String[] args){
Rebound rb = new Rebound();
rb.getReboundRusult(100,0.5,10);
}
// 对象方法:无返回值,获取第n次反弹高度和反弹总路程
public void getReboundResult(double height, double multiple, int times){
double heightR = height * multiple; // 第n次落地时的反弹高度。
double sumMeter = height; // 第n次落下时的总路程。
for(int i = 2; i <= times; i++){
sumMeter = sumMeter + heightR * 2;
heightR = heightR * multiple;
}
System.out.println( height + "米高空落下。第" + times + "次落地时,总路程为:" + sumMeter + "反弹高度为:" + heightR)
}
}