Linux从入门到提高-第19章 Linux下的C编程

上传人:豆浆 文档编号:47263955 上传时间:2018-07-01 格式:PPT 页数:27 大小:1.09MB
返回 下载 相关 举报
Linux从入门到提高-第19章  Linux下的C编程_第1页
第1页 / 共27页
Linux从入门到提高-第19章  Linux下的C编程_第2页
第2页 / 共27页
Linux从入门到提高-第19章  Linux下的C编程_第3页
第3页 / 共27页
Linux从入门到提高-第19章  Linux下的C编程_第4页
第4页 / 共27页
Linux从入门到提高-第19章  Linux下的C编程_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《Linux从入门到提高-第19章 Linux下的C编程》由会员分享,可在线阅读,更多相关《Linux从入门到提高-第19章 Linux下的C编程(27页珍藏版)》请在金锄头文库上搜索。

1、第19章 Linux下的C编程 C语言概述 基本应用 文件操作 进程操作 本章小结 本节将对C语言的基础知识进行介绍。它包括发展历史与 特点、基本组成元素、语句、数组、指针、结构体以及 函数等。19.1 C语言概述 C语言的特点主要包括: 程序结构清晰、紧凑 语言表达功能强大 程序的可移植性好 提供了预处理器,程序可以通过宏指令来提高程 序的可读性和可移植性 程序的基本结构 int main() 语句; 19.1.1 发展历史与特点 常量 #define 符号常量 常量 变量 数据类型 变量名; 运算符 算术运算符:+、-、*、/、%、+、- 关系运算符:、=、 条件运算符:运算量1 ? 运算

2、量2 : 运算量3 19.1.3 基本组成元素 表达式 算术表达式:1+2*3 赋值表达式:a=123 条件表达式:ab?a:b 19.1.3 基本组成元素 表达式语句 x=y+1; i+; 选择语句 if(表达式) 语句1; else 语句2;19.1.4 语句 选择语句 switch (表达式) case 常量1: 语句1或空; break; case 常量2: 语句2或空; break; case 常量n: 语句n或空; break; default: 语句n+1或空; 19.1.4 语句 循环语句 for (表达式1; 表达式2; 表达式3) 语句; while (表达式) 语句; 1

3、9.1.4 语句 循环语句 do 语句; while(表达式) 跳转语句 goto、break、continue 复合语句和空语句 19.1.4 语句 数组的定义 int array6; 数组元素的引用 array0, array1 数组的初始化 int array6=1, 2, 3, 4, 5, 6; int array =1, 2, 3, 4, 5, 6; int a6=1, 2, 3, ; 19.1.5 数组 指针的定义 int *p; int *pn; pn= *pn=2; void指针类型 void *p; 19.1.6 指针 结构体类型的定义 struct student int

4、id; char name20; char sex; unsigned int age; char address128; ; 结构体变量的定义 struct student a; 19.1.7 结构体 结构体变量的定义 struct student int id; char name20; char sex; unsigned int age; char address128; a;19.1.7 结构体 结构体变量的初始化 struct student a = 23, “Li Lei“, M, 28, “156 Jianshe Road“ ; 指向结构体的指针 struct student

5、*p; 结构体变量成员的引用 19.1.7 结构体 函数的定义与声明 返回值类型符 函数名(形式参数列表) 定义部分; 执行语句部分; 函数的调用与参数传递 函数名(实际参数列表) 19.1.8 函数 本节将不涉及系统底层的知识,介绍一些最基本和最常 用的应用,包括字符串操作、数据转换、内存分配与释 放等 。19.2 基本应用 字符串初始化 void *memset(void *buffer, int c, int count); 字符串复制 char *strcpy(char *dest,char *src); 字符串比较 int strcmp(const char *s1, const c

6、har *s2); 字符串查找 char *strstr(const char *haystack, const char *needle); 19.2.1 字符串操作 字母大小写转换 int toupper(int c); int tolower(int c); 字符串转换 int atoi(const char *nptr); 19.2.2 数据转换 内存分配 void *alloca(unsigned size); void *malloc(unsigned size); void *calloc(size_t nmemb, size_t size); 内存释放 void free(vo

7、id *ptr);19.2.3 内存分配与释放 Linux文件系统的实现采用了分层的体系结构,包括用户 接口层、文件系统本身、以及设备驱动程序等。这一节 将对用户接口层的一些基本操作进行介绍,包括文件的 创建/打开、关闭、以及读写等内容。 19.3 文件操作 int open(const char *filename, int flags); int open(const char *filename, int flags, mode_t mode); O_RDONLY:以只读的方式打开文件 O_WRONLY:以只写的方式打开文件 O_RDWR:以读写的方式打开文件 O_APPEND:以追加的

8、方式打开文件 O_CREAT:如果文件不存在,则创建新文件,并用mode设置其权限 O_EXEC:如果使用了O_CREAT,但文件已经存在,返回错误信息 O_NOBLOCK:以非阻塞的方式打开文件 O_TRUNC:如果文件已经存在,则在写入数据之前先删除其原有数据19.3.1 创建/打开文件 ssize_t read(int fd, void *buffer, size_t count); ssize_t write(int fd, const void *buffer, size_t count); 关闭文件 int close(int fd); 19.3.3 读写文件 在Linux等多用户

9、、多任务的操作系统中,进程是应用程 序在内存中的基本执行单元,同时也是系统资源分配的 基本单位。Linux系统下几乎所有的用户管理、资源分配 等操作都是通过相应进程的控制来实现的。因此,理解 和掌握进程的相关知识对于应用程序的设计非常重要。 这一节主要介绍一些进程相关的基本操作,包括进程的 创建、进程的终止、进程信息的获取等 。 19.4 进程操作 进程(Process)是指操作系统中被加载到内存中的、正 在运行的应用程序实例。它最初是随着批处理系统和分 时系统的出现而引入的,因为在这些系统中,有多个并 发执行的程序,仍然使用程序这个静态的概念已经无法 描述系统中程序动态变化的过程了。 进程主

10、要由程序、数据以及进程控制块(PCB)3个部分 组成。 19.4.1 进程的概念 pid_t fork(void); pid_t wait (int *status); pid_t waitpid(pid_t pid, int * status, int options); 进程的终止 void _exit(int status); void exit(int status);19.4.2 进程的创建 pid_t getpid(void); pid_t getppid (void); pid_t getpgid(pid_t pid); pid_t getpgrp(void); int getpriority(int which, int who);19.4.3 进程信息的获取 19.5 本章小结本章主要知识点: C语言基本知识点 字符串操作、数据转换、内存分配与释放 文件操作 进程操作

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号