测试工程师招聘常考题有如下两类:
一、选择题
1. 下列程序的运行结果是 # define A 5 # define B A+1 main( ) { int a; a=B; printf(″%d\n″a--); } A.6 B.5 C.4 D.出错
2. 设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]); 的输出结果是 A.147 B.159 C.357 D.369
3. 设有以下程序段:int a=1, b=10, c=1, x; x=a&&b||++c;printf(″%d, %d\n″,x,c);执行后输出的结果是 A.0,0 B.0,1 C.1,0 D.1,1
4. 假定a和b为int型变量,则执行下述语句组后,b的值为 a=1; b=10; do { b-=a; a++; } while (b--<0); A.9 B.-2 C.-1 D.8
5. 设int a = 3;则表达式a<1&&--a>1的运算结果和a的值分别是 A.0和2 B.0和3 C.1和2 D.1和3 6. 表达式“sizeof(int [1][2])/sizeof(int)”的值为_____。 A 1 B 2 C 3 D 4
二、专业题
1.Windows NT下的32位机运行环境下: char str[]=“Hello”; char *p = str; int n = 10; 请计算strlen(str),sizeof(str),sizeof(p),sizeof(n)
2.请编码实现以下功能的函数
功能:实现对一个8 bit数据(unsigned char类型)的指定位(例如第n位)的置0或者置1操作,并保持其他位不变。
函数原型:void bit_set(unsigned char*p_data,unsigned char position,bool flag)
函数参数说明:p_data是指定的源数据,position是指定位(取值范围1~8),flag表示是置0还是置1操作
3.请用C语言实现字符串右循环移位函数,比如?abcdefghi?循环右移2位就是?hiabcdefg?。 函数原型: void RightLoopMove(char * pStr,unsigned short steps)
参数说明: pStr:Pointer to a?\0?terminated string steps:The rotate shift numbers 更多经典的笔试题目分享:
国泰君安招聘的笔试题
盛大网游笔试真题
吉利汽车常考笔试真题
联合利华笔试题