C语言面试题目4
回“ab”. 因为“ab”连续重复出现且最长。
用C/C++语言写一函数完成该算法,给出复杂度
6.对序列1、1、2、3、5、8、13。。。。 是Fab..数列
2、3、5、13...是Fab..质数数列,因为他们与自己前面的Fab...数列都互质
给出k,返回第k小的Fab..质数
7.101个硬币100真、1假,真假区别在于重量。请用无砝码天平称两次给出真币重还是假币重的结论。
8.完成字符串拷贝可以使用 sprintf、strcpy 及 memcpy 函数,请问这些函数有什么区别,你喜欢使用哪个,为什么?
9.变量的声明和定义有什么区别?
10.请写出下面代码在 32 位平台上的运行结果,并说明 sizeof 的性质:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char a[30];
char *b = (char *)malloc(20 * sizeof(char));
printf("%d\n", sizeof(a));
printf("%d\n", sizeof(b));
printf("%d\n", sizeof(a[3]));
printf("%d\n", sizeof(b+3));
printf("%d\n", sizeof(*(b+4)));
return 0 ;
}
NetFetch [2006-06-20 11:18 AM]
4.
#i nclude "stdafx.h"
#define SQR(X) X*X
int main(int argc, char* argv[])
{
int a = 10;
int k = 2;
int m = 1;
a /= SQR(k+m)/SQR(k+m);
printf("%d\n",a);
return 0;
}
这道题目的结果是什么啊?
define 只是定义而已,在编择时只是简单代换X*X而已,并不经过算术法则的
a /= (k+m)*(k+m)/(k+m)*(k+m);
=>a /= (k+m)*1*(k+m);
=>a = a/9;
=>a = 1;
NetFetch [2006-06-20 11:17 AM]
3.请简单描述Windows内存管理的方法。
内存管理是操作系统中的重要部分,两三句话恐怕谁也说不清楚吧~~
我先说个大概,希望能够抛砖引玉吧
当程序运行时需要从内存中读出这段程序的代码。代码的位置必须在物理内存中才能被运行,由于现在的操作系统中有非常多的程序运行着,内存中不能够完全放下,所以引出了虚拟内存的概念。把哪些不常用的程序片断就放入虚拟内存,当需要用到它的时候在load入主存(物理内存)中。这个就是内存管理所要做的事。内存管理还有另外一件事需要做:计算程序片段在主存中的物理位置,以便CPU调度。
内存管理有块式管理,页式管理,段式和段页式管理。现在常用段页式管理
块式管理:把主存分为一大块、一大块的,当所需的程序片断不在主存时就分配一块主存空间,把程 序片断load入主存,就算所需的程序片度只有几个字节也只能把这一块分配给它。这样会造成很大的浪费,平均浪费了50%的内存空间,但时易于管理。
页式管理:把主存分为一页一页的,每一页的空间要比一块一块的空间小很多,显然这种方法的空间利用率要比块式管理高很多。
段式管理:把主存分为一段一段的,每一段的空间又要比一页一页的空间小很
你可能喜欢
- c语言题目
- 程序算法
- 程序员面试题
- 数据结构算法面试题
- C语言面试题
- c语言经典面试题
- 面试经典语言
- 单片机面试题
- Pascal程序设计经典算法12页
- C程序设计算法归纳3页
- C程序常用算法归纳26页
- C语言程序1.2算法-程序的灵魂27页
- 第二章 程序的灵魂-算法12页
- C语言第三章程序的简单算法制定24页
- java程序员面试题基础部分3页
- java程序员面试题(基础部分)4页
- 程序员面试逻辑题解析218页
- java程序员面试题及解答9页
- C程序员面试题7页
- 程序员面试题精选59页
- 算法大全-面试题-链表-栈-二叉树-数据结构166页
- 微软等公司数据结构+算法面试100题29页
- 精选微软数据结构+算法面试100题前20题43页
- 微软等数据结构+算法面试100题全部答案集锦46页
- 数据结构算法设计笔试面试题5105页
- 数据结构算法设计笔试面试题112页
- 嵌入式C语言面试题荟萃14页
- C语言面试题大汇总之华为面试题及答案2页
- 华为C语言面试题16页
- C语言面试题7页
- 《 C语言面试题大汇总》题集53页
- 两道C语言的面试题2页


