海隆科技(昆山/无锡)在线笔试回忆版
声明:回忆只有部分内容,答案仅供参考,正确与否请自行判断,仅供学习与交流,如若侵权请联系删除!
- 30题,有C,Java,数据库,难度不难
- 友情提示:多去看C/C++、Java、数据库面试题
- 欢迎评论区指正和补充
- 不定期分享面试学习经验,有用请点赞收藏
- 提示:edge浏览器按下Ctrl+F可以快速搜索关键词(在页面正上方)
问卷星不能离开页面两次,否则判为作弊。
1.a)==t b)n1=(n2=n3)) c) k=i=j d) a=b+c=1
**不正确的赋值语句是:d) a=b+c=1。**因为这条语句试图将表达式 b+c 的值赋给变量 a,但是赋值语句应该将一个值赋给一个变量,而不是将一个表达式的值赋给一个变量。
2.C语言表达式1/2与1.0/2/0的值相同吗
不相同。C表达式 1/2 的值为 0.5,而 1.0/2/0 的值为未定义行为,因为在除数为 0 时,C++标准规定除法运算结果是未定义的。
3.C语言运算符优先级顺序有哪些,算数,关系,赋值,
答 :
C 语言运算符优先级顺序如下:
- 赋值运算符:= (赋值),+=,-=,*=,/=,%=,^=,&=,|=,<<=,>>=
- 关系运算符:<,>,<=,>=,==,!=
- 算术运算符:+,-,*,/,%,^,&,|,<<,>>
其中,算术运算符的优先级高于关系运算符,关系运算符的优先级高于赋值运算符。
4.函数fread(bufer,size,count,fp)其中buffer代表
答 :
函数 fread(buffer, size, count, fp) 中,***buffer 代表的是用于存储读取数据的内存地址。
5.C语言a=12,a+=a-+a*=a结果
答 :
结果是 a = 14。
6.C语言a=12,a+=a-+=a*=a结果
答 :
C语言中,a=12,a+=a-+=a=a这个表达式的执行结果是a=12。*
首先,这个表达式实际上是一个赋值表达式,它的目的是将表达式的结果赋值给变量a。
其次,在C语言中,赋值运算符的优先级低于加法和乘法运算符。因此,这个表达式会按照从左到右的顺序进行计算。
最后,我们来分析这个表达式的计算过程:
- a+=a:将a的值(12)加到a上,得到a=24。
- a-=a:将a的值(24)减去a的值(24),得到a=0。
- a*=a:将a的值(0)乘以a的值(0),得到a=0。
因此,最后a的值为0。
7.执行x=(a=3,b=a–)后x,a,b的值是
答 :
执行 x=(a=3,b=a–)后,x 的值为 3,a 的值为 2,b 的值为 3。
8.fp是指向文件的指针,feof(of)返回值是0,表示什么
答 :
fp是指向文件的指针,feof(fp)返回值是0,表示文件已经结束,即到达了文件的末尾。
9.数组名作为实参传递给形参,数组名被处理为
答 :
数组名作为实参传递给形参时,**数组名被处理为指针,即首地址。*这意味着在函数内部,你可以通过指针访问数组元素。例如,如果你有一个名为arr的整数数组,你可以将其作为实参传递给一个接受指针的函数,如void func(int arr)。在函数内部,你可以使用arr来访问数组的第一个元素,使用(arr+1)来访问第二个元素,以此类推。
数组的首地址就是数组的第一个元素的内存地址。
10.将两个字符串合并起来的函数是
答 :
在C语言中,可以使用strcat函数将多个字符串合并成一个字符串。
将两个字符串合并起来的函数在不同的编程语言中可能会有不同的实现方式。以下是几种常见的编程语言中的实现方式:
在 Java** 中,可以使用 StringBuilder 类**或者 String.concat 方法将两个字符串合并起来,例如:
public String mergeStrings(String s1, String s2) {
return s1 + s2;
}
在 C++ 中,可以使用 string 类的 append 方法或者 + 运算符将两个字符串合并起来,例如:
std::string mergeStrings(const std::string& s1, const std::string& s2) {
return s1 + s2;
}
在 JavaScript 中,可以使用 + 运算符将两个字符串合并起来,例如:
function mergeStrings(s1, s2) {
return s1 + s2;
}
11.Java中this关键字是什么
答 :
在Java中,this关键字是一个引用,它指向当前实例对象。this关键字可以用于访问当前对象的成员变量和方法,以及在构造函数中调用其他构造函数。例如:
public class MyClass {
private int value;
public MyClass(int value) {
this.value = value; // 访问当前对象的value成员变量
}
public void setValue(int value) {
this.value = value; // 访问当前对象的value成员变量
}
public int getValue() {
return this.value; // 访问当前对象的value成员变量
}
}
this关键字用于访问当前对象的value成员变量。
同一个类的不同对象不可以共用一个this。
同一个类的不同对象具有不同的内存空间,因此它们各自的this指针都指向各自的内存空间。this指针是C++中的一个关键字,它指向当前对象的地址。因此,不同对象的this指针是不同的,它们不能共享同一个this。
this是在对象部指代自身的引用。
**this 关键字在 JavaScript 中是指代当前对象自身的引用。**在 JavaScript 中,每个对象都有一个 this 关键字,它指向当前对象。当在对象内部调用一个函数时,this 关键字会指向该对象。在方法中使用 this 关键字可以访问对象的属性和其他方法。
12.类C是类B的子类,类B是类A的子类,C能继承类A和B吗?可以
答:Java中支持多层继承,**类C可以同时继承类A和类B。**类C从类B继承了类A的所有属性和方法,并且可以在类C中添加自己的属性和方法。
13.Java运算符合法的是哪一个?&& <> if :=
Java中合法的运算符是&&。 &&是逻辑与运算符,用于判断多个条件同时成立时结果为true。 < 是比较运算符,用于判断左边的操作数是否小于右边的操作数。
而 <> 不是Java中的合法运算符。 if 是条件语句关键字,并非运算符。 := 是赋值运算符,也不是Java中的合法运算符。在Java中,赋值运算使用=。
14.关系数据库的完整约束条件(以上全是)
包括以下几个:
- 主键约束(Primary Key Constraint): 保证表中的某个或某些列的取值唯一且非空,用于唯一标识表中的每一行数据。
- 外键约束(Foreign Key Constraint): 用于对表与表之间的关联关系进行定义和约束。外键指向另一个表中的主键,以确保数据之间的引用完整性。
- 唯一约束(Unique Constraint): 保证表中某个列或某些列的取值唯一,但允许为空值。
- 非空约束(Not Null Constraint): 确保某列不能为空,即列中的数据值不能为NULL。
- 检查约束(Check Constraint): 定义某列或某些列中允许的取值范围或条件,确保符合特定的条件或范围。
这些完整约束条件可以一起或分别使用,用于保证数据的完整性和一致性。
15.数据库损坏通过事务日志恢复
16.一个合法的Java源程序定义3个类,属性为pubilc的类可能有几个?1个
根据Java语言规范,一个合法的Java源程序可以定义多个类。然而,只能有一个public类,且该类的名称必须与源文件的名称相匹配。这是因为Java编译器在编译源文件时会生成对应的字节码文件,而字节码文件的名称与public类的名称相同。
除了public类之外,源文件中还可以定义其他非public类。这些非public类在同一个源文件中可以有多个,并且它们的名称可以与源文件的名称不同。这些非public类可以被其他类访问,但不能被位于不同包中的类直接访问。
17.call byvalue会不会改变实际参数的数值? call by reference 改变实际参数地址吗?能改变参数内容吗?
在Java中,参数传递是按值传递(call by value)的。这意味着当你将一个参数传递给一个方法时,方法接收到的是该参数的一个副本,而不是原始参数本身。因此,在方法内部对参数进行修改不会影响到原始参数的数值。
当涉及到对象类型的参数时,按值传递的副本是对象的引用。这个引用指向实际对象在内存中的地址。所以,虽然按值传递不会改变实际参数的数值,但是通过引用可以修改对象的内容。
关于按引用传递(call by reference),Java中并没有直接支持这种方式。在Java中,所有的参数传递都是按值传递的。有时候可能会感觉像按引用传递,是因为传递的是对象的引用,可以通过引用来修改对象的内容。但是实际上,传递的是引用的副本,而不是原始引用本身。不改变参数地址。
18.不属于Object()方法类的方法?toString()
在Java中,不属于Object类的方法有很多。以下是一些常见的不属于Object类的方法:
- String类的方法:例如length()、charAt()、substring()等。
- Math类的方法:例如abs()、sqrt()、random()等。
- Arrays类的方法:例如sort()、binarySearch()、****otString()***等。
- ArrayList类的方法:例如add()、remove()、get()等。
- Scanner类的方法:例如next()、nextInt()、hasNext()等。
- File类的方法:例如exists()、isDirectory()、delete()等。
- System类的方法:例如currentTimeMillis()、arraycopy()、exit()等。
19.java运行时,会产生()类型的异常,几个选项如何理解
String s=null; s.concat(“abc”);
a)ArithmeticException
b)NullPointerException
c)IOException
d)EOFException
产生B类型异常,B为空指针异常,S是空值,无法执行concat方法。
20.在JAVA中,以下( )类的对象以键-值的方式存储对象 java.util.HashMap
A.java.util.List B.java.util.ArrayList C.java.util.HashMap D.java.util.LinkedList
21.Java改变当前容器的布局方式用什么方法?
setLayout(new FlowLayout(FlowLayout.LEFT,10,10)); //设置布局为流式布局并设置部件间的纵横间隔和对齐方式
22.SQL Server 将一组具有相同权限的用户组织起来叫做角色。
数据库角色:一组具有相同权限的用户的集合。
23.在查询时将customer表中的字段c_name设置别名为’姓名’的操作,正确的是()。D
A.select c_name=姓名 from customer
B.select 姓名=c_name from customer
C.select 姓名 as c_name from customer
D.select c_name as 姓名 from customer
24.在SELECT语句的WHERE子句的条件表达式中,可以匹配0个到多个字符的通配符是%。 通配符是一种特殊语句,主要有星号 (*)和问号 (?),用来模糊搜索文件。