2021春招深圳富创通科技有限公司 C/C++开发线下笔试


1.写一个“标准”宏MIN和MAX
#define min(a,b)((a)<=(b)?(a):(b))
#define max(a,b)((a)>=(b)?(a):(b))
2.给定一个整型变量a,写两段代码,第一个设置a的bit 4,第二个清a的bit 4,在以上两个操作中,要保持其他位不变。
|操作,当操作数为1时,结果为1,当操作数为0时,结果不变.
&操作,当操作数为1时,结果不变,当操作数为0时,结果为0
因此,设置a的bit 4为1的方法就是将a和00001000作|操作,这样其他位都不变,只有第3位变成1
清除a的bit 4的方法就是将a和11110111作&操作,这样第4位变成0,其他位不变

3.以下代码是否正确,需要怎么修改
typedef struct Node{
int data;
struct Node *next;
}LNode;
void main(){
LNode *p=NULL;
p=(LNode*)malloc(sizeof(LNode));
if(p=NULL){
printf("malloc failed.\n");
return;
}
printf("p address is %#x\n",p);        //这里%d
#########################
return;
}
最后return前###的地方,应该加上
free(p);
<di> </di>
其他地方有没有问题不太懂
4.下面这段代码输出是什么
void foo(void)
{
unsigned int a = 6;
int b = -20;
(a+b > 6) puts("> 6") : puts("<= 6")
}
unsigned 是无符号数。 b 是有符号数负数,无符号数和有符号数混合运算 要注意你到底想计算什么。
默认,把有符号数内容当成无符号数解释 计算。-20 就当 0xffffffec (4294967276).显然(a+b > 6) 成立。输出 > 6。

5.用变量a给出下面的定义:

a)一个整型数(An integer)
b) 一个指向整型数的指针(A pointer to an integer)
c) 一个指向指针的的指针,它指向的指针是指向一个整型数(A pointer to a pointer to an integer)
d) 一个有10个整型数的数组(An array of 10 integers)
e) 一个有10个指针的数组,该指针是指向一个整型数的(An array of 10 pointers to integers)
f) 一个指向有10个整型数数组的指针(A pointer to an array of 10 integers)
g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数(A pointer to a function that takes an integer as an argument and returns an integer)
h) 一个有10个函数指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数( An array of ten pointers to functions that take an integer argument and return an integer )

答案是:

a) int a; // An integer
b) int *a; // A pointer to an integer
c) int **a; // A pointer to a pointer to an integer
d) int a[10]; // An array of 10 integers
e) int *a[10]; // An array of 10 pointers to integers  (int * 修饰后面对数组)
f) int (*a)[10]; // A pointer to an array of 10 integers
g) int (*a)(int);// A pointer to a function a that takes an integer argument and returns an integer
h) int (*a[10])(int); // An array of 10 pointers to functions that take an integer argument and return an integer

int *a[10];   //指向int类型的指针数组a[10]
int (*a)[10]; //指向有10个int类型数组的指针a
int (*a)(int);//函数指针,指向有一个参数并且返回类型 均为int的函数
int (*a[10])(int); //函数指针的数组,指向有一个参数并且返回类型均为int的函数的数组

6.简述BroatcastReceiver的注册方式和接收优先级

BrocastReceiver详解


第6题和第7题属于安卓开发的知识点,没有学过所以不懂

7.server启动方式生命周期

Service生命周期和启动方式

8.写出冒泡排序
很简单,不会自行百度

9.设计函数int atoi(char *s)(字符串转整形),void itoa(int n,char s[])(整型转字符串)
10.大学足球比赛,有配图,逻辑题
后面是逻辑题测试
#笔经##C++工程师#
全部评论
if(p=NULL){ printf("malloc failed.\n"); return; if语句那里,应该是p==NULL吧
点赞 回复 分享
发布于 2021-05-24 11:35

相关推荐

不愿透露姓名的神秘牛友
11-21 18:23
赛乐医疗 电力电子工程师 20*12 硕士211
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-12 14:54
华勤 结构工程师 13x15 本科其他
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-09 15:29
已编辑
锐湃动力科技有限公司 产品技术,未定 8*18,加班费另算,两人间包吃住 硕士其他
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-07 18:05
已编辑
欧菲光 光学研发 13K×12薪 硕士211
点赞 评论 收藏
分享
评论
2
7
分享
牛客网
牛客企业服务