软件笔试
软件笔试
deepwater_zone
嵌入式开发、学习交流
展开
-
嵌入式程序员 应该知道的0x10个基本问题
1、 用预处理指令#define声明一个常数,用以表明 1 年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL2 、 写一个“标准”宏 MIN ,这个宏输入两个参数并返回较小的一个#define MIN(A,B) ((A) <= (B) ? (A):(B))3 、 预处理器标识#error的目的是什么...原创 2019-04-19 23:47:24 · 2166 阅读 · 1 评论 -
整数提升 问题
文章目录1、整数提升(char 转 int) + 优先级问题(易错题)1、整数提升(char 转 int) + 优先级问题(易错题)#include <iostream>using namespace std;int main(){ unsigned char a = 0xA5; unsigned char b = ~a >> 4 + 1; printf("b = %d\n", b); //b=250 return 0;}在机器中 0xA5的寄存中表达是原创 2020-10-12 15:54:11 · 194 阅读 · 0 评论 -
常见网络知识面试题
1.TCP如何建立链接2.TCP如何通信3.TCP如何关闭链接4.什么是滑动窗口5.什么是半关闭6.局域网内两台机器如何利用tcp/ip通信?7.internet上两台主机如何进行通信8.如何在internet上识别唯一一个进程答:通过“IP地址+端口号”来区 分不同的服务的9.为什么说tcp是可靠的链接,udp不可靠10.路由器和交换机的区别11.点到点,端到端...原创 2020-05-05 17:41:46 · 413 阅读 · 0 评论 -
全局变量 专题
文章目录1、局部变量和全局变量 能否重名?2、如何引用一个已经定义过的全局变量?3、全局变量可不可以定义在可被多个.c文件包含的头文件中?为什么?1、局部变量和全局变量 能否重名?能,局部会屏蔽 全局变量。在局部范围使用全局变量,需要在变量前加::,比如::global_n。2、如何引用一个已经定义过的全局变量?(1)可以用#include包含头文件的方式;(2)可以用extern关键字的方式,来引用定义过的全局变量。3、全局变量可不可以定义在可被多个.c文件包含的头文件中?为什么?不可原创 2020-07-14 11:17:37 · 163 阅读 · 0 评论 -
static,const与#define相比
文章目录1、static全局变量与普通全局变量有什么区别?2、static局部变量与普通局部变量有什么区别?3、static函数与普通函数有什么区别?参考博文:static全局变量与普通的全局变量1、static全局变量与普通全局变量有什么区别?static全局变量只初使化一次,防止在其他文件单元中被引用2、static局部变量与普通局部变量有什么区别?static局部变量只被初始化一次,下一次依据上一次结果值3、static函数与普通函数有什么区别?static函数在内存中只有一份,原创 2020-05-18 23:06:16 · 228 阅读 · 0 评论 -
操作系统 专题(死锁)
文章目录1、什么情况下会出现 死锁?1、什么情况下会出现 死锁?死锁的发生必须具备以下四个必要条件:(1)互斥条件:指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只由一个进程占用。如果此时还有其它进程请求资源,则请求者只能等待,直至占有资源的进程用毕释放。(2)请求和保持条件:指进程已经保持至少一个资源,但又提出了新的资源请求,而该资源已被其它进程占有,此时请求进程阻塞,但又对自己已获得的其它资源保持不放。(3)不剥夺条件:指进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完原创 2020-05-14 23:43:33 · 177 阅读 · 0 评论 -
C++ 专题(extern “C“)
文章目录1、在C++程序中调用被C编译器编译后的函数,为什么要加extern "C"声明?1、在C++程序中调用被C编译器编译后的函数,为什么要加extern "C"声明?C++语言支持函数重载,C语言不支持函数重载。函数被C++编译后在库中的名字与C语言的不同。假设某个函数的原型为void foo(int x, int y)。该函数被C编译器编译后在库中的名字为_foo,而C++编译器则会产生像_foo_int_int之类的名字。C++提供了C连接交换指定符号extern "C"解决名字匹配问题。原创 2020-05-14 23:23:31 · 177 阅读 · 0 评论 -
数据结构(链表,栈,堆,队列,树,图)
1、栈和堆原创 2020-05-11 00:27:41 · 445 阅读 · 0 评论 -
位操作
1、一个十进制整数转换成二进制含多少个1#include <iostream>using namespace std;int func(int x){ int count =0; while(x) { count ++; x = x & (x -1); } return count;}int main(){ cout << "count=" << func(9999) << endl; //count=8 retur原创 2020-05-11 00:11:39 · 153 阅读 · 0 评论 -
指针 专题( (int *)强制转换成(char *),大小端)
文章目录1、如何避免野指针2、什么是大小端模式?请用C语言写出判断函数。3、指针的强制类型转换1、如何避免野指针将指针初始化为NULL,用完后也将其赋值为NULL。2、什么是大小端模式?请用C语言写出判断函数。大端模式:内存低地址存放 数据的高字节;小端模式:内存低地址存放 数据的低字节。比如:将一个32位的整数0x12345678存放到一个整型变量(int)中,大端:12-34-56-78; 小端:78-56-34-12#include <stdio.h>void mai原创 2020-05-10 22:48:14 · 2372 阅读 · 1 评论 -
预处理 专题(#include,#define)
参考博客:#include ""和#include <>的区别1、头文件中的#ifndef/#define/#endif作用?#ifndef和#endif是一对条件编译语句,一般是用来防止头文件被重复包含,提高编译效率的。2、#include <>和#include ""的区别。序号类别描述1#include <>引用编译器的类库路径里面的头文件2#include ""引用程序目录的相对路径中的头文件,如果没有,引用编译器的类库原创 2020-05-10 21:41:57 · 207 阅读 · 0 评论 -
递归 专题(判断一个数 是否 2的N次方,位运算 实现 加法)
1、用一个表达式,判断一个数X是否是2的N次方(2,4,8, …),不可用循环语句(程序员面试宝典第4版P55)#include <iostream>using namespace std;int log2(int value) //递归判断一个数是2的多少次方{ if (value == 1) return 0; else return 1 + log2(value >> 1);}int main(){ int num; cout <<原创 2020-05-10 19:00:30 · 666 阅读 · 0 评论 -
排序算法专题:quickSort,choose,bubble
1、快速排序(升序)void quickSort(int sort[], int m, int n){ int k, t, i, j; if (m < n) { i = m; j = n + 1; k = sort[m]; while (i < j) { for (i = i + 1; i < n; i++) if (sort[i] >= k) break; for (j = j - 1; j > m; j--)原创 2020-05-10 18:35:08 · 135 阅读 · 0 评论 -
不使用库函数,实现 strcpy,strcat,strcmp
strcpy原型:char* strcpy(char* des,const char* source){ char* r = des; assert((des != NULL) && (source != NULL)); while((*r++ = *source++)!='\0'); return des;}自行实现:char* myStrcpy(char* dest, char* src){ char* r = dest; if (dest == NULL ||原创 2020-05-10 15:53:20 · 848 阅读 · 0 评论 -
内存中的数据对齐
题目1:#include <iostream>using namespace std;class B{ bool a1; int a2; bool a3;};class C{ int a1; bool a2; bool a3;};int main(){ cout << sizeof(B) << endl; //12 cout << sizeof(C) << endl; //8}原创 2020-05-10 12:32:32 · 131 阅读 · 0 评论 -
数字规律题
文章目录1、 n^3-11、 n^3-1-1,2,7,28,126请问28和126中间那个数是什么?为什么?应该是4^3-1=63规律是n^3-1(当n为偶数0,2,4)n^3+1(当n为奇数1,3,5)原创 2020-09-10 11:03:43 · 358 阅读 · 0 评论