TCL集团2017校园招聘C/C++方向笔试题
TCL集团2013年校园招聘笔试题[C/C++方向]
提示:本测试题总分100分,请60分钟内完成测试。
一、判断题(正确的打√,错误的打×,每题1分,合计1x10=10分)
1. C语言中,016218表示为一个八进制整数。()
2. switch(c)语句中,c可以是int, long, unsigned char, char, unsigned int类型。()
3. 有数组定义int a1[2][2]={{1,2},{2}};则a1[1][1]的值为不确定的。()
4. 有#define MYPRINT(x) printf("#x") 则MYPRINT(test)的输出结果为test.()
5. a=(b=4)+(c=6)是一个合法的赋值表达式。()
6. 自增运算符(++)和自减运算符(--)只能用于变量,不能用于常量和表达式。()
7. 若有说明static int a[3][4];则数组a中各元素可在程序的编译阶段得到初值0。()
8. char const * const p;与const char * const p;是一样,但是char * const p;与char const *p;是不一样的。()
9. C++中const成员函数对于任何本类的数据成员都不能进行写操作。()
10. C++中所有的函数都是纯虚函数的才是纯虚类。()
二、填空题(20分)
注:以下填空题目都是以32位机为主
1. 给定结构
#pragma pack(4)
struct A{
int a1:30;
char a2:2;
int a3:16;
int a4:16;
char a5;
int a6:3;
};
union B{
int b1:16;
char b2:2;
};
则
sizeof(A)= _____________
sizeof(B)= _____________
(5分)
2、 下面代码实现统计一个整数二进制格式中包含多少个'1'请补充完整(5分)
int GetBitNumber(int number)
{
int cnt=0;
while(number!=0)
{
__________________________;
__________________________;
}
return cnt;
}
3、 有如下定义
char *a1[]={"hello!","tclmob"};
char a2[]="\thello\0";
char a3[][8]={"hello!","tclmob"};
char *p1="hello";
char **p2=a1;
char a4[]={'h','e','l','l','o','\0'};
int a5[]={'h','e','l','l','o','\0'};
请问
sizeof(a1)= _____________
sizeof(a2)= _____________
strlen(a2)= _____________
sizeof(a3)= _____________
sizeof(p1)= _____________
sizeof(p2)= _____________
sizeof(a4)= _____________
sizeof(a5)= _____________
(4分)
4、 在一棵二叉树上第8层的结点数最多是____个。(2分)
5、 进程之间通信的途径有____._____._____._____.(4分)
三、单/多项选择题(每题2分,合计2*15=30分)
1、 对于浮点变量f,能实现对f中的值在小数点后第三位进行四舍五入的表达式有_____
A)f=(f*100+0.5)/100.0 B)f=(f*100+0.5)/100
C)f=(int)(f*100+0.5)/100.0 D)f=((int)(f*100+0.5))/100.0
2、 若x、b、m、n均为int型变量,执行下面语句后b的值为_____
m=20;n=6;
x=(--m==n++)?--m:++n
b=m++;
A)11 B)6 C)19 D)18
3、 下列选项中可以将变量n清零的表达式有____
A)n=~n&~n B)n=n&~n C)n=n^n D)n=n|n
4、 若有以下说明int a[5][9]; 则下列选项中对数组元素a[i][j]的正确引用有________(0<=i<4,0<=j<0)
A)*(&a[0][0]+9*i+j) B)*(a+i)(j)
C)*(*(a+i)+j) D)*(a[i]+j)
5、 下列选项中没有构成死循环的程序段有______
A)int i=100; B)for( ; ; )