三、简答题(共10题,共30分)
1、请写出CSS的6种选择器,并举例?
l 标签选择器:a、li、div、table等等
l 类选择器:.nav、.items
l id选择器:#logo、#item1
l 通配符选择器:*
l 后代选择器:ul li、div a span等
l 并集选择器:li,div,h1
l 交集选择器:li.item、input.username等
2、将图片展示在网页上的方式有哪些?。
l 通过html的img标签,<img src=’路径’/>
l 通过css的背景图片,background-image:url(‘路径’)
3、在Java中,&和&&有何区别?
l & 左右两边是整型数据,做按位与运算
l & 左右两边为逻辑表达式,&&左右两边只能为逻辑表达式,区别为:当左边表达式的值为false,&运算符会计算右边表达式,&&运算符不会计算右边表达式
4、请简述Servlet的生命周期。
l 当请求发送到Web容器(tomcat服务器)后,Web容器会解析请求 URL,并从中分离出 Servlet 对应的URL。
l 根据分离出的URL,通过web.xml中配置的URL与Servlet的映射关系,找到要执行的Servlet,即找到用于处理该请求的Servlet类。
l 若该Servlet不存在,则调用该Servlet的无参构造器、init()方法,创建该Servlet对象。然后执行service()方法。
l 若该Servlet对象已经被创建,则直接调用service()方法。
l 当 Web 容器被关闭,或该应用被关闭,则调用执行destroy()方法,销毁Servlet实例。
5、什么是子查询,并举例。
select语句中嵌套select语句,即为子查询。
举例:select...select...
select ... from (select...) ...
select ...from tableName where...(select...)...
6、JavaScript中的数据类型有哪些?
基本类型:字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined)
引用数据类型:对象(Object)
7、简述Ajax。
Ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
Ajax = Asynchronous JavaScript and XML.
Ajax是一种用于快速创建动态网页的技术。
Ajax通过在后台与服务器进行少量数据交换,使网页实现异步更新。这意味着可以在不重载整个页面的情况下,对网页的某些部分进行更新。
8、HashSet集合、TreeSet集合有何特点?
l HashSet集合:
元素不允许重复,存储自定义对象,需要重写hashCode方法和equals方法(保证元素不重复)
l TreeSet集合:
元素不允许重复,存储自定义对象,需要实现Comparable接口,重写compareTo方法(实现比较规则)
9、JavaScript中获取DOM元素的方式有哪些?
l document.getElementById('id选择器')
l document.getElementsByClassName('类选择器')
l document.getElementsByTagName('标签选择器')
l document.getElementsByName('标签name属性')
l document.querySelector('CSS选择器')
l document.querySelectorAll('CSS选择器')
10、请简述MySQL中的左、右连接查询。
左连接的语法格式:
from 表1 left 表2 on 表1和表2之间的连接条件(outer可以省略)
表1左连接表2,意味着查询结果集中须包含表1的全部记录,然后表1按指定的连接条件与表2进行连接,若表2中没有满足连接条件的记录,则结果集中表2相应的字段填入NULL。
右连接的语法格式:
from 表1 right outer join 表2 on 表1和表2之间的连接条件(outer可以省略)
语法格式中表1右连接表2,意味着查询结果集中须包含表2的全部记录,然后表2按指定的连接条件与表1进行连接,若表1中没有满足连接条件的记录,则结果集中表1相应的字段填入NULL。
四、编程题(共15分)
1、13195的所有质因数为5、7、13和29。600851475143最大的质因数是多少?(7分)
public static void main(String[] args) { | let n = 600851475143; |
2、197被称为圆周素数,因为将它逐位旋转所得到的数:197/971和719都是素数。小于100的圆周素数有十三个:2、3、5、7、11、13、17、31、37、71、73、79和97。小于一百万的圆周素数有多少个?(8分)
public static void main(String[] args) { | let count = 13; |
五、SQL语句(每题5分,共20分)
表信息 | |
学生表:studnet 字段:sid(主键,学号)、sname(姓名)、 sbirthday(出生日期)、ssex(性别) 老师表:teacher 字段:tid(主键,教师编号)、tname(姓名) | 课程表:course 字段:cid(主键,课程编号)、cname(课程名称)、tid(教师编号) 成绩表:score 字段:id(主键)、sid(学号)、cid(课程编号)、score(成绩) |
完成下面习题 | |
① 查询学过“李四”老师所教的课的同学的学号、姓名。 select sid,sname from student where sid in( select distinct sid from score where cid=(select course.cid from teacher,course where teacher.tid = course.tid and teacher.tname='李四')) | |
②查询课程编号“01”的成绩比课程编号“02”课程低的所有同学的学号、姓名。 select t1.sid as sid from (select distinct * from score where cid='01') t1 left join (select distinct * from score where cid='02') t2 on t1.sid = t2.sid where t1.score>t2.score | |
③ 查询没有学全所有课的同学的学号、姓名。 select s.sid,s.sname from student s where sid not in( select sid from (select sid,count(cid) as scount from score group by sid having scount=(select count(cid) as tcount from course)) t) | |
④ 查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩。 select stu.sid, stu.sname, t.avgSal from student stu,score sc, (select sid,avg(score) as avgsal from score group by sid) t where stu.sid=sc.sid and stu.sid=t.sid and sc.score<60 group by sc.sid having count(*)>1 |