2012年先锋商泰笔试题(含答案版).doc_第1页
2012年先锋商泰笔试题(含答案版).doc_第2页
2012年先锋商泰笔试题(含答案版).doc_第3页
2012年先锋商泰笔试题(含答案版).doc_第4页
2012年先锋商泰笔试题(含答案版).doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、 判定题 对的写T,错的写F1,c语言支持定义可变数量参数的函数 。 (对)注:例子:printf2, 0的补码是0 (错)注:0没有补码,正数的补码是本身,负数的补码是其(二进制)取反加13,switch(c)语句中c可以是int,long,char,float,unsigned int类型。(错)注:switch后面括号中的表达式只能是整型、字符型或枚举型表达式。 case后与之匹配。C不能为float4,数据结构中,栈是后进先出,而队列是先进先出。(T)5,在运行时,函数参数一般是通过栈来传递的。(T)有待继续学习二、 单选1, 下列运算符中,优先级最高的是()(A) + (B)& (C) / (D)*2,十进制整数65的二进制表示形式为()(A)10000001 (B)1000001 (C)100001 (D)100013,通过malloc分配的内存,是占用哪一部分的内存空间?()(A)栈 (B)堆 (C)数据段 (D)以上都不是4,下面程序执行到最后j的值是()int couter(int i)static int count = 0;count += i;return (count);main()int i,j;for(i = 0;i = 5;i+)j = couter(i);printf(%d,j); (A)10 (B)15 (C)5 (D)7注:去掉static后,j=5 5,在win32平台下,下面程序输出结果是什么()int getArrySize(char str)return sizeof(str)/sizeof(str0);int main()char a10;printf(%dn,getArrySize(a);return 0; (A)1 (B)2 (C)4 (D)10注:sizeof(char)=1,sizeof(a10)=1,sizeof(str)=4(32位系统指针4,64位系统为8),sizeof(a)=10,sizeof(str)/sizeof(str0)=4/1=46, c语言中,字符串“a”在内存中占用的字节数是()(A)1 (B)2 (C)4 (D)5注:printf(%dn,sizeof(a);/2printf(%dn,sizeof(a);/17,c语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是()(A)地址传递 (B)单向值传递(C)由实参传给形参,再由形参传回实参 (D)由用户指定传递方式8,对下面两个函数评价正确的是()Void fun1(void)int a602301000,i,j,k;for(k=0;k1000;k+) for(j=0;j230;j+) for(i=0;i60;i+) aijk=0;Void fun2(void)int a602301000,i,j,k; for(i=0;i60;i+) for(j=0;j230;j+)for(k=0;k1; (B)i|1; (C)i&1; (D)i&1;13, 链表问题14,下面关于枚举类型的说法错误的是()(A) 可以为枚举元素赋值(Y)(B) 枚举元素可以进行比较(C) 枚举元素的值可以在类型定义时指定(D) 枚举元素可以作为常量使用15,在32位系统下,有int *array = (int *)0x80000000,int *array2=&array4,请问array2的地址是()(A)0x80000000 (B)0x80000004 (C)0x80000008 (D)0x80000010注:int 占4字节,0-3 共16个字节,16进制表示为0x0000001016,下面代码的输出结果是()#define MAN(a,b) ab?a:bint main()int a = 2;int b = 2;printf(the max is %dn,MAN(+a,b);return 0;(A)2 (B)3 (C)4 (D)517,下列程序输出()unionunsigned short a;unsigned char b2;a;int main()a.b0 = 0x11;a.b1 = 0x22;printf(0x%xn,a.a);return 0;(A)0x2211 (B)0x1122 (C)0x11 (D)0x2218, 下面的代码输出是什么()void foo()unsigned int a = 6;int b = -20;/printf(a+b=%dn,(a+b);/-14/printf(a+b6)=%dn,(a+b6);/1(a+b6)?puts(6):puts(6int main()foo();return 0;(A)6 (B)6) = 0;输出“=6”19,下面的代码输出是什么()void getmem(char *p)p = (char *) malloc(100);strcpy(p, hello world);int main()char *str = NULL;getmem(str);printf(%sn,str);free(str);return 0;(A)NULL (B)hello world (C)程序崩溃 (D)没有输出20,对“char *p = “pest”;”、“char *q=”pest”;”、“char a=”pest”;”这三个语句评论最合适的是()(A) p指向一字符串常量,编译器有可能把它指向的字符串常量放在只读区域,所以尽量不要使用p0=1试图对比字符串常量作修改。(B) a使用一个字符串来初始化一个数组,所以可以使用a0=1修改数组的内容的。(C) p和q指向的内容相同,所以编译器有可能将他们指向的字符串常量存储在相同的位置,即“共用同一个字符串常量”(D) 以上说法都正确三、C+单选题1,以下哪个不是C+的关键字()(A)protected (B)inline (C)volatile (D)finalize2, 下列关于静态成员变量函数的说法中,不正确的是(B)(A)静态成员函数不能利用this指针(B)在非静态的成员函数中不能操作静态成员变量(C)静态成员变量必须显式的在cpp文件中定义(D)静态成员函数不能同时使用virtual关键字修饰注:静态成员函数不可以调用类的非静态成员,因为静态成员函数不含this指针;静态成员函数不可以同时声明为virtual/const/volatile3,有函数重载为void test(int a,int b=7,char *s=”s”);对以下test的调用,哪个是不正确的()(A) test(5); (B)test(5,8); (C)test(5,“y”);(D)test(5,5,“123”);4,下面的函数声明中,哪个可以作为void func(int a, int b)的重载函数()(A) int func(int a, int b);(B) void func(int a, char b);(C) float func(int a, int b, int c=0);(D) void func(int a, int b=0);5,有类A,在定义A a;时,以下哪个函数将被调用()(A)无参数的构造函数(B)有参数的构造函数(C)复制构造函数(D)以上都不是6,类A中有一个私有(private)成员变量member,现有一个新类B需要访问类A的member,因此需要对类A进行修改,以下的修改不可行的是()(A)把member变为public(B)为类A增加两个公共成员函数,分别对member进行读和写(C)把B声明为A的friend(D)让B以public的形式继承A7,上题中,最值得推荐的方式是()8,关于const关键字的说法,错误的是()(A) const可以用来修饰对象和成员函数(B) const对象不能被修改(C) const成员函数不能修改类数据成员(D) const可以用于声明类9,有int i=10;下列表达式,哪个是正确的(假定在函数上下文中)()(A) int &r;/错 必须初始化(B) int &r = 10;/错(C) int &r = &i;/错(D) int &r = i;10, 在下列哪种情况下,宜使用inline关键字来修饰函数()(A) 函数体内定义了大量的临时变量(B) 函数体内大量调用了其他的函数(C) 函数体短小且调用频繁(D) 函数体较大且调用较少注:内联是以代码膨胀(复制)为代价,仅仅省去了函数调用的开销,从而提高函数的执行效率。如果执行函数体内代码的时间,相比于函数调用的开销较大,那么效率的收获会很少。另一方面,每一处内联函数的调用都要复制代码,将使程序的总代码量增大,消耗更多的内存空间。以下情况不宜使用内联:(1)如果函数体内的代码比较长,使用内联将导致内存消耗代价较高。(2)如果

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论