360公司2016C 研发工程师内推笔试题
时长:90分钟 总分:100分
150浏览 0人已完成答题
题型介绍
题型 | 单选题 |
---|---|
数量 | 26 |
下面程序会输出什么
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) }
下面这段代码的输出结果为:
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; }
下面程序的输出结果是多少?
const int i = 0 int *j = (int *) &i *j = 1 printf("%d,%d", i, *j)
请问下面的程序最后会产生多少个进程?
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 }
下面代码不能正确输出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 }
下面代码段输出为
#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) } } }
下面程序输出什么
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时,函数返回多少?
下面程序的输出是
#define f(x) x*x #include<stdio.h> main (){ int a = 6, b = 2, c c = f(a) / f(b) printf("%d", c) }
在64位操作系统上,如下数据结构占用的存储空间大小为多少字节
struct A{ unsigned int a char b[2] double c short d }
以下说法正确的是
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)
以下程序的运行结果是
#include <iostream> using namespace std int main(void) { int m = 5 if (m++ > 5) cout << m << endl else cout << --m }
以下叙述正确的是
上述fool()程序的执行结果为
struct st_task { uint16_t id uint32_t value uint64_t timestamp }
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) }
Linux中,执行下面代码将打印多少个 "-" ()
int main(void){ int i for(i=0i<4i++){ fork() printf("-\n") } return 0 }
下面代码的执行结果是什么:
char ccString1[]="Is Page Fault??" char ccString2[]="No Page Fault??" strcpy(ccString1,"No") if(strcmp(ccString1,ccString2)==0) cout<<ccString2 else cout<<ccString1
以下代码共调用多少次拷贝构造函数:
Widget f(Widget u){ Widget v(u) Widget w = v return w } main(){ Widget x Widget y = f(f(x)) }
下面C程序的输出结果:
int i=0,a=1,b=2,c=3 i=++a||++b||++c printf("%d %d %d %d",i,a,b,c)