最新或2022(历届)微软笔试题和面试题答案目(汇总篇)

时间:11-16编辑:佚名 招聘笔试题

【23xiu.com-爱上秀-教育信息门户网】

  如下为大家汇总的笔试题目都是最新或2022(历届)年微软最新的内容,希望此文的分享对想加入该公司的朋友有帮助!
  1.写出判断ABCD四个表达式的是否正确, 若正确, 写出经过表达式中 a的值(3分)     int a = 4;     (A)a += (a++); (B) a += (++a) ;(C) (a++) += a;(D) (++a) += (a++);     a = ?     答:C错误,左侧不是一个有效变量,不能赋值,可改为(++a) += a;     改后答案依次为9,10,10,11     2.某32位系统下, C++程序,请计算sizeof 的值(5分).     char str[] = “www.ibegroup.com”     char *p = str ;     int n = 10;     请计算     sizeof (str ) = ?(1)     sizeof ( p ) = ?(2)     sizeof ( n ) = ?(3)     void Foo ( char str[100]){     sizeof( str ) = ?(4)     }     void *p = malloc( 100 );     请计算     sizeof ( p ) = ?(5)     答:(1)17 (2)4 (3) 4 (4)4 (5)4     3. 回答下面的问题. (4分)     (1).头文件中的 ifndef/define/endif 干什么用?预处理     答:防止头文件被重复引用     (2). #include 和 #include “filename.h” 有什么区别?     答:前者用来包含开发环境提供的库头文件,后者用来包含自己编写的头文件。     (3).在C++ 程序中调用被 C 编译器编译后的函数,为什么要加 extern “C”声明?     答:函数和变量被C++编译后在符号库中的名字与C语言的不同,被extern "C"修饰的变量和函数是按照C语言方式编译和连接的。由于编译后的名字不同,C++程序不能直接调用C 函数。C++提供了一个C 连接交换指定符号extern“C”来解决这个问题。     (4). switch()中不允许的数据类型是?     答:实型     4. 回答下面的问题(6分)     (1).Void GetMemory(char **p, int num){     *p = (char *)malloc(num);     }     void Test(void){     char *str = NULL;     GetMemory(&str, 100);     strcpy(str, "hello");     printf(str);     }     请问运行Test 函数会有什么样的结果?     答:输出“hello”     (2). void Test(void){     char *str = (char *) malloc(100);     strcpy(str, “hello”);     free(str);     if(str != NULL){     strcpy(str, “world”);     printf(str);     }     }     请问运行Test 函数会有什么样的结果?     答:输出“world”     (3). char *GetMemory(void){     char p[] = "hello world";     return p;     }     void Test(void){     char *str = NULL;     str = GetMemory();     printf(str);     }     请问运行Test 函数会有什么样的结果?     答:无效的指针,输出不确定     5. 编写strcat函数(6分)     已知strcat函数的原型是char *strcat (char *strDest, const char *strSrc);     其中strDest 是目的字符串,strSrc 是源字符串。     (1)不调用C++/C 的字符串库函数,请编写函数 strcat     答:     VC源码:     char * __cdecl strcat (char * dst, const char * src)     {     char * cp = dst;     while( *cp )     cp++; /* find end of dst */     while( *cp++ = *src++ ) ; /* Copy src to end of dst */     return( dst ); /* return dst */     }     (2)strcat能把strSrc 的内容连接到strDest,为什么还要char * 类型的返回值?     答:方便赋值给其他变量

123
【猜你喜欢】 【为你推荐】