中兴微电子研究院IC工程师面试笔试题一 单选题(每题2分,共30分)
1、void main(void)
{
int i, sum;
for (i=1; i<6; i++)
{
sum += i;
}
printf("%d\n", sum);
}
以上程序执行后sum的值是( )
A.15 B. 16 C. 不确定 D. 0
2、若有以下程序段,
int c1=4,c2=2,c3;
c3=(1/c2)*c1;
则执行后,c3中的值是( )
A)0 B)0.5 C)1 D)2
3、有如下程序
main()
{
int x=1,a=0,b=0;
switch(x)
{
case 0: b++;
case 1: a++;
case 2: a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
该程序的输出结果是( )
A)a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2
4、下列程序执行后的输出结果是( )
main()
{
int a[3][3], *p,i;
p=&a[0][0];
for(i=0; i<9; i++)
{
p[i]=i+1;
}
printf("%d \n",a[1][2]);
}
A)3 B) 6 C) 9 D) 随机数
5、以下不能对二维数组a进行正确初始化的语句是( )
A)int a[2][3]={0};
B)int a[][3]={{1,2},{0}};
C)int a[2][3]={{1,2},{3,4},{5,6}};
D)int a[][3]={1,2,3,4,5,6};
6、假设char *ptr指向通过malloc申请返回的一块memory,开始地址为0x100,长度为0x200,那么在free(ptr)之后,ptr的值为( )
(A) NULL (B) 不确定 (C) 0x100 (D) 0x200
7、在C语言中,int、char和short三种类型数据在内存中所占用的字节数( )
A)由用用户自己定义 B) 均为2个字节
C) 是任意的 D) 由所用机器的机器字长决定
8、C语言规定,函数返回值的类型是由( )
A)return语句中的表达式类型所决定
B)调用该函数时的主调函数类型所决定
C)调用该函数时系统临时决定
D)在定义该函数时所指定的函数类型所决定
9、下面正确的说法是:在C语言中 ( )
A)实参和与其对应的形参各占用独立的存储单元
B)实参和与其对应的形参共占用一个存储单元
C)只有当实参和与其对应的形参同名时才共占用存储单元
D)形参是虚拟的,不占用存储单元
10、以下关于软件测试的叙述,正确的是( )
A、软件测试的目的是为了证明软件的正确性
B、白盒测试也称为功能测试
C、黑盒测试也称为结构测试
D、软件测试要注意检验软件是否有多余的功能
11、下列特性中,通常不属于嵌入式系统特征的是( )
A.通常支持抢占式优先级调度
B.系统具备可裁减性
C.一般实时性要求较高
D.一般要有强大易用的用户界面
12、下列存储数据的部件,存取速度最快的是( )
(A) Flash存储器 (B) SDRAM (C) CACHE (D) 异步SRAM
13、如果一个嵌入式系统的CPU为32位处理器,那么下面哪些论述是正确的( )
(A) 处理的数据长度只能是32位
(B) 访问芯片外部的存储芯片,数据总线宽度一定是32位
(C) CPU字长为32位
(D) 访问芯片外部的存储芯片,地址总线宽度一定是32位
14、计算机系统中判别是否有中断事件发生应是在( )
A.进程切换时 B. 执行完一条指令后 C. 执行P操作后 D. 由用户态转入核心态时
15、关于实时操作系统(RTOS)的任务调度器,以下描述正确的是( )
A)任务之间的公平性是最重要的调度目标
B)大多数RTOS都支持可抢占式的调度算法
C)RTOS都采用了基于时间片轮转的调度算法
D)RTOS的调度算法只是一种静态优先级调度算法
二 多选题(每题3分,共15分)
16、以下论述正确的是( )
A)static全局变量只能在被定义的文件中使用,普通全局变量在所有文件中都可以使用。
B)static局部变量在全局bss段或数据段中,可以保持其上次的赋值。普通局部变量在堆栈中,不能保持其上次赋值。
C)static函数只在当前源文件中可使用,普通函数在其他文件中都可以使用。
17、C语言的跳转语句中,对于break和continue说法正确的是( )
A)break语句不只应用于循环体中
B)continue语句只应用于循环体中 C)break是无条件跳转语句,continue不是
D)break和continue的跳转范围不够明确,容易产生问题
18、链表具备的特点是( )
(A) 可随机访问任何一个元素
(B) 插入、删除操作不需要移动元素
(C) 无需事先估计存储空间大小
(D) 所需存储空间与线性表长度成正比
19、下面关于DMA方式的描述,正确的是( )
A.DMA方式使外设接口可直接与内存进行高速的数据传输
B.DMA方式在外设与内存进行数据传输时不需要CPU干预
C.采用DMA方式进行数据传输时,首先需要进行现场保护
D.DMA方式执行I/O交换要有专门的硬件电路
20、下列关于程序中volatile关键字的说法正确的是( )
A)用来定义一个可能不需要软件的干涉就可能改变的变量,例如一些I/O设备的寄存器的值可能在响应外部事件时被改变。
B)编译器对访问volatile变量的代码不进行优化,从而可以提供对特殊地址的稳定访问,确认在数据使用时实际的值是要重新读入的。
C)多任务环境下各任务间共享的标志应该加volatile。
D)中断服务程序中修改的供其它程序检测的变量需要加volatile。
三 判断题(每题2分,共10分)
21、典型的操作系统是由进程管理、存储管理、文件管理和设备管理组成的。( )
22、虚拟存储器技术提高了计算机的速度。( )
23、双端口存储器所以能高速进行读写,是因为采用高速芯片。( )
24、局部变量不能和全局变量重名,全局变量会屏蔽局部变量。( )
25、在软件开发过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。( )
四 问答题(每题5分,共25分)
26、用变量a给出下面的定义
a)一个指向整型数的指针
b)一个指向指针的指针,它指向的指针指向一个整型数
c) 一个有10个指针的数组,该指针是指向一个整型数的。
d) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数。
27. 请解释Stack(堆栈)、Heap(堆)的含义?二者有何差别?
28. 全局变量和局部变量在内存中是否有区别?如果有,是什么区别?
29、操作系统中,任务之间的通信机制主要有哪些?
30、简述中断装置的主要职能。
五 程序题(10分)
31、已知strcpy函数原型
char* strcpy(char *strDest, const char *strSrc);
请编写strcpy函数,不调用字符串库函数。
五 英文翻译(10分)
Frame structure type 2 is applicable to TDD. Each radio frame of length consists of two half-frames of length = each. Each half-frame consists of five subframes of length .Each subframe is defined as two slots, and of length in each subframe.
Uplink-downlink configurations with both 5 ms and 10 ms downlink-to-uplink switch-point periodicity are supported.
In case of 5 ms downlink-to-uplink switch-point periodicity, the special subframe exists in?both half-frames.
In case of 10 ms downlink-to-uplink switch-point periodicity, the special subframe exists in the first half-frame only.