一、选择题 1. 下列区域存取速度最快的是(c) A. Flash B. DRAM C. CACHE D. 磁盘 2. 哪些区域不能用来存储变量空间() A. SDRAM B. CACHE(一、二级缓存) C. DDR2 D. L2SRAM DATA 3. CPU 中数据总线的宽度会影响(d) A. 内存容量大小 B. 系统运算速度 C. 指令系统指令数量 D. 寄存器宽度 4. 不能提高代码执行效率的是(cd) A. 多循环减少内循环的次数 B. 将频繁调用的小函数改为内联函数 C. 使用递归函数 D. 提高并行性 E. 减少存储器引用 5. 中断响应时间是指(d) A. 从中断处理开始,到中断处理结束的时间 B. 从中断请求开始,到中断处理结束的时间 C. 从中断请求开始,到中断处理开始的时间 D. 从发出中断请求到进入中断处理所用的时间 二、填空题 1. 填写下面程序输出 #include main() { int a[5] = {1, 2, 3, 4, 5}; int * ptr = (int*)(&a + 1);注意 printf("%d %d", *(a + 1), *(ptr - 1)); } 输出是____2 5_________; 2. 填写下面程序输出 #include main() { char p; char buf[10] = {1, 2, 3, 4, 5, 6, 9, 8}; p = (buf+1)[5]; printf("%d", p); } 输出是_____9________; 3. 以下变量和函数存储在 ELF 可重定位目标的哪些段总,请在注释中写上段名。 int valid; // __________ int last = -1; // __________ int tophat(int size, double brim_width); // __________ printf("How's your exam going?\n"); // __________ (此题记忆不完整!) 三、程序设计题 1. 写分配空间的程序 void * getmm(int size, int align),分配 size 大小的空间,并根据 align 指定的字节数方式对齐。 2. 完成统计灰度图像直方图的函数 void getHist(unsigned char * img, hist[], int width, int height, int strip);其中,img 为图像首地址,strip 为每行首地址距离下一行首地址的偏移量。图像元素值为0-255,hist[]返回图像直方图。 int i,j; //直方图数组清0 for(i=0;i<256;i++) m_histArray[i]=0; //每行像素所占字节数 int lineByte=(m_imgWidth*m_nBitCount/8+3)/4*4; //中间变量 int temp; //统计灰度直方图 for(i=0;i