联发科嵌入式笔试题
一、不定项选择题
1. 使用C语言编程时,以下对typedef和#define的使用或理解,正确的有()。
- typedef int INTERGER;unsigned INTERGER n;
- typedef在编译阶段生效,有类型检查,#define在预处理阶段生效,预处理器仅做文本替换,不进行任何检查
- -
#define PTR_INT int*
PTR_INT p1,p2;
- #define没有作用域的限制,在其定义点之后的整个文件中有效,除非它被#undef指令显式的取消定义,而typedef有自己的作用域。
2. 使用C语言编程时,以下叙述错误的是()。
- continue语句的作用是结束整个循环的执行
- 只能在循环体内和switch语句体内使用break语句
- 在循环体内使用break语句或continue语句的作用相同
- 从多层循环嵌套中退出时,只能使用goto语句
3. 以下对二维数组的定义中正确的是
- int a[4][]={1,2,3,4,5,6};
- int a[][3];
- int a[][3]={1,2,3,4,5,6};
- int a[][]={{1,2,3},{4,5,6}};
4. 某研究所的员工构成情况是:所有工程师都是男性,并非所有工程师都是研究生,并非所有研究生都是男性,由此可以推出:
- 有的男性不是工程师
- 有的男研究生是工程师
- 有的研究生是男性
- 有的男性不是研究生
5. 桌子上有20个硬币,10个公面向上,10个字面向上,你在桌前被蒙上眼及带上手套,你无法分辨哪个币是公面向上或字面向上,你只能移动或反转硬币。你的任务是要将20个硬币分两组,每组10个,而每组硬币里的公面向上的数目要一样。以下哪些可能是正确答案?
- 可以完成任务
- 不能完成任务
- 可以,但需要特定的分组方法
- 不行,需要额外感觉硬币的重量
6. 下列程序可以正确执行的是:
- -
#include<stdio.h>
char *returnStr()
{
char p[]="hello world!";
return p;
}
int main()
{
char *str = NULL;
str = returnStr();
printf("%s\n",str);
return 0;
}
- -
#include<stdio.h>
char *returnStr()
{
char *p ="hello world!";
return p;
}
int main()
{
char *str = NULL;
str = returnStr();
printf("%s\n",str);
return 0;
}
- -
#include<stdio.h>
char *returnStr()
{
char p[13]="hello world!";
return p;
}
int main()
{
char *str = NULL;
str = returnStr();
printf("%s\n",str);
return 0;
}
- -
#include<stdio.h>
char *returnStr()
{
char *p =(char*)malloc(13*sizeof(char));
*p = "hello world!";
return p;
}
int main()
{
char *str = NULL;
str = returnStr();
printf("%s\n",str);
free(str);
return 0;
}
7. 进程间通信(IPC)是指在不同进程之间传播或交换信息,下列选项中可以实现进程间通信的方法有()
- 匿名管道
- 有名管道
- 条件变量
- 共享内存
- 互斥量
8. 假设有以下哈希表,使用线性探查处理冲突,其使用的哈希函数是恒等函数h(x)=x.
9 | 18 | 12 | 3 | 14 | 4 | 21 | ||
若此哈希表从未调整过大小,并且没有元素被删除,则下列选项中,各元素添加到哈希表中顺序正确的有() |
- 9,14,4,18,12,3,21
- 12,3,14,18,4,9,21
- 12,14,3,9,4,18,21
- 9,12,14,3,4,21,18
- 12,9,18,3,14,21,4
9. 以下循环执行次数是1次的是()
- -
for(int i = 10,j=1;i=j=0;i++,j--)
- -
do
{
}while(0)
- -
int i = 1;
while(i--)
{
}
- -
unsigned char i;
for(i=255;i<256;i++)
10. 关于sizeof(float),以下说法不正确的是()
- 运行阶段获得结果
- 是一种函数调用
- 是一个浮点表达式
- 是一个整数表达式
二、填空题
1. 假设在一个64位体系结构的计算机系统中,操作系统需要将一个重要的系统状态码,表示为十六进制Ox3F2A,存储到一个专用的状态寄存器SR中。该系统使用一种特殊的指令SETSR#data来完成这个操作,其中#data是一个立即数。考虑到系统使用小端字节序来存储数据,当SETSR 指令执行后,状态寄存器SR的最低有效字节(Least Significant Byte, LSB)的二进制表示将是__
2. 某计算机的主频为4MHz,各类指令的平均执行时间和使用频度如下表所示,则该机的MIPS为(),CPI为()
3. C++类中private,protect,public三种访问限制类型,区别为:private是私有类型,只有本类中的成员函数访问:
protect是______ public是_______
4. 请使用迭代器遍历vector ivec中所有元素:_________
5. 请填写以下C语言程序片段中的空白部分,使得程序能够按照指定格式输出数据,假设变量a是整型,b是浮点型,c是字符型。
#include<stdio.h>
int main()
{
int a = 10;
float b = 3.14159;
char c = 'A';
printf("05x\n",a);
printf("%.2f\n",b);
printf("%c = %d\n",c,c);
return 0;
}
#联发科嵌入式面试题#笔试题合集2024 文章被收录于专栏
收录2024年各个嵌入式企业笔试题,后续会更新答案