摘要: SQL分类:DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) 重点掌握DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) 重点掌握DCL—数据控制语言(GRANT,DENY,REVOKE) 了解(一阅而过)注:GRANT命令授予用户或角色的权限集合。DENY命令显式地限制一个权限集合。REVOKE命令用于撤消一个对象上的权限集合。1、说明:创建数据库CREATE DATABASE dbname2、说明:删除数据库Drop Database dbname3、说明:创建新表create table tabname(col1 type1 [not 阅读全文
posted @ 2013-04-11 23:10 ~风~ 阅读(357) 评论(0) 推荐(0) 编辑
摘要: 1、计算表达式x6+4x4+2x3+x+1最少需要做()次乘法A、3 B、4 C、5 D、6 2、给定3个int类型的正整数x,y,z,对如下4组表达式判断正确的选项()int a1=x+y-z; int b1=x*y/z;int a2=x-z+y; int b2=x/z*y;int c1=x<<y>>z; int d1=x&y|z;int c2=x>>z<<y; int d2=x|z&y;A、a1一定等于a2B、b1一定定于b2C、c1一定等于c2D、d1一定等于d2 3、程序的完整编译过程分为是:预处理,编译,汇编等,如下关于 阅读全文
posted @ 2013-04-11 22:53 ~风~ 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 库函数是语言本身的一部分,而系统函数是内核提供给应用程序的接口,属于系统的一部分。函数库调用是语言或应用程序的一部分,而系统调用是操作系统的一部分。函数库调用系统调用在所有的ANSI C编译器版本中,C库函数是相同的各个操作系统的系统调用是不同的它调用函数库中的一段程序(或函数)它调用系统内核的服务与用户程序相联系是操作系统的一个入口点在用户地址空间执行在内核地址空间执行它的运行时间属于“用户时间”它的运行时间属于“系统”时间属于过程调用,调用开销较小需要在用户空间和内核上下文环境间切换,开销较大在C函数库libc中有大约300个函数在UNIX中大约有90个系统调用典型的C函数库调用:sys. 阅读全文
posted @ 2013-04-11 21:23 ~风~ 阅读(360) 评论(0) 推荐(0) 编辑
摘要: UNIX环境下的C 对二进制流文件的读写有两套班子:1) fopen,fread,fwrite ; 2) open, read, write这里简单的介绍一下他们的区别。open和fopen区别1.系列是标准的C库函数;open系列是 POSIX 定义的,是UNIX系统里的system call。也就是说,fopen系列更具有可移植性;而open系列只能用在 POSIX 的操作系统上。2.使用fopen 系列函数时要定义一个指代文件的对象,被称为“文件句柄”(file handler),是一个结构体;而open系列使用的是一个被称为“文件描述符” (file descriptor)的int型. 阅读全文
posted @ 2013-04-11 20:49 ~风~ 阅读(280) 评论(0) 推荐(0) 编辑
摘要: memcpy和memmove()都是C语言中的库函数,在头文件string.h中,作用是拷贝一定长度的内存的内容,原型分别如下:void *memcpy(void *dst, const void *src, size_t count);void *memmove(void *dst, const void *src, size_t count); 他们的作用是一样的,唯一的区别是,当内存发生局部重叠的时候,memmove保证拷贝的结果是正确的,memcpy不保证拷贝的结果的正确。第一种情况下,拷贝重叠的区域不会出现问题,内容均可以正确的被拷贝。第二种情况下,问题出现在右边的两个字节,这两个字 阅读全文
posted @ 2013-04-11 19:43 ~风~ 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 题目:给出一个单链表,不知道节点N的值,怎样只遍历一次就可以求出中间节点,写出算法。解析:设立两个指针,比如*p和*q。p每次移动两个位置,即p=p->next->next,q每次移动一个位置,即q=q->next。当p到达最后一个节点时候,q就是中间节点了。类似的可以用一次遍历方法得到三分之一、四分之一、前几个节点。代码贴出:#include <iostream> using namespace std; typedef struct Student{ int data; struct Student *next; }Node; /* * 遍历一遍就得到单链表的 阅读全文
posted @ 2013-04-11 19:32 ~风~ 阅读(975) 评论(0) 推荐(0) 编辑
摘要: Linux下对文件操作有两种方式:系统调用(system call)和库函数调用(Library functions)。可以参考《Linux程序设计》(英文原版为《Beginning Linux Programming》,作者是Neil Matthew和Richard Stones)第三章: Working with files。系统调用实际上就是指最底层的一个调用,在linux程序设计里面就是底层调用的意思。面向的是硬件。而库函数调用则面向的是应用开发的,相当于应用程序的api,采用这样的方式有很多种原因,第一:双缓冲技术的实现。第二,可移植性。第三,底层调用本身的一些性能方面的缺陷。第四. 阅读全文
posted @ 2013-04-11 17:46 ~风~ 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 文件是linux中的一个重要概念。在Linux中,一切(几乎一切)都是文件。简单的说,C中基本的的printf()函数,scanf()函数,其实都属于文件操作。对于文件操作,虽然都是通过函数调用的方式实现,却还是能分为两类:系统调用和库函数。这篇文章将先介绍linux中文件的概念,系统调用和库函数的概念 ,然后具体的讨论两种方式下的文件操作。博文的主要内容如下:Linux 中的文件文件访问-库函数文件访问-系统调用库函数标准 I/O 库/proc文件系统1 Linux中的文件1.1概念按照普通的定义,文件不过是一堆数据,在往下说,就是存储器中的0101。。。而我们这里讨论的文件有了更广的定义. 阅读全文
posted @ 2013-04-11 17:40 ~风~ 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 序linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的。而对Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间通信方面的侧重点有所不同。前者对Unix早期的进程间通信手段进行了系统的改进和扩充,形成了“system V IPC”,通信进程局限在单个计算机内;后者则跳过了该限制,形成了基于套接口(socket)的进程间通信机制。Linux则把两者继承了下来,如图示:其中,最初Unix IPC包括:管道、FIFO、信号;System V IPC包括:System V消息队列、System V信号灯、Syst 阅读全文
posted @ 2013-04-11 15:06 ~风~ 阅读(631) 评论(0) 推荐(0) 编辑
摘要: unistd.h 是 C 和 C++ 程序设计语言中提供对 POSIX 操作系统 API 的访问功能的头文件的名称。该头文件由 POSIX.1 标准(单一UNIX规范的基础)提出,故所有遵循该标准的操作系统和编译器均应提供该头文件(如 Unix 的所有官方版本,包括 Mac OS X、Linux 等)。对于类 Unix 系统,unistd.h 中所定义的接口通常都是大量针对系统调用的封装(英语:wrapper functions),如 fork、pipe 以及各种 I/O 原语(read、write、close 等等)。类似于 Cygwin 和 MinGW 的 Unix 兼容层也提供相应版本. 阅读全文
posted @ 2013-04-11 10:59 ~风~ 阅读(2753) 评论(0) 推荐(0) 编辑
摘要: 1. Linux系统调用原理2. 系统调用的实现3. Linux系统调用分类及列表4.系统调用、用户编程接口(API)、系统命令和内核函数的关系5. Linux系统调用实例6. Linux自定义系统调用1.系统调用原理系统调用,顾名思义,说的是操作系统提供给用户程序调用的一组“特殊”接口。用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务,比如用户可以通过文件系统相关的调用请求系统打开文件、关闭文件或读写文件,可以通过时钟相关的系统调用获得系统时间或设置定时器等。从逻辑上来说,系统调用可被看成是一个内核与用户空间程序交互的接口——它好比一个中间人,把用户进程的请求传达给内核,待内核把 阅读全文
posted @ 2013-04-11 10:44 ~风~ 阅读(1416) 评论(0) 推荐(1) 编辑
摘要: 当我们看恐怖片时,经常会有这样的场景:当一个人被鬼上身后,这个人的身体表面上还和以前一样,但是他的灵魂和思想已经被这个鬼占有了,因此它会控制这个人做他自己想做的事情--那么在进程中也有这样的情景。那么是如何实现的呢?现在我们来学习exec()函数族一.exec()函数 族 1. 首先我们在终端输入命令:man exec 可以看到函数的原型:#include <unistd.h>int execl(const char *path, const char *arg, ...);int execv(const char *path, char *const argv[]);int ex 阅读全文
posted @ 2013-04-11 09:27 ~风~ 阅读(754) 评论(0) 推荐(0) 编辑