北京蓝拓扑科技笔试题
下面哪点不是嵌入式操作系统的特点
A. 内核精简 B. 专用性强 C.功能强大 D. 高实时性
答案
以下叙述中正确的是:
A. 宿主机与目标主机之间只需要建立逻辑连接即可
B. 在嵌入式系统中,调试器与被调试器程序一般位于同一台机器上
C. 在嵌入式系统开发中,通常采用的是交叉编译器
D. 宿主机与目标机之间的通讯烦恼歌是只有串口和并口两种
答案
Linux中的文件/目录权限设置命令是什么?
A. chown
B. mkdir
C. chmod
D. pwd
答案
0x17&0x11的运算结果是?
A. 0x01 B. 0x11 C. 0x17 D. 0x07
答案
设float a=2, b=4, c=3;,以下C语言表达式与代数式 (a+b)+c计算结果不一致的是
A. (a+b)*c/2
B. (1/2)*(a+b)*c
C. (a+b)*c*1/2
D. c/2*(a+b)
答案
B. (1/2)*(a+b)*c
因为a,b,c三个变量都是浮点数,所以在B答案中其结果是0,因为在计算1/2是就是0,如果改成1/2.0就正确了。
为了向二进制文件尾部增加数据,打开文件的方式应采用
A.″ab″
B.″rb+″
C.″wb″
D.″wb+″
答案
则表达式2*(N+Y(5+1))的值是
定义
`#define N 3`
#define Y(n) ((N+1)*n)
A.42
B.48
C.54
D.出错
答案
B.48
Y(5+1) 传递过去的应该是6,而不是简单的把5+1给替换掉
在#pragma pack(4)和#pragma pack(8)的情况下,结构体的大小分别是
1 2 3 4 5 6 7 8 9 10
| struct One{ double d; char c; int i; } struct Two{ char c; double d; int i; }
|
A. 16 24, 16 24
B. 16 20, 16 20
C. 16 16, 16 24
D. 16 16, 24 24
答案
请说明下面变量声明方式的区别?
const int a;
int const a;
const int *a;
int * const a;
const int * const a;
int const * const a;
答案
const int a;
:a 是一个常量 int。int const a;
:a 是一个常量 int。const int *a;
:a 是一个指向常量 int 的指针。int * const a;
:a 是一个指向 int 的常量指针。const int * const a;
:a 是一个指向常量 int 的常量指针。int const * const a;
:a 是一个指向常量 int 的常量指针。
下面这段程序的运行结果?
1 2 3 4 5 6 7 8 9
| int main() { int a[10] = { 0,1,2,3,4,5,6,7,8,9 }; memcpy(a + 3, a, 5); for (int i = 0; i<10; i++){ printf("%d ", a[i]); } return 0; }
|
答案
程序的运行结果是:0 1 2 0 1 2 3 4 5 9。
memcpy 函数把数组 a 的前 5 个元素复制到 a + 3,即数组的第 3 个元素开始的地址,最终会覆盖数组的第 3 到第 7 个元素。
不用库函数,自己实现strcpy函数
答案
1 2 3 4 5 6 7 8 9 10 11
| char *mystrcpy(char *dest, const char *src) { int i = 0; for(i = 0; src[i] != '\0'; i++) { dest[i] = src[i]; } dest[i] = src[i]; return dest; }
|