C语言笔试题及参考答案-东软集团

合集下载

东软软件测试(偏重C语言)工程师笔试题及参考答案

东软软件测试(偏重C语言)工程师笔试题及参考答案

东软软件测试(偏重C语言)工程师笔试题及参考答案问题:东软软件测试(偏重C语言)工程师笔试题及参考答案回答:试卷一:C系语言面试题及答案1、局部变量能否和全局变量重名?答:能,局部会屏蔽全局。

要用全局变量,需要使用::局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。

对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。

2、如何引用一个已经定义过的全局变量?答:extern可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变量,假定你将那个变量写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。

3、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?答:可以,在不同的C文件中以static形式来声明同名全局变量。

可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错。

4、语句for( ;1 ;)有什么问题?它是什么意思?答:无限循环,和while(1)相同。

5、do……while和while……do有什么区别?答:前一个循环一遍再判断,后一个判断以后再循环。

6、请写出下列代码的输出内容#includemain(){int a,b,c,d;a=10;b=a++;c=++a;d=10*a++;printf( b,c,d:%d,%d,%d ,b,c,d);return 0;}答:10,12,1207、测试计划工作的目的是什么?测试计划文档的内容应该包括什么?其中哪些是最重要的?答案:软件测试计划是指导测试过程的纲领性文件。

包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。

东软笔试题0715

东软笔试题0715

1,下列选项中正确的有:(E)A Boolean b = null;B char c = "a";C int i = 257;D float f = 1.7;E int a=10;2,选择输出结果正确的是:()package Test;public class CeShi {public static void main(String[] args) {System.out.println(args[2]);}}C:出现异常:ng.ArrayIndexOutOfBoundsException: 23,对线性表,在下列哪种情况下应当采用链表表示( B )。

A)经常需要占据一片连续的存储空间B)经常需要进行插入和删除操作C)经常需要随机地存取元素D)表中元素的个数不变4,一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( C )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 35,队列的--插入--操作时在队列的---队尾----进行,--删除--操作是在队列的---队首--进行;6,二叉树第 k 层最多有 2的k-1次方个节点7,下面排序算法中,待排序数据已有序时花费时间最少的是(A)排序A插入 B冒泡 C快速 D选择8,有关Servlet的生命周期说法正确错误的有 (A)A. Servlet的生命周期由Servlet实例控制B. init()方法在创建完Servlet实例后对其进行初始化,传递的参数为实现ServletContext接口的对象C. service()方法响应客户端发出的请求D. destroy()方法释放Servlet实例9,在a.jsp中有代码片断如下:<form action =”b.jsp” method =”POST”name=”form1”>loginName:<input type=”text”name=”loginName”/><input type=”submit” name=”submit”/></form>在b.jsp中加入下列()代码,可以输出在a.jsp页面上输入的loginName的值(多选)A. <%=request.getParameter(“loginName”)%>B. <%=request.gerAttribute(“loginName”)%>C. <%Stringname=request.getParameter(“loginname”);out.println(name); %>D. <% Stringname=request.getAttribute(“loginname”); out.println(name); %>正确答案为:AC10,给定一个 Servlet 的doGet方法中的代码片段,如下:request.setAttribute(“name”,”zhang”);response.sendRedirect(“http://localhost:8080/servlet/MyServlt”);那么在 MyServlet中可以使用(D)方法把属性 name的值取出来。

C++语言考试(东软员工)——答案

C++语言考试(东软员工)——答案

一、选择题(每小题2分,共12分)A A AB B A二填空题(每小题3分,共30分)1. 址传递2. this指针3. 私有不可以访问,其他同基类一致4.无参5.共享6. 封装,多态,继承,抽象7. 虚基类、虚函数8. 作为左值9. 210. friend class AB三给出下列程序运行后的输出结果(每小题5分,共20分)1. 32.i=2i=5i=8i=11i=143.Initalizing defaulInitalizing defaul0 0.0Desdtructor is activeDesdtructor is active4.A::A() called.B::B() called.B::~B() called.A::~A() called.5.9 5 38 4 7四、问答题(每小题5分,共20分)1. 浅拷贝问题,主要原因为类中如果有指针成员变量时,当调用拷贝构造函数时只拷贝地址从而使两个对象的指针变量指向了一个地址空间。

2. 成员函数只能由该类所实例化的对象来进行调用。

[静态成员除外]全局函数可以在任意位置进行调用。

友元函数可以让本类和友元类对象调用。

3. 结构化程序设计为从程序代码的开始处按照顺序方式执行至代码的结束位置。

是一种顺序的方式,函数与变量没有明显的联系面向对象主要把处理事情的事物和方法结合为一体成为一个类,一个类具备处理一件事情的数据变量和处理方法,把数据和方法有机的结合为了一体,使每一件事情都具备一定的独立性,形成一个模块。

增加了内聚性,降低了耦合性。

同时也增加了代码的可读性以及代码的重用性。

4. 在c语言中struct只能对数据进行聚合,而c++的class把数据以及对数据的处理方法也同时聚合为一体,增加了内聚性。

此外class拥有可再生性和可抽象性,实现的代码的复用。

集中体现在派生的功能和多态的功能。

同时class也比struct具备更好的封装性,体现在三种访问权限上。

东软C++笔试题附答案

东软C++笔试题附答案

东软c++笔试题+答案1、public static const int num = 9; 判断题const 成员变量是静态的不需要加static修饰2、C#中接口和类的主要区别问答接口只包含方法或属性的声明,不包含具体实现方法的代码,接口可以实现多继承(可以实现多个接口),而类只能是单继承,继承(实现)接口的类必须实现接口中声明的方法或属性3、用sealed修饰的类有什么特点问答不可被继承4、找错误指出下面程序的错误public class MyTest{public void Test(ref int i){i = 1;}public void Test(int i){i = 1;}public void Test(out int i){i = 1;}}Out 和 ref 不能用来重载方法compiler error CS0663: "cannot define overloaded methods that differ only on ref and out"5、什么类型的变量可以用foreach 来遍历?问答In C#, it is not strictly necessary for a collection class to inherit from IEnumerable and IEnumerator in order to be compa tible with foreach; as long as the class has the required GetEnumerator, MoveNext, Reset, and Current members, it will work with foreach. Omitting the interfaces has the advantage of allowing you to define the return type of Current to be more specific than object, thereby providing type-safety.6、读程序写出输出结果读程序public class MyTest{static void Main(string[] args){MyTest mt = new MyTest();mt.Test();}public void Test(){StructPoint sp = new StructPoint();sp.x = 9;sp.y = 10;StructPoint retSp = RefreshStructPoint(sp);OutputStructPointResult(ref retSp);OutputStructPointResult(ref sp);retSp = RefreshStructPoint(ref sp);OutputStructPointResult(ref retSp);OutputStructPointResult(ref sp);ClassPoint cp = new ClassPoint(10, 12);ClassPoint retCp = RefreshClassPoint(cp);OutputClassPointResult(ref retCp);OutputClassPointResult(ref cp);}public void OutputStructPointResult(ref StructPoint sp){Console.WriteLine(sp.x);Console.WriteLine(sp.y);}public void OutputClassPointResult(ref ClassPoint cp){Console.WriteLine(cp.X);Console.WriteLine(cp.Y);}private StructPoint RefreshStructPoint(ref StructPoint point) {point.x++;point.y++;return point;}private StructPoint RefreshStructPoint(StructPoint point){point.x++;point.y++;return point;}private ClassPoint RefreshClassPoint(ClassPoint point) {point.X = 0;point.Y = 0;return point;}}public struct StructPoint{public int x;public int y;}public class ClassPoint{private int x = 0;private int y = 0;public ClassPoint(int x, int y){this.x = x;this.y = y;}public int X{get{return x;}set{x = value;}}public int Y{get{return y;}set{y = value;}}}输出结果1011910101110117、string 是值类型还是引用类型?下面的代码Main方法中在调用第一个Method 和第二个Method方法后str变量结果分别是什么,是否会被改变class RefExample{static void Method(ref string s){s = "changedRef";}static void Method(string s){s = "changed";}static void Main(){string str = "original";Method(str);Method(ref str);}}第一个方法后str = “original”第二个方法后str = “changed Ref”8、out和ref关键字的作用,有什么不同?表示参数是传递引用,out传递前不需要初始化,执行的函数返回前必须赋值,ref传递前必须初始化。

东软培训考核试题答案(内部资料)

东软培训考核试题答案(内部资料)

东软培训考核试题答案(内部资料)⼀、单选题(共20分,每题1分)1、快速排序的时间复杂度_____。

A)B) O(n*n); C)O(n*n/2); ; D)O(log(n));2、计算程序执⾏完的结果:short a;char *p;a = 1234;p= (char *)&a*p = 56;请问题变量a的数值为______。

A)1234; B) 3456; C)5634;3、判断程序的结果:char * p = “Hello World”;*p = “A”;程序执⾏后的结果_______。

A) p指向的字符串为“Aello World”;“H ello World”;C)D) 结果未知;4、请问这个结构体所占的空间⼤⼩是______。

Typedef {Int a;Char b,Short c,Short d,}AA_t;A)16byte; B) 9 byte; D)85、有下列程序段char a[3],b[]=”China”;a = b;printf(“%s”,a);则______。

A)运⾏后将输出China Ch;C)运⾏后将输出Chi6、若有语句int * point,a =4 ;和point = &a______。

7 、语句int (*ptr)();的含义是______。

A)ptr是指向⼀维数组的指针变量;D)ptr是⼀个函数名,该函数的返回值是指向int类型的指针;8、若有以下定义和语句:struct student{int age;int num;};struct student stu[3] = {{1001,20},{1002,19},{1003,21}};main(){struct student *p;p = stu;...}则以下不正确的引⽤是______。

A)(p++)->num; B)p++; C)(*p).num;9、请正确指出下列指针的最确切的含义,int (*ptr)[3]、int *(*ptr)[4]、void* (*ptr)(void*)______。

东软员工培训 摸底考试试题 内部资料

东软员工培训 摸底考试试题 内部资料

a[2]的值依次是___________
A. 10,11,12 B. 11,12,12 C.10, 12, 12
D.11,11,12
10.设有说明 int s[2]={0,1}, int *p=s;则下列错误的 C 语句是___________ A. s+=1; B. p+=1; C. *p++; D.(*p)++;
func2(x, y);
printf(“%d,%d”, x, y) ;
}
运行结果为(

A.10, 10,10,10 B.10, 10, 20, 20 C.20, 20, 20, 20 D.20, 20, 30, 30
14.如下代码 typedef struct ptrblock {
char *ptr; char name[10]; }Node_t;
static int y=10;
D. 不确定
void func1( ) {
x += 10; Y += 10; }
void func2(int x, int y) {
x += 10; y += 10; }
void main( void )
{
Func1( );
printf(“%d, %d”, x, y) ;
D, char c = 100; unsigned char uc = 100 c = c + uc; if (c > uc) {…} else {…}
18.下面各个程序中那些是不正确的(不符合 const 特征)(

A, int i;
int * const pi;
pi =&i;

C++培训考试 东软内部资料

C++培训考试 东软内部资料

《C++语言编程》课程考试笔试试卷总分:100分时间:120分钟姓名:班级:身份证号:一、选择题(每小题2分,共12分)1 C++源文件的缺省扩展名为()A.cppB.exeC.objD.lik2 程序运行中需要从键盘上输入多于一个数据时,各数据之间应该使用()符号作为分隔符A.空格或逗号B.逗号或回车C.逗号或分号D.空格或回车3 在每个C++程序中都必须包含有这样一个函数,该函数的名称为()A.mainB.MAIND.function4 假定a 为一个短整型(short int)数组名,则元素a[8]的地址为()A.a+4B.a+8C.a+16D.a+325 假定AB 为一个类,则执行“ABa(4),b[4],*p[5]”语句时,自动调用该类够造函数的次数为()A.4B.5C.8D.136 当需要使用istrstream流类定义一个流类对象并联系一个字符串时,应在文件开始使用#include命令,使之包含()文件A.iostream.hB.iomanip.hC.fstream.hD.ststrea.h二填空题(每小题3分,共30分)1.在C++中,函数的参数有两种传递方式,它们是值传递和()。

2.当一个成员函数被调用时,该成员函数的()指向调用它的对象。

3.在公有继承的情况下,基类数据成员在派生类中的访问权限()。

4.用new申请某一个类的动态对象数组时,在该类中必须能够匹配到()构造函数,否则应用程序会产生一个编译错误。

5.静态数据成员在类外进行初始化,且静态数据成员的一个拷贝被类的所有对象()。

6.面向对象的程序设计有四大特征,它们是()。

7.在C++类中,有一种不能定义对象的类,这样的类只能被继承,称之为(),定义该类至少具有一个()。

8.在C++类中,const关键字可以修饰对象和成员函数,const对象不能()。

9.假定一个枚举类型的定义为“enum RB{ab,ac,ad,ae}x=ad;”则x的值为()10.若需要把一个类AB定义一个类CD的友元素,则应在类CD的定义中加入一条语句为()。

C语言笔试题及参考答案

C语言笔试题及参考答案

C语言笔试题及参考答案-东软集团一、选择题(共30题,每题2分,满分60分)1、(数据结构)对图中的二叉树,按先根次序遍历得到的结点序列为BA、ABCDHEIFGB、ABDHIECFGC、HDIBEAFCGD、HIDBEFGAC2、(数据结构)设线性表(a1,a2,a3,...,a500)中所有元素的值由小到大排列,对一个给定的值K,用二分法查找表中与K相等的元素,在查找不成功的情况下,至多需要比较 A 次。

(本人拿不准)A、8B、9C、10D、113、(数据结构)二叉树的查找有深度优先和广度优先,深度优先包括 AA、前序遍历、后序遍历、中序遍历B、前序遍历、后序遍历、层次遍历C、前序遍历、中序遍历、层次遍历D、中序遍历、后序遍历、层次遍历4、(数据结构)已知二叉树的先序序列为ABDECF,中序序列为DBEAFC,则后序序列为DA、DEBAFCB、DEFBCAC、DEBCFAD、DEBFCA5、(数据结构)队列是一种常用的数据结构,其元素的入队与出队遵循A 原则。

A、先进先出B、先进后出C、随机进、随机出D、顺序进、随机出6、(数据结构)在数据结构中,结点及结点间的相互关系是数据的逻辑结构,数据结构按逻辑关系的不同,通常可分为两类A、动态结构和表态结构B、紧凑结构和非紧凑结构C、线性结构和非线性结构D、内部结构和外部结构7、(数据结构)队列是一种常用的数据结构,其元素的入队与出队遵循原则。

A、先进先出B、先进后出C、随机进、顺序出D、顺序进、随机出8、(数据结构)与单向链表相比,双向链表的优点之一是A、更节省存储空间B、便于进行随机访问C、更容易访问相邻结点D、可以省略头指针和尾指针9、(操作系统)在文件存储设备管理中,有三类常用字的空闲块管理方法,即位图向量法,空闲块链表法和A、级目录法B、多级目录法C、分区法D、索引法10、(操作系统)在进程管理中,当时,进程从阻塞状态变为就绪状态。

A、进程被进程调度程序选中B、等待某一事件C、等待事件发生D、时间片用完11、(操作系统)若进程P1正在运行,操作系统强行撤下P1进程所占用的CPU,让具有更高优先级的进程P2运行,这种调度方式称为A、中断方式B、抢占方式C、非抢占方式D、查询方式12、(操作系统)I/O控制方式有多种,一般用于大型、高效的计算机系统中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
方法2:
#include
#include
main()
{
char str[]= "hello,world ";
int len=strlen(str);
char t;
for(int i=0; i{
t=str[i];
str[i]=str[len-i-1]; str[len-i-1]=t;
}
printf( "%s ",str);
15。enum string
{
x1,
x2,
x3=10,
x4,
x5,
}x;
问x;
答案:取值在0。1。10。11。12中的一个
16。unsigned char *p1;
unsigned long *p2;
p1=(unsigned char *)0x801000;
p2=(unsigned long *)0x810000;
return 0;
}
答:10,12,120
7、static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
全局变量(外部变量)的说明之前再冠以static就构成了静态的全局变量。全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。而静态全局变量则限制了其作用域,即只在定义该变量的源文件内有效,在同一源程序的其它源文件中不能使用它。由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用,因此可以避免在其它源文件中引起错误。
从以上分析可以看出,把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期。把全局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围。
static函数与普通函数作用域不同。仅在本文件。只在当前源文件中使用的函数应该说明为内部函数(static),内部函数应该在当前源文件中说明和定义。对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件
{
return GT_Length_ERROR;
}
.......}答案:要释放内存
5、do……while和while……do有什么区别?
答:前一个循环一遍再判断,后一个判断以后再循环
6、请写出下列代码的输出内容
#include
main()
{
int a,b,c,d;
a=10;
b=a++;
c=++a;
d=10*a++;
printf( "b,c,d:%d,%d,%d ",b,c,d);
{
INCp= &inc;
int temp =p(arg1);
fun( &temp,&arg1, arg2);
printf( "%d\n ",*arg2);
}
main()
{
int a;
show(multi,10, &a);
return 0;
}
答:110
11、请找出下面代码中的所以错误
说明:以下代码是把一个字符串倒序,如“abcd”倒序后变为“dcba”
10、while(len--!=0)
11、d++=s--;
12、printf( "%s ",dest);
13、return 0;
14、}
答:
方法1:
int main()
{
char* src = "hello,world ";
int len = strlen(src);
char* dest = (char*)malloc(len+1);//要为\0分配一个空间
return 0;
}
12。对于一个频繁使用的短小函数,在C语言中应用什么实现,在C++中应用什么实现?
答案:c用宏定义,c++用inline
13。软件测试都有那些种类?
答案:黑盒:针对系统功能的测试白合:测试函数功能,各函数接口
14。确定模块的功能和模块的接口是在软件设计的那个队段完成的?
答案:概要设计阶段
3。typedef unsigned char BYTE
int examply_fun(BYTE gt_len; BYTE *gt_code)
{
BYTE *gt_buf;
gt_buf=(BYTE *)MALLOC(Max_GT_Length);
......
if(gt_len>Max_GT_Length)
C语言笔试题及参考答案-东软集团
1、局部变量能否和全局变量重名?
答:能,局部会屏蔽全局。要用全局变量,需要使用":: "
局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。
DATE max;
则语句printf( "%d ",sizeof(struct date)+sizeof(max));的执行结果是:___52____
答:DATE是一个union,变量公用空间.里面最大的变量类型是int[5],占用20个字节.所以它的大小是20
data是一个struct,每个变量分开占用空间.依次为int4 + DATE20 + double8 = 32.
请问p1+5= ;
p2+20= ;
答案:801005;810014。不要忘记了这个是16进制的数字,p2要加20变为16进制就是14
选择题:
1.Ethternet链接到Internet用到以下那个协议?
A.HDLC;B.ARP;C.UDP;D.TCP;E.ID
2.属于网络层协议的是:
A.TCP;B.IP;C.ICMP;D.X.25
2、如何引用一个已经定义过的全局变量?
答:extern
可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。
3.Windows消息调度机制是:
A.指令队列;B.指令堆栈;C.消息队列;D.消息堆栈;
答案:b,a,c
二找错题:
1.请问下面程序有什么错误?
int a[60][250][1000],i,j,k;
for(k=0;k<=1000;k++)
for(j=0;j<250;j++)
for(i=0;i<60;i++)
a[i][j][k]=0;
答案:把循环语句内外换一下
2。以下是求一个数的平方的程序,请找出错误:
#define SQUARE(a) ((a)*(a))
int a=5;
int b;
b=SQUARE(a++);
答案:这个没有问题,s(a++),就是((a++)×(a++))唯一要注意的就是计算后a=7了
8、程序的局部变量存在于(堆栈)中,全局变量存在于(静态区)中,动态申请数据存在于(堆)中。
9、设有以下说明和定义:
typedef union {long i; int k[5]; char c;} DATE;
struct data { int cat; DATE cow; double dog;} too;
static全局变量与普通的全局变量有什么区别:static全局变量只初使化一次,防止在其他文件单元中被引用;
static局部变量和普通局部变量有什么区别:static局部变量只被初始化一次,下一次依据上一次结果值;
static函数与普通函数有什么区别:static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝
}
int multi(int*a,int*b,int*c)
{
return(*c=*a**b);
}
typedef int(FUNC1)(int in);
typedef int(FUNC2) (int*,int*,int*);
void show(FUNC2 fun,int arg1, int*arg2)
3、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?
答:可以,在不同的C文件中以static形式来声明同名全局变量。
可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错
4、语句for(;1;)有什么问题?它是什么意思?
答:和while(1)相同。
1、#include "string.h "
2、main()
3、{
4、char*src= "hello,world ";
5、char* dest=NULL;
6、int len=strlen(src);
7、dest=(char*)malloc(len);
8、char* d=dest;
9、char* s=src[len];
char* d = dest;
char* s = &src[len-1];//指向最后一个字符
相关文档
最新文档