研究生求职笔试题库
在应聘的过程中,总会遇到一些难缠的问题,令人一时不知如何招架。当然这些问题并没有标准答案,个人以为,胜出的关键,是事先对应聘单位需要什么样的人有所了解C语言 我要投稿C语言笔试题100道
C语言笔试题
1) 设x,y均为整型变量,且x=10 y=3,则以下C语言的输出结果是()。(选择一项)
printf(“%d,%d\n”,x–,–y);
a)10,3
b)9,3
c)9,2
d)10,2
2)在C语言中,要计算一个数(变量i)的开平方,下面代码正确的是()。(选择一项)
a)printf(sqrt(t), “\n Square of%d”,i)
b)printf(“\n Square of %d is %d”,i,sqrt(i))
c)printf(sqrt(i),i,t, “\n Sqrt of %d is %d”)
d)printf(i,t,”\n Square of%d”)
e)scanf(i,”\n Square of%d is %d”,sqrt(i))
3)运行下列C程序:
#include
void fun(int x,int y,int z)
{z=x_x+y_y;}
void main()
{
int a=31;
fun(5,2,a);
printf(“%d”,a);
}
输出结果是()。(选择一项)
a)0
b)29
c)31
d)无定值
4)在C语言中,下面选项()是合法的变量名。(选择两项)
a)Minimum
b)3 rd_row
c)n1+n2;
d)Doubles
e)First.name
5)运行下面的C程序:
#include
void main()
{
int n;
scanf(“%d”,&n);
if(n++<10)
printf(“%d\n”,n);
else
printf(“%d\n”,n--);
}
若从键盘上输入9,则输出结果是()。(选择一项)
a)11
b)10
c)9
d)8
6)运行下面的C程序:
#include
void main()
{
int n;
scanf(“%d”,&n);
if(n++<10)
printf(“%d\n”,n);
else
printf(“%d\n”,n--);
}
若从键盘上输入9,则输出结果是()。(选择一项)
a)11
b)10
c)9
d)8
7)在C语言中,当说明一个结构体变量时系统分配给它的内存是()(选择一项)
a)各成员所需内存量的总和
b)结构中第一个成员所需内存量
c)成员中占内存量最大者所需的容量
d)结构中最后一个成员所需的内存量
8)在C语言中,下列关于条件语句的描述中,正确的是()。(选择两项)
a)当if语句嵌套使用的时候,最后一个else和最近的一个没有else匹配的if匹配
b)一个if可以有多个else与之匹配
c)一个switch语句总是可以被一系列if…else语句替换
d)当执行break语句时程序将停止执行
9)在C语言中,下面不正确的字符串常量是()。(选择一项)
a)‘abc’
b)“12’12”
c)“0”
d)“ ”
10)int a=4,b=20;
if (a>b && ++a
printf(“b=%d”,b)
else
printf(“a=%d”,a);
上面的C程序段的输出结果是()(选择一项)
a)b=20
b)a=5
c)a=4
d)b=21
11)在C语言中,有如下定义
void f(int x,int y)
{
int t;
if(x
{t=x;x=y;y=t;}
}
main()
{
int a=4,b=3,c=5;
f(a,b);
f(a,c);
f(b,c);
printf(“%d,%d,%d\n”,a,b,c);
}
执行后输出的结果是()。(选择一项)
a)3,4,5
b)5,3,4
c)5,4,3
d)4,3,5
13) int a[5]={3,9,5,6,4};
printf(“%d”,_(a+4));
以上C程序段的输出结果是()。(选择一项)
a)3
b)5
c)4
d)6
14) 分析下面的C语言代码:
int a=1,b=10;
do{
b-=a; a++;
}while (b--<0);
则执行循环语句后b的值为()。(选择一项)
a)9
b)–2
c)–1
d)8
15) 设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:
scanf("i=%d,f=%f",&i,&f);
为了把100和765.12分别赋给i和f,则正确的输入为()。(选择一项)
a) 100 765.12
b) i=100,f=765.12
c) 100 765.12
d) x=100 y=765.12
16)在C语言中,下列()是合法的标识符。(选择两项)
a) COUNT
b) P234
c) 4x
e)short
17) 有数组int num [5] = {10,20,30,40,50};
num[3]的值为()。 (选择一项)
a) 30
b) 50
c) 40
d) 20
e) 10
18) #include
void main()
{
int a=3,b=2,c=1;
int x=10,y=20;
if(a
if(b!=0)
if(!x)
y=1;
else if(x)
y=0;
y=-1;
printf("%d",y);
}
上面的C程序的输出结果是()。(选择一项)
a) 20
b) 1
c) 0
d) -1
19) void main()
{
int i, x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
printf("%d ",x[i][2-i]);
}
以上C程序的输出结果是()。(选择一项)
a) 1 5 9
b) 1 4 7
c) 3 5 7
e)3 6 9
20) C语言中,while和do…while循环的主要区别是()。(选择一项)
a) while的循环控制条件比do…while的循环控制条件严格
b) do…while的循环体至少无条件执行一次
c) do…while允许从外部转到循环体内
d) do…while的循环体不能是复合语句
21) 执行下面的C程序段后,输出结果是()。(选择一项)
int a=5;
while( a--);
printf( "%d", a);
a) 54321
b) 4321
c) 0
d) -1
22) 以下正确的叙述有()。(选择两项)
a) 在C程序中,每行中只能写一条语句
b) 在C程序中,Abc和abc是2个相同的变量
c) 若a和b 的类型相同,在计算了赋值表达式a=b后b的值将放入a,而b的值不变
d) 若a是float型变量,a=10是合法的,因为float型变量允许存放整型数
23) 下面C代码的输出结果是()。(选择一项)
int answer,result;
answer=100;
result=answer-10;
printf(“The result is %d”, result+5);
a) The result is 90
b) The result is 95
c) The result is 10
d) The result is 100
24) char _p="happy new year";
char _q=p;
int k;
for( k=1;k<8;k++)
{
putchar(_q); //putchar函数用来输出单个字符
q++;
}
上面C程序段的输出结果是()。(选择一项)
a) happy new year
b) happy new
c) happy n
d) happy
e) appy n
25) 在C语言中,根据下面的定义,能打印出字母m的语句是()。(选择一项)
struct person{ char name[9]; int age; };
struct person per[10]={"john",17,
"paul",19,
"mary",18,
"adam",16};
a) printf("%c\n",per[3].name);
b) printf("%c\n",per[3].name[1]);
c) printf("%c\n",per[2].name[1]);
d) printf("%c\n",per[2].name[0]);
26) 在C语言中,存储类别定义了变量的()。(选择两项)
a) 生命周期
b) 可见性
c) 关系性
27) 在C语言中,设有数组定义: char array [ ]="China"; 则数组 array所占的空间为( )。(选择一项)
a) 4个字节
b) 5个字节
c) 6个字节
d) 7个字节
28) 在C语言中,()是在所有函数外部声明的。(选择一项)
a) 全局变量
b) 局部变量
c) 形参
29) 以下对C语言函数的有关描述中,正确的是()。(选择一项)
a) 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
b) C函数既可以嵌套定义又可以递归调用
c) 函数必须有返回值,否则不能使用函数
d) C程序中有调用关系的所有函数必须放在同一个源程序文件中
30) 分析下面的C程序:
#include
void main()
{
int num=0;
while(num<=2){
num++;
printf("%d ",num);
}
}
输出结果是()。(选择一项)
a)1 2 3
b)0 1 2
c)2 3
d)1 2
31) 分析下面的程序:
void fun (int a,int b,int c)
{
a=456; b=567; c=678;
}
void main()
{
int x=10, y=20,z=30;
fun (x,y,z);
printf("%d,%d,%d\n",z,y,x);
}
输出结果是()。(选择一项)
a)30,20,10
b)10,20,30
c)456,567,678
d)678,567,456
JAVA面试题
1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。
2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
3.封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
4. 多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
2、String是最基本的数据类型吗?
基本数据类型包括byte、int、char、long、float、double、boolean和short。
java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类
3、int 和 Integer 有什么区别
Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。
原始类型封装类
booleanBoolean
charCharacter
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。
4、String 和StringBuffer的区别
JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。
5、运行时异常与一般异常有何异同?
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。
6、说出Servlet的生命周期,并说出Servlet和CGI的区别。
Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的do_X方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。
与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。
7、说出ArrayList,Vector, LinkedList的存储性能和特性
ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
8、EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。
EJB包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT等技术实现。
SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来代表应用系统中用到的数据。
对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。
对于客户机,EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。
Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session Bean ,这两种的 Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应的 Stateful Session Bean 的实体。Stateless Session Bean 虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫 Stateless Session Bean 的时候,EJB Container 并不会找寻特定的 Stateless Session Bean 的实体来执行这个 method。换言之,很可能数个使用者在执行某个 Stateless Session Bean 的 methods 时,会是同一个 Bean 的 Instance 在执行。从内存方面来看, Stateful Session Bean 与 Stateless Session Bean 比较, Stateful Session Bean 会消耗 J2EE Server 较多的内存,然而 Stateful Session Bean 的优势却在于他可以维持使用者的状态。
9、Collection 和 Collections的区别。
Collection是集合类的上级接口,继承与他的接口主要有Set 和List.
Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。
10、&和&&的区别。
&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。
11、HashMap和Hashtable的区别。
HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。
HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。
HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。
Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。
Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。
12、final, finally, finalize的区别。
final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
finally是异常处理语句结构的一部分,表示总是执行。
finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。
13、sleep() 和 wait() 有什么区别?
sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。
wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。
14、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被”屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。
15、error和exception有什么区别?
error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。
exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。
Word笔试考试题
1.在Windows环境下,以下哪些操作可以启动Word2003
A 用鼠标左键依次单击“开始”→“程序”→“Microsoft Word 2003” B 用鼠标双击桌面上的“Microsoft Word2003”快捷图标。 C 用鼠标双击桌面上的“我的文档”图标 D 用鼠标双击桌面上的任务栏的空白处
答案:AB
2.在下列视图中有那些视图是可以使用Word2000"即点即输"功能
A 普通视图 B 大纲视图 C Web版式视图 D 页面视图
答案:BC
3.某用户想为一个Word文档设置密码,以下操作正确的是
A 选择"工具"菜单下"选项",在选项对话框中设置 B 选择"工具"菜单下设置密码 C 选择"文件"菜单下"另存为",在"另存为"对话框中选择"选项",在进行密码设置 D Word没有该功能
答案:AC
4.关于剪贴板说法正确的有哪些?
A 剪贴板上支持一次最多存储12个纪录 B 剪贴板工具栏提供了一次将剪贴板上的所有内容全部粘贴的功能。 C 剪贴板工具栏提供了一次将剪贴板上的所有内容全部清除的功能。 D 可以先选择剪贴板上的任意一个内容项,然后,选择主菜单栏的【选择性粘贴】命令,进行有选择的粘贴。
答案:ABC
5.下列说法哪些是正确的?
A 双击一个词语的任何一处,可以选择该词语。 B 移动鼠标指针到行首空白处,当指针形状变为箭头时,单击左键可以选择一行文字。 C 在某段落的任何一处连续三次按鼠标左键,可以选择该段落。 D 单击鼠标左键并按住不放拖动,可以选择拖动范围内的全部内容。
答案:ABCD
6.关于Word2003的艺术字,哪些说法是正确的?
A Word2003提供了修改艺术字样式的功能。 B Word2003的艺术字制作完成后,不再能进行艺术字样式的修改。 C Word2003提供了修改艺术字中文字的功能。 D Word2003的艺术字制作完成后,不再能进行艺术字的文字的修改。
答案:AC
7.在Word2003下,设置默认的字符格式作用范围是:
A 当前文档 B 所有以当前模板为基础的文档 C 以当前模板为基础的新文档 D 所有新文档
答案:AC
8.在Word2003文档中创建图表的方法有哪几种?
A 链接文档中的其它图表 B 根据文档中益友的表格生成图表 C 直接插入图表对象 D 链接到其他程序中的数据
答案:BCD
9.在修改图形的大小时,若想保持其长宽比例不变,应该怎样操作?
A 用鼠标拖动四角上的控制点 B 按住Shift键,同时用鼠标拖动四角上的控制点 C 按住Ctrl键,同时用鼠标拖动四角上的控制点 D 在"设置图片格式"中锁定纵横比
答案:BCD
10.调整段落的左缩进可采取的方法有:
A 用标尺调整 B 用"段落"对话框的"缩进与间距"选项卡调整 C 通过制表位调整 D 用Tab键调整
答案:ABD
11.在Word2003中,以下哪些操作可以保存当前文档。
A 单击“常用”工具栏中的“保存”按钮 B 依次单击“文件”→“保存”选项 C 依次单击“文件”→“新建”选项 D 依次单击“文件”→“打印”选项
答案:A B
12.在Word2003文本编辑中,用以下哪些方法可以移动选定的文本。
A 用鼠标拖动该文本块 B 用“剪切”和“粘贴”命令 C 用Ctrl+X组合键和Ctrl+V组合键 D 用Ctrl+C组合键和Ctrl+V组合键
答案:ABCD
13.在Word2003中,使用“字体”对话框,可以完成哪些设置
A 字号 B 字体 C 加下划线 D 右对齐
答案:ABC
14.在Word2003中,哪些操作可以在文档中添加图片
A 使用“文件”菜单中的“打开”命令 B 使用“插入”菜单中“图片”选项中的“剪贴画” C 使用“插入”菜单中“图片”选项中的“来自文件” D 使用剪贴板来复制其他应用程序中的图片
答案:BCD
15.在Word2003的“设置图片格式”对话框中,对文档中的图片可以进行哪些操作。
A 改变图片高度 B 改变图片宽度 C 按比例缩放图片 D 添加边框
答案:ABC
16.在Word2003下,哪些方式可以设置段落缩进方式
A 垂直标尺上的缩进标记 B 水平标尺上的缩进标记 C 使用“格式”菜单中的“段落”命令 D 使用“格式”菜单中的“字体”命令
答案:bc
17.在Word2003中,使用“页面设置”对话框可以设置
A 打印机的型号 B 打印份数 C 打印纸的.类型 D 打印的方向
答案:BCD
18.以下可以在Word2003文档中加上页码的是
A 用[页面设置]命令 B 用[插入]->[页码]命令 C 用[工具]->[页码]命令 D 在[视图]-〉[页眉和页脚]命令中插入
答案:BD
19.在Word2003中以下有关移动和复制说法正确的是
A 图形不可以复制 B 要移动选定内容,可以用鼠标拖放的方法 C 要复制选定内容,按住 Ctrl 键不放,同时用鼠标将选定内容拖至目的位置 D 可用鼠标右键拖动选定内容,在释放鼠标键时,选择出现的快捷菜单中相应的移动和复制选项
答案:BCD
20.在Word2003文档中如何选定一个段落
A 按Ctrl+A键 B 在该段落中三击鼠标左键 C 使光标在段落中,双击鼠标左键 D 按住鼠标左键自段落起始位置拖动到终止位置
答案:BD
21.Word20003提供的模板有
A 中文报告 B 简历向导 C 英文信函和传真 D 中文信函和传真
答案:ABCD
22.以下哪些命令可将光标移到当前行尾
A 按[End]键 B 按[Home]键 C 在行尾单击鼠标右键 D 在行尾单击鼠标左键
答案:AD
23.以下哪些可以改变一个线条的格式
A [格式]->[对象]命令 B [绘图]工具栏的"线条颜色"和"线型"图标 C [绘图]工具栏的"阴影"图标和"虚线线型"图标 D "[绘图]工具栏的""字体颜色""图标和""填充色"图标
答案:BC
24."在[自动套用格式]命令中要实现把格式中表格的边框、底纹和斜体字都取消,应:
A 取消[边框]选项 B 取消[底纹]选项 C 取消[字体]选项 D 取消[首列]选项
答案:ABC
25.以下关于表格中文本格式的说法,正确的是:
A 表格中的文本可用[格式]工具栏的"字体"和"字号"来修饰 B 表格中文字的左右居中,可用[格式]工具栏上的"居中"图标 C 表格中文字的上下对齐,可用[格式]工具栏上的"垂直居中"图标 D "表格中文字的上下对齐,可以用[表格和边框]工具栏的""垂直居中"图标
答案:ABD
26.下列有关页面显示的说法正确的有:
A Word2003有"Web版式"视图 B 在页面视图中可以拖动标尺改变页边距 C 多页显示只能在打印预览状态中实现 D 在打印预览状态仍然能进行插入表格等编辑工作
答案:ABD
27.如何取消用制表位制作的无用线表:
A 选定整个表,按Delete B [编辑]菜单中的[清除]命令 C [制表位]对话框中的[全部取消]命令 D 用鼠标把标尺上的制表位拖离标尺
答案:CD
28.在Word2003中,如何给一个字符加上阴影和斜体效果:
A 选择[格式]工具栏上的"斜体"和"字符底纹"图标 B 选择[格式]->[字体]对话框中"字符间距"和"动态效果" C 选择[格式]->[字体]对话框中"阴影",再单点"斜体"图标 D 选择[格式]->[字体]对话框中"阴文"和"斜体"
答案:AC
29.在Word2003的打印预览状态下可以:
A 显示标尺 B 打印 C 改变页边距 D 改变显示比例
答案:ABCD
30.Word2003中文档的背景类型可以是:
A 水印 B 图片 C 单色 D 过渡颜色
答案:ABCD