360公司2016C 研发工程师内推笔试题

时长:90分钟 总分:100分

150浏览 0人已完成答题

题型介绍
题型 单选题
数量 26
1.
x是一个行列数均为1000二维数组,下面代码效率执行最高的是()
问题详情




2.
不能把字符串"HELLO!"赋给数组b的语句是()
问题详情

不能把字符串"HELLO!"赋给数组b的语句是()




3.
假设寄存器为8位,用补码形式存储机器数,包括一位符号位,那么十进制数-25在寄存器表示为:
问题详情




4.
下面程序会输出什么
问题详情

下面程序会输出什么:
static int a=1
void fun1(void){    a=2  }
void fun2(void){    int a=3  }
void fun3(void){   static int a=4  }
int main(int argc,char** args){ 
     printf(“%d”,a) 
     fun1( ) 
     printf(“%d”,a) 
     fun2( ) 
     printf(“%d”,a)
     fun3( )
      printf(“%d”,a) 
}




5.
下面这段代码的输出结果为:
问题详情

下面这段代码的输出结果为:
void change(int*a, int&b, int c){ 
    c=*a 
    b=30 
    *a=20
}
int main ( ){ 
     int a=10, b=20, c=30 
     change(&a,b,c) 
     printf(“%d,%d,%d,”,a,b,c); 
     return 0;
}




6.
下面程序的输出结果是多少?
问题详情

在c++中,
const int i = 0 
int *j = (int *) &i 
*j = 1 
printf("%d,%d", i, *j)
输出是多少?




7.
请问下面的程序最后会产生多少个进程?
问题详情

请问下面的程序最后会产生多少个进程:
int main( ){ 
     int i 
     for(i = 0 i < 5i++){ 
        int pid = fork() 
        if(pid == 0){ 
            //do something 
        } else { 
        //do something 
        } 
    }
    // do somthing,sleep
    return 0
}




8.
下面代码不能正确输出hello的选项为
问题详情

下面代码不能正确输出hello的选项为()
#include<stdio.h>
struct str_t{
   long long len
   char data[32]
}
struct data1_t{
   long long len
   int data[2]
}
struct data2_t{
   long long len
   char *data[1]
}
struct data3_t{
   long long len
   void *data[]
}
int main(void)
{
   struct str_t str
   memset((void*)&str,0,sizeof(struct str_t))
   str.len=sizeof(struct str_t)-sizeof(int)
   snprintf(str.data,str.len,"hello")//VS下为_snprintf
   ____________________________________
   ____________________________________
   return 0
}




9.
下面代码段输出为
问题详情

下面代码段输出为()
#include <iostream>
int i
int main(){
  for(i = 0i < 3i++){
    switch(i){
    case 0: printf("%d", i)
    case 2: printf("%d", i)
    default: printf("%d", i)
    }
  }
}




10.
下面程序输出什么
问题详情

int Function(unsigned int n) {	
		n = (n & 0x55555555) + ((n >> 1) & 0x55555555)
		n = (n & 0x33333333) + ((n >> 2) & 0x33333333)
		n = (n & 0x0f0f0f0f) + ((n >> 4) & 0x0f0f0f0f)
		n = (n & 0x00ff00ff) + ((n >> 8) & 0x00ff00ff)
		n = (n & 0x0000ffff) + ((n >> 16) & 0x0000ffff)
		return n
}
输入参数为197时,函数返回多少?




11.
下面程序的输出是
问题详情

下面程序的输出是:
#define f(x) x*x
#include<stdio.h>
main (){
  int a = 6, b = 2, c
  c = f(a) / f(b)
  printf("%d", c) }




12.
在64位操作系统上,如下数据结构占用的存储空间大小为多少字节
问题详情

在64位操作系统上,如下数据结构占用的存储空间大小为多少字节
struct A{
   unsigned int a
   char b[2]
   double c
   short d
}




13.
在C++语言中,下列说法正确的是:
问题详情




14.
以下说法正确的是
问题详情

void swap_int(int *a, int *b){
  *a = *a + *b
  *b = *a - *b
  *a = *a - *b
}

int m = 2112340000, n = 2100001234
swap_int(&m, &n)
以下说法正确的是:




15.
以下程序的运行结果是
问题详情

以下程序的运行结果是:
#include <iostream>
using namespace std
int main(void) {
    int m = 5
    if (m++ > 5)
        cout << m << endl
    else
        cout << --m
}




16.
以下叙述正确的是
问题详情

对两个字符a和b进行初始化:char a[]="ABCDEF"char b[]={'A','B','C','D','E','F'}则以下叙述正确的是:




17.
上述fool()程序的执行结果为
问题详情

在一个64位的操作系统中定义如下结构体:
struct st_task
{
    uint16_t id
    uint32_t value
    uint64_t timestamp
}
同时定义fool函数如下:
void fool()
{
    st_task task = {}
    uint64_t a = 0x00010001
    memcpy(&task, &a, sizeof(uint64_t))
    printf("%11u,%11u,%11u", task.id, task.value, task.timestamp)
}
上述fool()程序的执行结果为()




18.
定义char dog[]="wang\0miao"那么sizeof(dog)与strlen(dog)分别是多少:
问题详情




19.
C++中以下关于函数调用的说法哪个是正确的?
问题详情




20.
以下系统中,int类型占几个字节,指针占几个字节,操作系统可以使用的最大内存空间是多大:
问题详情




21.
C++中关于堆和栈的说法,哪个是错误的:
问题详情




22.
Linux中,执行下面代码将打印多少个 "-" ()
问题详情

Linux中,执行下面代码将打印多少个 "-" ()
int main(void){
	int i
	for(i=0i<4i++){
		fork()
		printf("-\n")
	}
	return 0
}




23.
代码生成阶段的主要任务是:
问题详情




24.
下面代码的执行结果是什么:
问题详情

下面代码的执行结果是什么:
char ccString1[]="Is Page Fault??"
char ccString2[]="No Page Fault??"
strcpy(ccString1,"No")
if(strcmp(ccString1,ccString2)==0)
   cout<<ccString2
else
   cout<<ccString1





25.
以下代码共调用多少次拷贝构造函数:
问题详情

以下代码共调用多少次拷贝构造函数:
Widget f(Widget u){  
   Widget v(u)
   Widget w = v
   return w
}
main(){
    Widget x
    Widget y = f(f(x))
}




26.
下面C程序的输出结果:
问题详情

下面C程序的输出结果:
int i=0,a=1,b=2,c=3
i=++a||++b||++c
printf("%d %d %d %d",i,a,b,c)