java笔试题及其答案

2025-03-16

java笔试题及其答案(共10篇)

1.java笔试题及其答案 篇一

下述二叉树中,哪一种满足性质:从任一结点出发到根的路径上所经过的结点序列按其关键字有序():

本题主要考查了选项中出现的几种树的结构特点。对于选项A,根据二叉排序树的结构特点我们可以知道,二叉排序树的中序遍历结果是一个有序序列,而在中序遍历中,父结点并不总是出现在孩子结点的前面(或后面),故该选项不正确。例如我们用关键字5,2,3建立一棵二叉排序树,则从结点3出发到根的路径上所经过的结点序列为3,2,5,并不是一个有序的序列。对于选项B,赫夫曼树在后续的章节中会介绍,根据赫夫曼树的结构特点我们可以知道,在赫夫曼树中所有的关键字只出现在叶结点上,其非叶结点上并没有关键字值,显然不正确。对于选项C,AVL树其本质上也是一种二叉排序树,只不过是平衡化之后的二叉排序树,故该选项也是不正确的。例如我们用序列5,1,8,6,9建立一棵AVL树,从结点6出发到根的路径上所经过的结点序列为6,8,5,也不是一个有序的序列。对于选项D,堆的概念我们会在堆排序中给大家介绍,根据建堆的过程,不断地把大者“上浮”,将小者“筛选”下去,最终得到的正是一个从任一结点出发到根的路径上所经过的结点序列按其关键字有序的树状结构,故D是正确的。本题中的A和C同时出现,没有起到干扰的作用,因为AVL树和二叉排序树只是在平衡性上有区别,在结点的排列方式上没有区别。

下面关于线程的叙述中,正确的是()。正确答案: C 你的答案: D(错误)不论是系统支持线程还是用户级线程,其切换都需要内核的支持 线程是资源的分配单位,进程是调度和分配的单位 不管系统中是否有线程,进程都是拥有资源的独立单位 在引入线程的系统中,进程仍是资源分配和调度分派的基本单位 A:用户级线程,切换时不需要内核的支持

B:线程是资源调度和分配的单位,进程是资源拥有的单位 C:对

D:引入线程后,线程才是资源分配和调度分派的基本单位

在引入线程前,进程的两个基本属性是:1.可拥有资源的独立单位。2.可独立调度和分配的基本单位。

后来为了使多个程序更好的并发执行,人们把上述两个属性分开,引入线程作为可独立调度和分配的基本单位。

一条tcp连接,主动关闭的一方不可能出现的连接状态是()正确答案: A 你的答案: A(正确)CLOSE_WAIT FIN_WAIT2 TIME_WAIT FIN_WAIT1

1)当客户端没有主动close的时候就断开连接,即客户端发送的fin丢失或者失败: 1:这时候若客户端断开的时候发送了FIN包,则服务端将会处于CLOSE_WAIT状态;2:

这时候若客户端断开的时候未发送FIN包,则服务端处还是显示ESTABLISHED状态

2)当client想要关闭它与server之间的连接。client(某个应用进程)首先调用 close 主动关闭连接,这时TCP发送一个FIN M;client端处于 FIN_WAIT1 状态。

3)当server端接收到FIN M之后,执行被动关闭。对这个FIN进行确认,返回给client ACK。当server端返回给client ACK后,client处于 FIN_WAIT2 状态,server处于 CLOSE_WAIT 状态。它的接收也作为文件结束符传递给应用进程,因为FIN的接收

意味着应用进程在相应的连接上再也接收不到额外数据; 4)一段时间之后,当server端检测到client端的关闭操作(read返回为0)。接收到文件结束符的server端调用close 关闭它的socket。这导致server端的TCP也发送一个FIN N;此时server的状态为last——ack.5)当client收到来自server的FIN后。client端的套接字处于 TIME_WAIT 状态,它会向server端再发送一个ack确认,此时server端收到ack确认后,此套接字处于CLOSED状态。

介绍一下TCP连接建立与关闭过程中的状态。TCP连接过程是状态的转换,促使状态发生转换的因素包括用户调用、特定数据包以及超时等,具体状态如下所示:

1.CLOSED :初始状态,表示没有任何连接。

2.LISTEN : Server 端的某个 Socket 正在监听来自远方的 TCP 端口的连接请求。

3.SYN_SENT :发送连接请求后等待确认信息。当客户端 Socket 进行 Connect 连接时,会首先发送 SYN 包,随即进入 SYN_SENT 状态,然后等待 Server 端发送三次握手中的第 2 个包。

4.SYN_RECEIVED :收到一个连接请求后回送确认信息和对等的连接请求,然后等待确认信息。通常是建立TCP 连接的三次握手过程中的一个中间状态,表示 Server 端的 Socket 接收到来自 Client 的 SYN 包,并作出回应。ESTABLISHED :表示连接已经建立,可以进行数据传输。

5.FIN_WAIT_1 :主动关闭连接的一方等待对方返回 ACK 包。若 Socket 在 ESTABLISHED 状态下主动关闭连接并向对方发送 FIN 包(表示己方不再有数据需要发送),则进入 FIN_WAIT_1 状态,等待对方返回 ACK包,此后还能读取数据,但不能发送数据。在正常情况下,无论对方处于何种状态,都应该马上返回 ACK包,所以 FIN_WAIT_1 状态一般很难见到。

6.FIN_WAIT_2 :主动关闭连接的一方收到对方返回的 ACK 包后,等待对方发送 FIN 包。处于 FIN_WAIT_1 状态下的 Socket 收到了对方返回的 ACK 包后,便进入 FIN_WAIT_2 状态。由于 FIN_WAIT_2 状态下的 Socket需要等待对方发送的 FIN 包,所有常常可以看到。若在 FIN_WAIT_1 状态下收到对方发送的同时带有 FIN 和ACK 的包时,则直接进入 TIME_WAIT 状态,无须经过 FIN_WAIT_2 状态。

7.TIME_WAIT :主动关闭连接的一方收到对方发送的 FIN 包后返回 ACK 包(表示对方也不再有数据需要发送,此后不能再读取或发送数据),然后等待足够长的时间(2MSL)以确保对方接收到 ACK 包(考虑到丢失 ACK 包的可能和迷路重复数据包的影响),最后回到 CLOSED 状态,释放网络资源。8.CLOSE_WAIT :表示被动关闭连接的一方在等待关闭连接。当收到对方发送的 FIN 包后(表示对方不再有数据需要发送),相应的返回 ACK 包,然后进入 CLOSE_WAIT 状态。在该状态下,若己方还有数据未发送,则可以继续向对方进行发送,但不能再读取数据,直到数据发送完毕。

9.LAST_ACK :被动关闭连接的一方在 CLOSE_WAIT 状态下完成数据的发送后便可向对方发送 FIN 包(表示己方不再有数据需要发送),然后等待对方返回 ACK 包。收到 ACK 包后便回到 CLOSED 状态,释放网络资源。10.CLOSING :比较罕见的例外状态。正常情况下,发送 FIN 包后应该先收到(或同时收到)对方的 ACK 包,再收到对方的 FIN 包,而 CLOSING 状态表示发送 FIN 包后并没有收到对方的 ACK 包,却已收到了对方的FIN 包。有两种情况可能导致这种状态:其一,如果双方几乎在同时关闭连接,那么就可能出现双方同时发送FIN 包的情况;其二,如果 ACK 包丢失而对方的 FIN 包很快发出,也会出现 FIN 先于 ACK 到达。11.数据库恢复的基础是利用转储的冗余数据。这些转储的冗余数据包括()

12.正确答案: D 你的答案: A(错误)13.数据字典,应用程序,审计档案,数据库后备副本 14.数据字典,应用程序,审计档案,日志文件 15.数据字典,应用程序,数据库后备副本 16.日志文件,数据库后备副本

17.题目说的是转储,转储只需要日志文件和后备数据就可以了 18.数据字典只是用来定义数据库,应用程序也是一个道理....19.进程依靠()从阻塞状态过渡到就绪状态。20.正确答案: D 你的答案: D(正确)21.程序员的命令 22.系统服务

23.等待下一个时间片到来 24.“合作”进程的唤醒

25.引起进程阻塞和唤醒的事件:

26.1、向系统请求共享资源失败。进程转变为阻塞状态。27.2、等待某种操作完成。比如进程启动了I/O设备,必须等I/O操作完成后,进程才能继续。

28.3、新数据尚未到达。对于合作的进程,如果一个进程A需要先获得另一进程B提供的数据后,才能对该数据进程处理,只要数据尚未到达,进程A只能阻塞。当进程B提供数据后,便可以去唤醒进程A。

29.4、等待新任务到达,用于特定的系统进程。它们每当完成任务后,就把自己阻塞起来,等待新任务。30.1.什么是正则表达式的贪婪与非贪婪匹配 31.如:String str=“abcaxc”;32.Patter p=“ab*c”;33.贪婪匹配:正则表达式一般趋向于最大长度匹配,也就是所谓的贪婪匹配。如上面使用模式p匹配字符串str,结果就是匹配到:abcaxc(ab*c)。

34.非贪婪匹配:就是匹配到结果就好,就少的匹配字符。如上面使用模式p匹配字符串str,结果就是匹配到:abc(ab*c)。35.2.编程中如何区分两种模式

36.默认是贪婪模式;在量词后面直接加上一个问号?就是非贪婪模式。

37.量词:{m,n}:m到n个 38.*:任意多个 39.+:一个到多个 40.?:0或一个

41.以上来自博主的博客,然后这道题目 42..表示除n之外的任意字符 43.*表示匹配0-无穷

+表示匹配1-无穷

44.(?=Expression)顺序环视,(?=()就是匹配正括号 45.懒惰模式正则:

src=“.*?(?=())” 46.结果:北京市

47.因为匹配到第一个“就结束了一次匹配。不会继续向后匹配。因为他懒惰嘛。

A ”.*?(?=()“

B ”.*?(?=()“ C ”.*(?=()“ D ”.*(?=()“ 前面的.*?是非贪婪匹配的意思,表示找到最小的就可以了(?=Expression)顺序环视,(?=()就是匹配正括号

String text = ”北京市(海淀区)(朝阳区)(西城区)“;Pattern pattern = Pattern.compile(”.*?(?=()“);Matcher matcher = pattern.matcher(text);if(matcher.find()){ System.out.println(matcher.group(0));} 10.下面这个题不能再做了!!classB extendsObject {

static

{

System.out.println(”Load B“);

} classA {

} } publicB(){

System.out.println(”Create B“);} extendsB static {

System.out.println(”Load A“);} publicA(){

System.out.println(”Create A“);}

publicclassTestclass {

publicstaticvoidmain(String[] args)

{

newA();

} }。。。。。。。。。。

Load B->Create B->Load A-> Create A Load B-> Load A->Create B->Create A Load B-> Create B-> Create A-> Load A Create B->Create A->Load B->Load A 执行顺序:

父类静态代码块-》子类静态代码块-》父类构造代码块-》父类构造函数-》子类构造代码块-》子类构造函数

11.下列有关Servlet的生命周期,说法不正确的是? 正确答案: A 你的答案: A(正确)

在创建自己的Servlet时候,应该在初始化方法init()方法中创建Servlet实例 在Servlet生命周期的服务阶段,执行service()方法,根据用户请求的方法,执行相应的doGet()或是doPost()方法

在销毁阶段,执行destroy()方法后会释放Servlet 占用的资源 destroy()方法仅执行一次,即在服务器停止且卸载Servlet时执行该方法

Servlet的生命周期分为5个阶段:加载、创建、初始化、处理客户请求、卸载。

(1)加载:容器通过类加载器使用servlet类对应的文件加载servlet(2)创建:通过调用servlet构造函数创建一个servlet对象(3)初始化:调用init方法初始化

(4)处理客户请求:每当有一个客户请求,容器会创建一个线程来处理客户请求

(5)卸载:调用destroy方法让servlet自己释放其占用的资源

12.下面有关JAVA swing的描述,说法错误的是? 正确答案: C 你的答案: A(错误)

Swing是一个基于Java的跨平台MVC框架。使用单线程模式。Swing 是为了解决 AWT 存在的问题而新开发的包,它以 AWT 为基础的

Swing优化了AWT,运行速度比AWT快 Swing是一个基于组件的框架,所有的组件都是从javax.swing.JComponent类继承来的。

Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。

工具包中所有的包都是以swing作为名称,例如javax.swing,javax.swing.event 用Swing创建图形界面步骤:

(1)导入Swing包

(2)选择界面风格

(3)设置顶层容器

(4)设置按钮和标签

(5)将组件放到容器上

(6)为组件增加边框

(7)处理事件

(8)辅助技术支持 1。导入Swing包

下面语句导入Swing包 importjavax.swing.*;大部分Swing程序用到了AWT的基础底层结构和事件模型,因此需要导入两个包: importjava.awt.*;importjava.awt.event.*;如果图形界面中包括了事件处理,那么还需要导入事件处理包: importjavax.swing.event.*;2.选择界面风格

Swing允许选择程序的图形界面风格常用的有java风格,windows风格等

下面的代码用于选择图形界面风格,这里选择的是跨平台的Java界面风格。

try { UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());} catch(Exception e){ }(3)设置顶层容器

图形界面至少要有一个顶级Swing容器

顶级Swing容器为其它Swing组件在屏幕上的绘制和处理事件提供支持

常用的顶级容器:

JFrame(框架):表示主程序窗口

JDialog(对话框):每个JDialog对象表示一个对话框,对话框属于二级窗口

JApplet(小程序):在浏览器内显示一个小程序界面 一个框架包括边界、菜单栏、工具栏、状态栏,以及中间占主要部分的窗格

窗格也可以看作是一种面板,但它是框架的一个组成部分

组件不会直接放到框架上,而是放在若干个面板上,这些面板再放到窗格上

用框架对象的getContentPane()函数来获得窗格,再调用窗格的add()函数放置面板

public static void main(String[ ]args){JFrame frame=new JFrame(”SwingApplication");JPanel panel1=new JPanel();frame.getContentPane().add(panel1,BorderLayout.CENTER);......//添加其他组件

frame.pack();frame.setVisible(true);}

13.super.getClass().getName()返回:包名+类名

14.以下关于对象序列化描述正确的是 正确答案: C D a.使用FileOutputStream可以将对象进行传输 b.使用PrintWriter可以将对象进行传输 c.使用transient修饰的变量不会被序列化 d.对象序列化的所属类需要实现Serializable接口 …..C和D transient这个单词本身的意思就是瞬时的意思 transient是变量修饰符 变量定义为transient的,序列化时会忽略此字段,所以C是对的,只有实现了Serializable接口的,才可以被序列化.能够对对象进行传输的貌似只有ObjectOutputStream和ObjectInputStream这些以Object开头的流对象。

3、D项继承Seriallizable接口是经常见到的,这毋庸置疑。

4、transient 修饰的变量在对象串化的时侯并不会将所赋值的值保存到传中,串化的对象从磁盘读取出来仍然是null。

5、这值得说下Volatile这个修饰符,它是针对多线程情况下出现的。当线程读取它修饰的变量时,都会强迫从主存中重新读取。

2.Android Java笔试题 篇二

Gc是垃圾收集 gabage collection的意思 内存处理是编程人员最容易出现问题的地方,gc可以达到自动处理内存 回收垃圾的作用 使Java程序员不用担心内存管理问题 system.gc

2、XML包括哪些解释技术,区别是什么?

Sax dom

3、sleep和wait有什么区别?

Sleep 是线程类的方法 wait是object类的方法

Sleep 不会释放对象锁 到时自动恢复 wait会释放对象锁 进入等待此对象的等待锁定池 发出notify方法后 才进入等待锁定池准备对象锁的获取进入运行状态

4、error和exception有什么区别?

error表示恢复不是不可能但是及其困难的一种严重问题 不可能指望程序处理这样的问题

3.JAVA软件开发笔试题 篇三

对日java软件开发工程师笔试题

1:设int a=10, b=20, c=30;条件表达式a

A.5

B.10

C.20

D.30

2:对 do-whie 语言 错误 的说法是

A.可构成多重循环结构

B.循环次数不可能为 0

C.循环次数可能为 0

D.先执行后判断

3:调用函数时,若实参是一个数组名,则向函数对应的`形参传送的是

A.数组的长度

B.数组的首地址

C.数组第一个元素的值

D.整个数组元素的值

4:C语言中,″x3d″在内存中占用的字节数是

A.1

B.2

C.4

D.5

5:若定义了( )

union

{ char a[10];

short b[4][5];

long c[5];

4.Java软件开发工程师笔试题 篇四

一、选择题(25 x 2’ = 50’)

1、一个Java程序运行从上到下的环境次序是()

A. 操作系统、Java程序、JRE/JVM、硬件 B. JRE/JVM、Java程序、硬件、操作系统 C. Java程序、JRE/JVM、操作系统、硬件 D. Java程序、操作系统、JRE/JVM、硬件

2、下面代码中的第2行可以插入一行代码()保证程序编译通过。

1、public interface A{ 2、3、} A.void method();B.public void method();C.static void method();D.private void method();E.protected void method();

3、关于异常下列描述中,错误的是()

A.异常机制可以用于流程控制

B.finally代码段在发生异常时不一定必须执行

C.在catch代码段中可以使用return语句来返回到异常抛出点

D.可以把catch到的异常对象再次抛出,使上层try—catch结构继续处理该异常事件

4、关于被私有访问控制符private修饰的成员变量,以下说法正确的是()

A. 可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类 B. 可以被两种类访问和引用:该类本身、该类的所有子类 C. 只能被该类自身所访问和修改 D. 只能被同一个包中的类访问

5、某类Example的main()方法参数为args,当命令行中输入Java Example cat时,args[0]的值为()。

A. cat

B. Java

C. example

D. null

6、下面关于Thread类提供的现成控制方法的说法中,错误的是()

A. 在线程A中执行现成B的join方法,则线程A等待直到线程B执行完成。B. 线程A通过调用iterrupt方法来中断其阻塞状态

C. 若线程A调用方法isAlive返回值为true,则说明A正在执行中 D. currentThread方法返回当前线程的引用

7、类Test1定义如下:

1.public class Test1{ 2.

public float aMethod(float a,float b){ }

1/10

3.4.}

将以下哪种方法插入行3是不合法的。()

A. public float aMethod(float a,float b,float c){ } B. public float aMethod(float c,float d){ } C. public int aMethod(int a,int b){ } D. private float aMethod(int a,int b,int c){ }

8、下面程序的输出结果是()private static void foo(){ try { System.out.println(“try”);foo();} catch(Throwable e){ System.out.println(“catch”);foo();} finally { System.out.println(“finally”);foo();} }

public static void main(String[] args){ foo();} A.执行一段时间后报栈溢出。B.会一直输出“try”。

C.会一直输出“try”和“finally”。D.会一直输出“try”、“catch”和“finally”

9、下面的哪些程序片断可能导致错误?()A.String s = “Gone with the wind”;String t = “ good ”;String k = s + t;

B.String s = “Gone with the wind”;String t;t = s[3] + “one”;

C.String s = “Gone with the wind”;String standard = s.toUpperCase();

D.String s = “home directory”;String t = s-“directory”;

10、已知如下代码:

2/10

1: class Example{ 2: String str;3: public Example(){ 4: 5: } 6: public Example(String s){ 7: 8: } 9:} 10: class Demo extends Example{ 11: } 12: public class Test{ 13: public void f(){ 14: 15: 16: } } 哪句语句会导致错误?()A、line 3 B、line 6 C、line 10 D、line 14 E、line 15

11、下面的代码中第4行创建的对象在什么时候符合垃圾回收的条件()

1、class Bar { }

2、class Test {

3、Bar doBar(){

4、Bar b = new Bar();

5、return b;

6、}

7、public static void main(String args[]){

8、Test t = new Test();

9、Bar newBar = t.doBar();10、11、12、newBar = new Bar();} } Example ex = new Example(“Good”);Demo d = new Demo(“Good”);str=s;str= “example”;A.程序运行第9行之后。B.程序运行第10行之后。C.doBar方法运行结束之后。D.main方法运行结束之后。

12、下列关于for循环和while循环的说法中哪个是正确的?()

A. while循环能实现的操作,for循环也都能实现

B. while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果

3/10

C. 两种循环任何时候都可替换

D. 两种循环结构中都必须有循环体,循环体不能为空

13、下述说法中,错误的是()A.Java中,方法的重载是指多个方法可以共享同一个名字 B.Java中,用abstract修饰的类称为抽象类,它不能实例化 C.Java中,接口不包含成员变量和方法实现 D.Java中,构造方法可以有返回值

14、下面哪些是正确的()

11.class ClassA {}

22.ClassB p1 = new ClassB();23.ClassC p2 = new ClassC();24.ClassA p3 = new ClassB();25.ClassA p4 = new ClassC();12.class ClassB extends ClassA {} 13.class ClassC extends ClassA {} and:

21.ClassA p0 = new ClassA();A.p0 = p1;

15、以下代码片段,正确的结果是:()

11.classA {

17.throw new IOException();

18.} }

19.public static void main(String[] args){

20.try { new B().process();} 21.catch(IOException e){

22.System.out.println(”Exception”);} } 12.public void process(){ System.out.print(”A,”);} } 13.class B extends A { 15.super.process();A.Exception B.A,B,Exception C.Compilation fails because of an error in line 20.D.Compilation fails because of an error in line 14.E.A NullPointerException is thrown at runtime.16、用直接插入排序方法对下面四个序列进行排序(由小到大),元素比较次数最少的是()。

A. 94,32,40,90,80,46,21,69 B. 32,40,21,46,69,94,90,80 C. 21,32,46,40,80,69,90,94 D. 90,69,80,46,21,32,94,40

17、设栈最大长度为3,入栈顺序为1,2,3,4,5,6,则不可能的出栈序列是()

A.1,2,3,4,5,6 B.2,1,3,4,5,6 C.3,4,2,1,5,6 D.4,3,2,1,5,6

18、设有98个已排序列元素,采用二分法查找时,最大比较次数是()

A.49 B.15 C.20 D.7

4/10

14.public void process()throws IOException { 16.System.out.print(”B,”);B.p1 =p2;

C.p2 = p4;

F.p2 =(ClassC)p4;D.p2 =(ClassC)p1;E.p1 =(ClassB)p3;

19、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是()

A.9 B.11 C.15 D.不确定

20、以下与数据的存储结构无关的术语是()。

A.循环队列 B.链表 C.哈希表 D.栈

21、设数组A[10„100,20„100]以行优先的方式顺序存储,每个元素占4个字节,且已知A[10,20]的地址为 1000,则A[50,90]的地址是()

A.13240 B.14250 C.24220 D.14240

22、链表不具有的特点是()

A.插入、删除不需要移动元素 B.可随机访问任一元素 C.不必事先估计存储空间 D.所需空间与线性长度成正比

23、下面关于线性表的叙述中,错误的是哪一个?()

A.线性表采用顺序存储,必须占用一片连续的存储单元。B.线性表采用顺序存储,便于进行插入和删除操作。C.线性表采用链接存储,不必占用一片连续的存储单元。D.线性表采用链接存储,便于插入和删除操作。

24、若一个栈的输入序列为1,2,3,„,n,输出序列的第一个元素是i,则第j个输出元素是()。A.i-j-1 B.i-j C.j-i+1 D.不确定的

25、下列说法不正确的是()。

A.图的遍历是从给定的源点出发每一个顶点仅被访问一次 B.图的深度遍历不适用于有向图

C.遍历的基本算法有两种:深度遍历和广度遍历 D.图的深度遍历是一个递归过程

二、程序改错(5 * 2’ = 10’)1.----public class Unbelievable { static Integer i;public static void main(String[] args){

} } if(i == 42)System.out.println(“Unbelievable”);2.——————————————————————————————————

class Animal {

public String noise(){

5/10

龙通科技有限公司笔试题

} class Dog extends Animal {

} class Cat extends Animal {

} public class Test {

} public static void main(String[] args){

} Animal animal = new Dog();Cat cat =(Cat)animal;cat.noise();public String noise(){ } return “meow”;public String noise(){ } return “bark”;} return “peep”;3.——————————————————————————————————————

abstract class Something { } private abstract String doSomething();4.——————————————————————————————————————

public class Something {

} class Other { } public int i;public static void main(String[] args){

} public void addOne(final Other o){ } o.i++;Other o = new Other();new Something().addOne(o);5.——————————————————————————————————————

class Something {

final int i;public void doSomething(){ System.out.println(“i = ” + i);6

龙通科技有限公司笔试题

} }

三、程序阅读题(每空2’,共 40’)

1、阅读以下java代码,写出运行结果

class StaticTest {

}

2、编写将一维数组a[]中互不相同的数按从小到大顺序重新存于一维数组a[]的程序。

class A{ public static void main(String[] args){

} for(j=0;j

} System.out.prinln(a[j]);int a[]={15,7,15,6,4,3,4,6,7};int i,j,k,low,high,mid,t;for(i=k=1;i=a[i])____________;else low=mid+1;} if(____________|| a[low]!=a[i]){ t=a[i];for(j=k-1;__________;j--)a[j+1]=a[j];___________;k++;}

static int x=1;int y;StaticTest(){ } public static void main(String args[ ]){ StaticTest st=new StaticTest();System.out.println(“x=” + x);System.out.println(“st.y=” + st.y);st=new StaticTest();System.out.println(“st.y=” + st.y);

} static { x++;} y++;

龙通科技有限公司笔试题

}

3、请用JAVA编写如下程序:此程序处理一个由0和非0数字成员组成的数组(长度自定),例如0 0 1 2 0 1 0 0 0 1 0 0 0 0 0 2 0 7 8 9 0 0 1 2 3 4,把数组中所有连续两个以上的0去掉,将结果存入一个新数组。如上例处理后结果为,1 2 0 1 1 2 0 7 8 9 1 2 3 4。public static void main(String[] args){

int[] srcArray = {0,0,1,2,0,1,0,0,0,1,0,0,0,0,0,2,0,7,8,9,0,0,1,2,3,4};int[] destArray = new int[50];int i=0,j=0,count=0;for(i=0;i

} } for(i=0;i

public static void main(String[] args){

} public static int Keeper(int peo, int n){ int k = 0;int peo;System.out.println(“请输入人数:”);Scanner inp = new Scanner(System.in);peo = inp.nextInt();int k = Keeper(peo, 3);System.out.println(“最后留下的是 ” + k + “ 号!”);

4、有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,再从他的下一 8

龙通科技有限公司笔试题

int[] array = new int[peo];for(int i = 1;i < peo;i++){

} for(k = 0;k < peo;k++){

} return k + 1;if(array[k] == 0){ } 4 ; ○int j = 1;while(j <= n){

} if(○1){ } if(j == n){ } j++;3 ; ○ ; ○j--;

}

}

5、在一个n×n的棋盘上,放置n个不能互相捕捉的国际象棋“皇后”的所有布局。以下是n皇后的算法,请完成填空部分:

public class Queen {

Queen(int d){

} // 放置皇后的方法

public void place(int row){

int i = 0;if(row == n){ 1 ; ○n = d;queenPos = new int[d];private int n;private int[] queenPos;private double num = 0;// 记录共有多少种摆法

} else { 9

龙通科技有限公司笔试题

} // 判断布局是否合法

private boolean legality(int list){

} // 测试方法

public static void main(String[] args){

}} System.out.println(“输入个数n:”);Scanner in = new Scanner(System.in);int n = in.nextInt();try {

} Queen q = new Queen(n);q.place(0);System.out.println(n + “*” + n + “时,” + “共有” + q.num + “种可能摆法。”);System.out.println(“OK!”);e.printStackTrace();if(list == 0)

} return true;return true;if(queenPos[i] == queenPos[list])3 ; ○for(int i = 0;i < list;i++){

} for(i = 0;i < n;i++){

5.java笔试题及其答案 篇五

2.try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?

3.int 和 Integer 有什么区别?

4.说出ArrayList,Vector, LinkedList的存储性能和特性?

5.描述一下JVM加载class文件的原理机制?

6.STRING与STRINGBUFFER的区别?

7.List、Map、Set三个接口,存取元素时,各有什么特点?

8.谈谈final, finally, finalize的区别

9.sleep()和 wait()有什么区别?

10.GC是什么? 为什么要有GC?

11.jsp:include,jsp:forward两种跳转方式分别是什么?有什么区别?

12.简述JSP的内置对象及方法。

13.Servlet的基本架构?

14.getServletContext()和getServletConfig()的意思

15.filter 的作用是什么?主要实现什么方法?request 和 response全称是什么?

16.JS中的三种弹出式消息提醒(警告窗口、确认窗口、信息输入窗口)的命令是什么?

17.谈谈javascript数组排序方法sort()的使用,重点介绍sort()参数的使用及其内部机制

18.结合text这段结构,谈谈innerHTML outerHTML innerText之间的区别。

19.如何获取表单select域的选择部分的文本?

20.在JavaScript中定时调用函数 foo()如何写?

21.hibernate和jdbc有什么区别

22.描述使用JDBC连接数据库的过程

23.简述JDBC连接池的实现方法

24.Jdo是什么?

25.Class.forName的作用?为什么要用?

26.请教一个面试中遇到的SQL语句的查询问题

表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。

27.一个日期判断的sql语句?

请取出tb_send表中日期(SendTime字段)为当天的所有记录?(SendTime字段为datetime型,包含日期与时间)

28.用一条SQL语句 查询出每门课都大于80分的学生姓名

name

kecheng

fenshu 张三

语文

张三

数学

李四

语文

李四

数学

王五

语文

王五

数学

王五

英语

29.复制表(只复制结构,源表名:a 新表名:b)

30.拷贝表(拷贝数据,源表名:a 目标表名:b)

31.原表:

courseid coursename score------1 java 70 2 oracle 90 3 xml 40 4 jsp 30 5 servlet 80

------

为了便于阅读,查询此表后的结果显式如下(及格分数为60): courseid coursename score mark

--------------------1 java 70 pass 2 oracle 90 pass 3 xml 40 fail 4 jsp 30 fail 5 servlet 80 pass

6.销售内勤笔试题(附答案) 篇六

一、选择题:

1、按照《现金管理暂行条例》的规定,_____属于现金入的范围。选项: A.职工交回差旅费剩余款 B.从银行提取现金 C.将现金送存银行

D.收取结算起点以下的小额销货款 答案:a,b,d

2、下列项目中,可以使用现金的是_______.A.支付500元购货款

B.向个人收购农副产品1 500元 C.李某出差借支差旅费1 000元 D.发放职工困难补助金600元 答案:a,b,c,d

3、下列各项中,违反现金收入管理规定的是_____.A.坐支现金

B.收入的现金于当日送存银行

C.将企业的现金收人按个人储蓄方式存人银行 D.“白条”抵库 答案:a,c,d

4、法律是由国家强制力保证实施的行为规范,具有______.A.意志性 B.权利义务性 C.强制性 D.国家强制性 答案:d

5、从外单位取得的原始凭证,必须盖有______.A.本单位的公章 B.填制单位的公章 C.本单位领导签章 D.收款人的签章 答案:b

6、购买实物的原始凭证,除必须有经办人的签名外,还必须有______.A.验收人的证明 B.本单位公章 C.批准文件 D.付款结算票据 答案:a

7、会计人员对记载不准确、不完整的原始凭证,应当______.A.预以退回 B.予以报销 C.协助补填 D.予以扣留 答案:a

8、单位领导人对报送的期务报告的______负法律责任。A.完整性 B.及时性 C.合法性 D.真实性 答案:a,d

9、下列违反会计职业道德的行为中,应承担法律责任的是______.A.贪污受贿 B.伪造账目 C.人为调节利润 D.冒领发票 答案:a,b,d

10、会计核算必须具有______.A.真实性 B.客观性 C.统一性 D.全面性 答案:a,b

11、原始凭证真实性审核的内容是______.A.经济业务的双方当事单位和当事人是否真实

B.经济业务发生的时间、地点和填制凭证的日期是否真实 C.经济业务内容是否真实

D.经济业务的“数量、金额”是否真实 答案:a,b,c,d

12、支付款项的原始凭证必须有______签收证明。A.收款单位 B.收款人 C.付款单位 D.付款人 答案:a,b

13、会计人员在审核原始凭证时_____.A.对于违反有关法规制度的原始凭证,应拒绝办理,并报告领导人 B.对于违反有关法规制度的原始凭证,应先办理,再报告领导人

C.对于不真实、不完整的外来原始凭证,发现后一定要退回重填或不予受理 D.对于不真实、不完整的外来原始凭证,可先办理,再要求经办人补办有关手续 答案:a,c

14、外来原始凭证应具备的基本内容有_____等中。A.凭证的名称和填制日期 B.经济业务的数量、单价、金额 C.接受凭证单位的名称 D.经济业务的当事人 答案:a,b,c

15、下列属于原始凭证的是().A、火车票

B、产品入库票

C、材料请购单

D、罚款通知书 答案:a

16、李华在记账过程中发现将“3400”误写成“4300”正确的更正方法是(D)A、用褪色药水将“4300”褪去,然后填上正确数据“3400”,并在旁加盖私章

B、用单红线将“4300”全部划去,再在红线上方用蓝笔书写“34”,并在旁加盖私章 C、用单红线只将“43”划去,再在红线上方用蓝笔书写“34”,并在旁加盖私章

D、用单蓝线将“4300”全部划去,再在蓝线上方用蓝笔书写“3400”,并在旁加盖私章

17、会计人员职业道德的内容主要包括()。A.爱岗敬业

B.熟悉法规,依法办事 C.客观公正 D.保守秘密 答案是A, B, C, D

18、原始凭证的基本内容有

1、原始凭证名称;

2、填制原始凭证的日期;

3、接受原始凭证的单位名称;

4、经济业务内容(含数量、单价、金额等);

5、填制单位签章;

6、有关人员签章;

7、凭证附件。

答案是1、2、3、4、5、6、7

19、职业道德的出发点和归宿是(d)。

a爱岗敬业 b办事公道 c服务群众 d奉献社会

20、下列各项中,体现会计职业道德“诚实守信”要求的有(abcd)。a、做老实人、说老实话、办老实事 b、言行一致、表里如一

c、保守商业秘密,不为利益所诱 d、执业谨慎,信誉至上

21、下列各项中,属于会计人员强化服务行为的有(abc)。

a、客观、真实地反映单位的经济业务活动,为管理者提供正确的会计信息,当好参谋

b、完整、准确地记录单位财产变动状况,促进所有者资产的保值增值,当好管家

c、积极主动地向单位领导反映经营管理中存在的问题,提出合理化建议,协助领导决策

d、定期对本单位会计资料进行内部审计

22.EXCEL文件默认的扩展名是_______(B)A.ECL

B.XLS

C.DOC

D.XEL 23.EXCEL中,我们只是想复制单元格中的公式,可选用_______(C)A.剪切 B.粘贴 C.选择性粘贴 D.清楚内容

24.WINDOWS软件中每个窗口的右角上都有一个X按钮,单击该按钮可以______(D)A.还原窗口 B.最大化窗口 C.最小化 D.关闭窗口或退出程序

25.WINDOWS中打开文件夹后,按_______间可以返回到上一级文件夹。(D)A.ESC B.ALT C.ENTER D.BACKSPACE 26.当处于中文输入法状态时,按______键可以进行中文全角/半角切换。(C)A.ALT+空格 B.ESC+空格 C.SHIFT+空格 D.CTRL+空格

27.防止计算机______,应该避免使用来历不明的软盘和各种非法拷贝的软件,以及在计算机上玩游戏。(A)

A.病毒 B.病菌 C.流毒 D.病源 28.计算机病毒是一种_______(B)A.幻觉 B.程序 C.生物体 D.化学物

29.计算机的内存比外存_______.。(A)

A.存取速度快 B.更便宜 C.虽贵但能存储更多的信息 D.存储容量大 30.键盘上的换档键是________(D)A.CAPSLOCK B.BLACKSPACE C.ESC D.SHIFT

二、判断题

1.EXECL的自动筛选功能不允许自定义筛选条件。(×)2.《会计法》赋予了各级财政部门管理会计工作的职能。(√)3.EXECL中当正在修改单元格中的内容时,不能为单元格命名。(√)4.WINGDOWS中,软盘上所删除的文件不能从“回收站”中恢复。(√)5.WORD文档只有在“普通”模式下才显示页眉页脚。(×)6.WORD文件中也可能隐藏病毒。(√)

7.分析功能是核算型电算化会计系统的功能(×)

8.双击窗口标题栏上蓝色区域,也可实现窗口的最大化或复原操作。(√)9.所谓热启动就是打开电源通电的启动。(√)

7.C笔试题及答案 篇七

达式是___________。

A)’a’&&’b’ B)a<=b C)a‖+c&&b-c D)!((a

答案:D

评析z选项A:‘a’&&‘b’是字符a与b的相与,不为0;选项B:a<=b,由题中变量赋值可知,结果为1。选项c:a‖+c&&b-c,结果为1;选项D:!((a

(2)以下程序运行后,输出结果是_________。

main

{

char*d。{“ab”,”cde”};

printf(”%x”,d[1]);

}

A)cde B)字符c的ASCII码值

C)字符c的地址 D)出错

答案:C

评析:指针数组中的每一个元素都相当于一个指针变量。一维指针数组的定义形式为:类型名+数组名[数组长度],在本题main函数中定义指针数组d,它有两个元素,其初值分别是“ab”、“cde”的首地址。dB]的值为”cde”的首地址。%x是指以十六进制数形式输出整数。

(3)设有如下程序

#include

main

{

intk,*j,i=100;

j=&i; k=&j;

printf(”%dn”,k);

}

上述程序的输出结果是________。

A)运行错误 B)100 C)i的地址 D)j的地址

答案:B

评析:j=&i,j的值就是i的地址,*j=100,将j的地址赋给k,这时*k=j,那么,k=*j,而1=100,所以k=100,最后的打印结果应当为100。

(4)设有以下语句,其中不是对a数组元素的正确引用的是:_______(其中O≤i<10)

int a=[10]={0,1,2,3,4,5,6,7,8,9,},*p=a;

A)a[p-a] B)。(&a[i]) C)p[I] D)*(*(a+i))

答案:D

评析:观察程序可知,a实际上就是数组a的首地址,所以“+(a+i)”表示的就是数组a中的第i个元素的值,进而,我们可以知道+(t(a+i))必然不是对a数组元素的正确引用。

(5)以下程序运行后,输出结果为________。

main

{

int a[2][3]={1,3,5,7,9,1 1},*s[2],**pp,*p;

s[0]=a[0],s[1]=a[1];

pp=s;

p=(int*)malloc(sizeof(int));

**pp=s[1][1];

p=*PP;

printf(”%dn”,*p);

}

A)l B)7 C)9 D)1l

答案:C

评析:s是一个含有两个元素的指针数组,pp是一个指向指针变量的指针,s[O]是指向二维数组a行下标为0的元素的首地址,即a[0儿0]的地址,s[1]为a[1][0]的地址。pp的值为s[O]的地址。**pp=s[1][l]后,a[0][0]的值将被赋值为all][l]的值,执行p=*pp;后,p中将是s[0]的值,最后的输出语句将输出地址s[0]所指向的数据,即a[0][O]。

(6)有以下程序:

#include

main{

char c[6];

int I=0:

for(;i<6;c[-]=getchar,i++);

for(I=0;i<6;i++)putchar(c[i]);

primf(”n”);

}

如果从键盘上输入:

ab

c

def

则输出结果为_________.

A)a B)a C)ab D)abcdef

b b c

c c d

d d

e

f

答案:C

评析:1.getchar:此函数的作用是从终端(或系统隐含指定的输入设备)输入一个字符。

2.putchar:此函数的作用是向终端输出一个字符,也可以输出控制字符。

本题在输入字符时,ab和c后面的回车符分别赋给了c[2]和e[4],所以,正确答案为c。

(7)在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是_______。

A)地址传递 B)单向值传递

C)由实参传递给形参,再由形参传递给实参

D)传递方式由用户指定

答案:B

评析:c语言规定,实参变量对形参变量的数据传递是“单向值传递”,只由实参传给形参。在内存中,实参单元与形参单元是不同的单元。调用结束后,实参单元仍保留并维持原值。

(8)下面程序

#include

#include

main

{ char*p1=”abc”,*p2=”ABC”,str[50]=”xyz”;

strcpy(str+2,strcat(p1,p2));

printf(”%sn”,str);

}

的输出是_________。

A)xyzabcABC B)zabcABC

C)yzabcABC D)xyabcABC

答案:D

评析:strcat(pl,p2)将字符串abcABC放到了*pl所指向的存储单元中;strcpy在本题将abcABC复制到str+2所指向的存储单元中,即覆盖原str数组中的字符z及其后的所有字符,故str的值为”xyabcABC”。

(9)下面程序

int aa[3][3]:{{2},{4},{6}};

main

{ int i,*p:&aa[0][0];

for(I=0;i<2;i++){

if(i==0)aa[I][i+l]=*p+1;

else++p;

printf(”%d’.,。p);

}

}

的输出是__________。

A)23 B)26 C)33 D)36

答案:A

评析:观察题目,可以发现,*p=&aa[01[o]语句实际是将数组aa的首地址赋给了指针变量p,将i的值带入for循环中,i=0时,aa[0][1]=3,+p=2;*p输出的是指针所指向的数组值,此时p所指向的是aa[O][O],输出2,而i=l时执行了++p操作使指针向后移动指向了aa[O儿1],所以在输出*p时应为3。

(10)以下程序的输出结果是_________。

#include

#include

fun(char*w,int n)

{

char t,*s1,*s2;

s1=w;s2=w+n-l:

while(s1

{

t=*s1++:

*sl=*s2–;

*s2=t;

}

}

main

{

char*p;

p=”1234567″;

fun(p,strlen(p));

puts(p);

}

A)1234567 B)7654321 C)1711717 D)717717l

答案:C

8.计算机笔试题及答案 篇八

1.世界第一台电子计算机ENIAC诞生于(B )

A.1945 B.1946 C.1947 D.1956

2.过程控制的特点是( D )

A.计算量大,数值范围广 B.数据输入输出量大,计算相对简单

C.进行大量的图形交互操作 D.具有良好的实时性和高可靠性

3.当电源断开后,存储器中数据完全丢失的是( A )存储器

A.ROM B.RAM C.PROM D.CD-ROM

4.在计算机应用中,“计算机辅助制造”的英文缩写为( D )

A.CAD B.CAM C.CAE D.CAT

5.在微型计算机中,应用最普遍的英文字符编码是( B )

A.BCD码 B.ASCII码 C.汉字编码 D.循环码

6.与十六进制数D8H等值的十进制数是( A )

A.218 B.216 C.138 D.98

7.与二进制数101101等值的十六进制数是( C )

A.1D B.2C C.2D D.2E

7.在图形卡与系统内存之间提供了一条直接的访问途径的总线标准是( A )

A.PCI B.AGP C.ISA D.EISA

8.汉字点阵32*32,那么100个汉字的字形信息所占用的字节数是( A )

A.3200 B.128K C.12800 D.32*3200

9.一个应用程序窗口最小化后,该应用程序将( B )

A.被终止运行 B.仍然在内存中运行

C.继续执行 D.暂停执行

10.桌面是WINDOWS面向( A )的第一界面

A.系统 B.硬件 C.用户 D.程序

11.Windows操作系统中,管理系统资源的程序组是( B )

A.“我的电脑”和“控制面板” B.“资源管理器”和“控制面板”

C.“我的电脑”和“资源管理器” D.“控制面板”和“资源管理器”

12.可以同时打开的应用程序窗口数是(B )

A.一个 B.二个 C.三个 D.多个

13.在Word中,下拉出Word控制菜单的快捷键是( C )

A.SHIFT+空格键 B.CTRL+空格键

C.ALT+空格键 D.CIRL+TAB

14.在Word中,段落标记(A )

A.通过按回车键产生,仅仅代表一个段落的结束 B.无法在屏幕显示

C.不可能出现在图形后面 D.标记一个段落结束,还保留该段落的所有格式

15. Word中,可以显示分页效果的视图是( B )

A.普通视图 B.大纲视图 C.页面视图 D.主控文档

16.当前个人电脑所采用的电子器件是(D)

A.电子管 B.晶体管 C.集成电路 D.超大规模集成电路

17.办公自动化是计算机的一项应用,按计算机应用的分类,它属于( B )

A.科学计算 B.数据处理 C.实时控制 D.辅助设计

18.当电源断开后,存储器中数据完全丢失的是(A )存储器

A.ROM B.RAM C.PROM D.CD-ROM

19.下列软件中,不属于系统软件的是(C)

A.编译软件 B.操作系统 C.数据库管理系统 D.C语言程序

20.标准ASCII码的码长是( D )

A.7 B.8 C.12 D.16

21.与十六进制数8DH等值的十进制数是(A)

A.86 B.89 C.141 D.148

22.与二进制数101011等值的十六进制数是(B )

A.2A B.2B C.2C D.2D

23.微机系统与外部交换信息主要通过(A)

A.输入输出设备 B.键盘 C.鼠标 D.打印机

24.一个应用程序窗口最小化后,该应用程序将(B )

A.被终止运行 B.仍然在内存中运行

C.继续执行 D.暂停执行

25.具有多媒体功能的微型计算机系统中,常用的CD-ROM是(C)

A.只读型大容量软盘 B.只读型光盘

C.只读型硬盘 D.优盘

26.在Word中,“格式”工具栏上不可能出现的按钮是(A )

9.阿里巴巴程序笔试题及答案 篇九

【解析】测试代码如下:

Class B:

public class B{//静态变量static int i=1;//静态语句块static {System.out.println(“Class B1:static blocks”+i);}//非静态变量int j=1;//静态语句块static{i++;System.out.println(“Class B2:static blocks”+i);}//构造函数public B{i++;j++;System.out.println(“constructor B: ”+“i=”+i+“,j=”+j);}//非静态语句块{ i++; j++; System.out.println(“Class B:common blocks”+“i=”+i+“,j=”+j);}//非静态方法public void bDisplay(){i++;System.out.println(“Class B:static void bDisplay():”+“i=”+i+“,j=”+j);return ;}//静态方法public static void bTest(){i++;System.out.println(“Class B:static void bTest():”+“i=”+i);return ;}}

Class A:

public class A extends B{//静态变量static int i=1;//静态语句块static {System.out.println(“Class A1:static blocks”+i);}//非静态变量int j=1;//静态语句块static{i++;System.out.println(“Class A2:static blocks”+i);}//构造函数public A(){ super();i++;j++;System.out.println(“constructor A: ”+“i=”+i+“,j=”+j);}//非静态语句块{ i++; j++; System.out.println(“Class A:common blocks”+“i=”+i+“,j=”+j);}//非静态方法public void aDisplay(){i++;System.out.println(“Class A:static void aDisplay():”+“i=”+i+“,j=”+j);return ;}//静态方法public static void aTest(){i++;System.out.println(“Class A:static void aTest():”+“i=”+i);return ;}}

Class ClassLoading :

public class ClassLoading {public static void main (String args[]) {A a=new A();a.aDisplay();}}

程序运行结果如图:

通过上述示图,我们可以比较清晰的看出java类的整个加载过程:

1.若要加载类A,则先加载执行其父类B(Object)的静态变量以及静态语句块(执行先后顺序按排列的先后顺序)。

2.然后再加载执行类A的静态变量以及静态语句块。(并且1、2步骤只会执行1次)

3.若需实例化类A,则先调用其父类B的构造函数,并且在调用其父类B的构造函数前,依次先调用父类B中的非静态变量及非静态语句块.最后再调用父类B中的构造函数初始化。

4.然后再依次调用类A中的非静态变量及非静态语句块.最后调用A中的构造函数初始化。( 并且3、4步骤可以重复执行)

5.而对于静态方法和非静态方法都是被动调用,即系统不会自动调用执行,所以用户没有调用时都不执行,主要区别在于静态方法可以直接用类名直接调用(实例化对象也可以),而非静态方法只能先实例化对象后才能调用。

10.java笔试题及其答案 篇十

基于以上关系回答一下问题。

1.用 SQL 语句建立未还图书的.读者姓名和单位的视图。

2.用 SQL 语句查询“马林”所借图书中未还的书名。

3.用 SQL 语句查询书名为“高等数学”的库存量。

18:储子系统调优的方法。

19:加入在每个数据页上有30个EMPLOYEE记录,每个记录属于5000个department(department是表employee的一个int字段),那么需要在department上面建立索引吗?为什么?

20:现在普通关系数据库用得数据结构是什么类型的数据结构?

21:什么是数据库的并发控制?

22:一般来说进行等值连接的时候,用B树索引,还是哈希索引?为什么?

23:请设计一个企业进销存系统的数据库表结构,需要实现基本的进销存管理,需要记录的信息包括:供应商信息、商品信息、库存信息、客户信息、出入库信息、仓库信息等;其中,入库视为进货,出库视为销售,且企业有多个仓库;请画表格描述表结构(需要说明每个字段的字段名、字段类型、字段含义描述);

在数据库设计中应:

1.保证每个供应商、商品类别、客户、仓库等的唯一性;

2.保证供应商信息、商品信息、仓库信息、客户信息与出入库信息之间的参照完整性;

3.若有新供应商、新的商品、新的客户、新的仓库加入,保证自动生成其唯一性标识;

4.数据库设计应为以下报表需求提供支持:

(无特定说明,不需编写实现语句,而需在数据库设计中,保证这些报表可以用最多一条SQL语句实现)

a) 日报表:每日进货、销售的商品种类与数目清单,包括对应的供应商信息、仓库信息等;每日企业毛利报表(销售与进货的价格差);

b) 月报表:每月来自各个供应商的商品销售情况;

c) 实时报表:

i. 盘点当前各仓库库存商品列表,包括商品名称、编号、库存时间等请编写实现此需求的SQL语句:

数据库应用:

请撰写一系列的SQL语句,描述完整的商品转库操作,即某种类的一部分商品,从某仓库中转运到另一仓库的过程中,进销存系统需要执行的一系列SQL语句;并保证这一系列的SQL语句的执行完整性;

24:设有学生选课关系SC(学号,课程号,成绩),试用SQL语句检索每门课程的最高分。

上一篇:汉语学习策略研究下一篇:ppt总结报告