联发科嵌入式笔试题

一、不定项选择题

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.

0 1 2 3 4 5 6 7 8
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为()

alt

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年各个嵌入式企业笔试题,后续会更新答案

全部评论

相关推荐

10 36 评论
分享
牛客网
牛客企业服务