题目集合3

1、写出你所知道的C关键字

auto, break,case,switch,for,while,struct,do,union,typedef,enum,unsigned,int,float,long,short,continue,double,char,volotile,register,return,if,else,static,goto,signed,const,default,extern.

2、IPV4分为A B C D E五类地址,写出B类地址与C类知道的范围与子网掩码。D类地址的作用。
A类子网掩码:
128.0.0.0到191.255.255.255
B类子网掩码:
192.0.0.0到223.255.255.0
A类和B类子网掩码255.255.255.0
D类地址用户多点广播
3、Linux下多线程编程与多进程编程的区别
进程是程序调度和资源运行的最小单位,一个进程里有多个线程,线程是进程执行的最小单位。进程里可以创建子进程,每个进程都有自己数据段,代码段,堆栈段,进程与进程进行切换,需要空转时间等等,而多线程是是共享内存的,能够快速进行线程切换。进程与进程IPC通讯方式,主要有管道通信,消息队列,消息,信号量,共享内存,socket等,线程与线程同步方式有信号量,互斥锁。
4、列出目前linux系统能支持的文件系统,列出常用的4个以上
yaffs,ysffs2,ext2,ext3,nfs,fat32
5、定义一个标准的宏MIN,输出两个数中较小的一个

#define MIN(A,B) ((A)<(B)?(A):(B))

6、什么是MMU,MMU的作用
MMU是内存管理单位(Memory Management Unit),用来实现虚拟地址到物理地址的映射,以及提供硬件机制的内存访问权限检查。由于某些程序代码量可能很大或者多任务系统需要同时执行时,超过了内存,而当前正在运行的内存比较小,没必要把所有的代码都加载到内存,把需要运行的内存放入内存,其余放入磁盘,要运行时,再从磁盘取出,而这以实现过程需要MMU。

7、 C语言中,修饰符 volatile 含义是什么?其应用场合有哪些?
一个变量被申明为volatile,说明这个变量会意想不到会改变,编译器不会去假设这个变量的值,而是从这个变量的地址去取出这个值,而备份的寄存器中去取值。
应用场合:多线程任务共享的变量,中断程序子程序中访问到非自动变量,并行设备的硬件寄存器(如:状态寄存器)

8.题目给出了一个双向链表的节点定义等,定义一个函数在节点pPrex之后插入节点pNode。

typedef struct du_node
{
ElemType item;
struct du_node *prior,*next;
}DU_NODE
typedef struct
{
DU_NODE *head;
}DuLinkList 
status ListInsert.DuL(DuLinkList &L,int i, ElemType e)
{
DU_NODE *s,*p;
int j;
s =(DU_NODE *)malloc(sizeof(DU_NODE);
if(s == NULL)
return 0
s->item = e;
for(j=0,p =L.head; j<i&&p; p=p->next,j++);//遍历到第i个节点
p->prior->next=s;
s->prior =p->prior;
p->prior = s;
s->next = p;
return 1;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值