虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

动态数组

  • 纯c下一般用链表实现内存的动态分配

    纯c下一般用链表实现内存的动态分配,有点麻烦,而且容易出错,为了方便实用,这里尝试写了一个在用c写的动态分配内存的console程序,例子实现的是可以动态分配二维数组的大小。

    标签: 内存 动态分配

    上传时间: 2014-01-14

    上传用户:wl9454

  • 动态规划的方程大家都知道

    动态规划的方程大家都知道,就是 f[i,j]=min{f[i-1,j-1],f[i-1,j],f[i,j-1],f[i,j+1]}+a[i,j] 但是很多人会怀疑这道题的后效性而放弃动规做法。 本来我还想做Dijkstra,后来变了没二十行pascal就告诉我数组越界了……(dist:array[1..1000*1001 div 2]...) 无奈之余看了xj_kidb1的题解,刚开始还觉得有问题,后来豁然开朗…… 反复动规。上山容易下山难,我们可以从上往下走,最后输出f[n][1]。 xj_kidb1的一个技巧很重要,每次令f[i][0]=f[i][i],f[i][i+1]=f[i][1](xj_kidb1的题解还写错了)

    标签: 动态规划 方程

    上传时间: 2014-07-16

    上传用户:libinxny

  • 编写一个程序求一组整数的中值.如果这组数的个数为奇数,那么 //* 中值就是排序后的中间那个数 如果这组数的个数为偶数,那么中 //* 值就是平排序后的中间两个数的平均值(也是这组数的

    编写一个程序求一组整数的中值.如果这组数的个数为奇数,那么 //* 中值就是排序后的中间那个数 如果这组数的个数为偶数,那么中 //* 值就是平排序后的中间两个数的平均值(也是这组数的平均值). //* 编写一个函数接受如下两个参数: //* (1)整形数组 //* (2)代表该数组元素个数的一个整数 //* 该函数应当返回数组的中值.

    标签: 排序 编写 程序 整数

    上传时间: 2014-01-08

    上传用户:sammi

  • 数组子系统

    #include <stdio.h> #include <stdlib.h> #define SMAX 100 typedef struct SPNode { int i,j,v; }SPNode; struct sparmatrix { int rows,cols,terms; SPNode data [SMAX]; }; sparmatrix CreateSparmatrix() { sparmatrix A; printf("\n\t\t请输入稀疏矩阵的行数,列数和非零元素个数(用逗号隔开):"); scanf("%d,%d,%d",&A.cols,&A.terms); for(int n=0;n<=A.terms-1;n++) { printf("\n\t\t输入非零元素值(格式:行号,列号,值):"); scanf("%d,%d,%d",&A.data[n].i,&A.data[n].j,&A.data[n].v); } return A; } void ShowSparmatrix(sparmatrix A) { int k; printf("\n\t\t"); for(int x=0;x<=A.rows-1;x++) { for(int y=0;y<=A.cols-1;y++) { k=0; for(int n=0;n<=A.terms-1;n++) { if((A.data[n].i-1==x)&&(A.data[n].j-1==y)) { printf("%8d",A.data[n].v); k=1; } } if(k==0) printf("%8d",k); } printf("\n\t\t"); } } void sumsparmatrix(sparmatrix A) { SPNode *p; p=(SPNode*)malloc(sizeof(SPNode)); p->v=0; int k; k=0; printf("\n\t\t"); for(int x=0;x<=A.rows-1;x++) { for(int y=0;y<=A.cols-1;y++) { for(int n=0;n<=A.terms;n++) { if((A.data[n].i==x)&&(A.data[n].j==y)&&(x==y)) { p->v=p->v+A.data[n].v; k=1; } } } printf("\n\t\t"); } if(k==1) printf("\n\t\t对角线元素的和::%d\n",p->v); else printf("\n\t\t对角线元素的和为::0"); } int main() { int ch=1,choice; struct sparmatrix A; A.terms=0; while(ch) { printf("\n"); printf("\n\t\t      稀疏矩阵的三元组系统       "); printf("\n\t\t*********************************"); printf("\n\t\t      1------------创建          "); printf("\n\t\t      2------------显示          "); printf("\n\t\t      3------------求对角线元素和"); printf("\n\t\t      4------------返回          "); printf("\n\t\t*********************************"); printf("\n\t\t请选择菜单号(0-3):"); scanf("%d",&choice); switch(choice) { case 1: A=CreateSparmatrix(); break; case 2: ShowSparmatrix(A); break; case 3: SumSparmatrix(A); break; default: system("cls"); printf("\n\t\t输入错误!请重新输入!\n"); break; } if (choice==1||choice==2||choice==3) { printf("\n\t\t"); system("pause"); system("cls"); } else system("cls"); } }

    标签: 数组 子系统

    上传时间: 2020-06-11

    上传用户:ccccy

  • 基于OpenCV的计算机视觉技术实现.rar

    OpencV是用来实现计算机视觉相关技术的开放源码工作库,是计算机视觉、图像处理、模式识别、计算机图形学、信号处理、视频监控、科学可视化等相关从业人员的好工具。本书介绍了大约200多个典型的技术问题,覆盖了基于OpenCV基础编程的主要内容,利用大量生动有趣的编程案例和编程技巧,从解决问题和答疑解惑入手,以因特网上最新资料为蓝本,深入浅出地说明了OpenCV中最典型和用途最广的程序设计方法。全书结构清晰、合理,范例实用、丰富,理论结合实践,即使读者只是略懂计算机视觉原理,也能人手对相关理论方法直接进行编码实现。 "基于OPENCV的计算机视觉技术实现"的图书目录…… 前言 第一章 使用OpenCV实现计算机视觉技术 1.1 计算机视觉技术 1.2 什么是OpenCV 1.3 基于OpenCV库的编程方法 本章小结 第二章 OpenCV的编程环境 2.1 OpenCV环境介绍 2.2 OpenCV的体系结构 2.3 OpenCV实例演示 本章小结 第三章 OpenCV编程风格 3.1 命名约定 3.2 结构 3.3 函数接口设计 3.4 函数实现 3.5 代码布局 3.6 移植性 3.7 文件操作 3.8 文档编写 本章小结 第四章 数据结构 4.1 基本数据结构 4.2 数组有关的操作 4.3 动态结构 本章小结 第五章 数据交互 5.1 绘图函数 5.2 文件存储 5.3 运行时类型信息和通用函数 5.4 错误处理函数 5.5 系统函数 本章小结 第六章 图像处理 6.1 边缘检测 6.2 直方图 6.3 Hough变换 6.4 几何变换 6.5 形态学 本章小结 第七章 结构与识别 7.1 轮廓处理函数 7.2 计算几何 7.3 平面划分 7.4 目标检测函数 7.5 生成与控制贝塞尔曲线 7.6 用OpenCV进行人脸检测 本章小结 第八章 图形界面(HighGUI) 8.1 读取和保存图像 8.2 OpenCV中的实用系统函数 本章小结 第九章 视频处理(CvCAM) 9.1 使用HighGUI对视频进行读写处理 9.2 CvCam对摄像头和视频流的使用 本章小结 第十章 OpenCV附加库第一部分 10.1 附加库介绍 10.2 形态学(morhing functions) 本章小结 第十一章 OpenCV附加库第二部分——隐马尔可夫模型 11.1 隐马尔可夫模型概述 11.2 隐马尔可夫模型中的基本结构与函数介绍 11.3 隐马尔可夫模型中的函数介绍 11.4 人脸识别工具 本章小结 第十二章 核心库综合例程 12.1 检测黑白格标定板内指定矩形区域内的角点 12.2 解线性标定方程组程序 本章小结 第十三章 运动与跟踪 13.1 图像统计的累积函数 13.2 运动模板函数 13.3 对象跟踪 13.4 光流 13.5 预估器 13.6 Kalman滤波器跟踪示例 13.7 用Snake方法检测可变形体的轮廓 13.8 运动目标跟踪与检测 本章小结 第十四章 立体视觉第一部分——照相机定标 14.1 坐标系介绍 14.2 透视投影矩阵的获得 14.3 摄像机参数的获取 14.4 径向畸变的校正 14.5 使用OpenCV及CVUT进行摄像机定标 14.6 OpenCV中的定标函数 14.7 CVUT介绍 本章小结 第十五章 立体视觉第二部分——三维重建 15.1 极线几何 15.2 特征点匹配 15.3 三维重建 15.4 OpenCV中相关函数介绍 本章小结 第十六章 立体视觉第三部分——三维重建算法 16.1 图像校正 16.2 已校正图像的快速三维重建 16.3 Birchfield算法 16.4 OpenCV中相关函数介绍 本章小结 第十七章 立体视觉第四部分——立体视觉实例 17.1 图像校正实例代码 17.2 基于窗口的稀疏点匹配及三维重建之一 17.3 基于窗口的稀疏点匹配及三维重建之二 17.4 Birchfield算法的OpenCV实现 本章小结 第十八章 常见问题解疑 18.1 安装与编译出错解决方法 18.2 OpenCV库基本技术问题 18.3 OpenCV在Linux下的相关问题 18.4 OpenCV库中的陷阱和bug

    标签: OpenCV 计算机视觉 技术实现

    上传时间: 2013-07-18

    上传用户:huyiming139

  • AVR系列单片机C语言编程与应用实例

    本书针对Atmel公司的AVR系列单片机和ImageCraft公司的ICC AVR开发环境,详细地介绍了AT90LS8535的C语言程序设计。全书共有13章,其内容既涉及到了单片机的结构原理、指令系统、内容资源和外部功能扩展,又包含了单片机的编程工具——ICC AVR C编程器的数据类型、控制流、函数和指针等。本书的特点是:深入浅出,从最基本的概念开始,循序渐进地讲解单片机的应用开发;列举了大量实例,使读者能从实际应用中掌握单片机的开发与应用技术。本书适合作为从事单片机开发人员的参考用书。书中先后讲解了C语言基础、AVR单片机基础,并举了一些简单的实例。本书非常适合初学者。 【目录信息】 第1章 单片机系统概述 1. 1 AVR系列单片机的特点 1. 2 AT90系列单片机简介 第2章 AT90LS8535单片机的基础知识 2. 1 AT90LS8535单片机的总体结构 2. 1. 1 AT90LS8535单片机的中央处理器 2. 1. 2 AT90LS8535单片机的存储器组织 2. 1. 3 AT90LS8535单片机的I/O接口 2. 1. 4 AT90LS8535单片机的内部资源 2. 1. 5 AT90LS8535单片机的时钟电路 2. 1. 6 AT90LS8535单片机的系统复位 2. 1. 7 AT90LS8535单片机的节电方式 2. 1. 8 AT90LS8535单片机的芯片引脚 2. 2 AT90LS8535单片机的指令系统 2. 2. 1 汇编指令格式 2. 2. 2 寻址方式 2. 2. 3 伪指令 2. 2. 4 指令类型及数据操作方式 2. 3 应用程序设计 2. 3. 1 程序设计方法 2. 3. 2 应用程序举例 第3章 AT90LS8535单片机的C编程 3. 1 支持高级语言编程的AVR系列单片机 3. 2 AVR的C编译器 3. 3 ICCAVR介绍 3. 3. 1 安装ICCAVR 3. 3. 2 设置ICCAVR 3. 4 用ICCAVR编写应用程序 3. 5 下载程序文件 第4章 数据类型. 运算符和表达式 4. 1 ICCAVR支持的数据类型 4. 2 常量与变量 4. 2. 1 常量 4. 2. 2 变量 4. 3 AT90LS8535的存储空间 4. 4 算术和赋值运算 4. 4. 1 算术运算符和算术表达式 4. 4. 2 赋值运算符和赋值表达式 4. 5 逻辑运算 4. 6 关系运算 4. 7 位操作 4. 7. 1 位逻辑运算 4. 7. 2 移位运算 4. 8 逗号运算 第5章 控制流 5. 1 C语言的结构化程序设计 5. 1. 1 顺序结构 5. 1. 2 选择结构 5. 1. 3 循环结构 5. 2 选择语句 5. 2. 1 if语句 5. 2. 2 switch分支 5. 2. 3 选择语句的嵌套 5. 3 循环语句 5. 3. 1 while语句 5. 3. 2 do…while语句 5. 3. 3 for语句 5. 3. 4 循环语句嵌套 5. 3. 5 break语句和continue语句 第6章 函数 6. 1 函数的定义 6. 1. 1 函数的定义的一般形式 6. 1. 2 函数的参数 6. 1. 3 函数的值 6. 2 函数的调用 6. 2. 1 函数的一般调用 6. 2. 2 函数的递归调用 6. 2. 3 函数的嵌套调用 6. 3 变量的类型及其存储方式 6. 3. 1 局部变量 6. 3. 2 局部变量的存储方式 6. 3. 3 全局变量 6. 3. 4 全局变量的存储方式 6. 4 内部函数和外部函数 6. 4. 1 内部函数 6. 4. 2 外部函数 第7章 指针 7. 1 指针和指针变量 7. 2 指针变量的定义和引用 7. 2. 1 指针变量的定义 7. 2. 2 指针变量的引用 7. 2. 3 指针变量作为函数参数 7. 3 数组与指针 7. 3. 1 指向数组元素的指针变量 7. 3. 2 数组元素的引用 通过指针 7. 3. 3 数组名作为函数参数 7. 3. 4 指向多维数组的元素的指针变量 7. 4 字符串与指针 7. 4. 1 字符串的表示形式 7. 4. 2 字符串指针变量与字符数组的区别 7. 5 函数与指针 7. 5. 1 函数指针变量 7. 5. 2 指针型函数 7. 6 指向指针的指针 7. 7 有关指针数据类型和运算小结 7. 7. 1 有关指针的数据类型的小结 7. 7. 2 指针运算的小结 第8章 结构体和共用体 8. 1 结构体的定义和引用 8. 1. 1 结构体类型变量的定义 8. 1. 2 结构体类型变量的引用 8. 2 结构类型的说明 8. 3 结构体变量的初始化和赋值 8. 3. 1 结构体变量的初始化 8. 3. 2 结构体变量的赋值 8. 4 结构体数组 8. 4. 1 结构体数组的定义 8. 4. 2 结构体数组的初始化 8. 5 指向结构体类型变量的指针 8. 5. 1 指向结构体变量的指针 8. 5. 2 指向结构体数组的指针 8. 5. 3 指向结构体变量的指针做函数参数 8. 6 共用体 8. 6. 1 共用体的定义 8. 6. 2 共用体变量的引用 第9章 A190LS8535的内部资源 9. 1 I/O 口 9. 1. 1 端口A 9. 1. 2 端口B 9. 1. 3 端口C 9. 1. 4 端口D 9. 1. 5 I/O口的编程 9. 2 中断 9. 2. 1 单片机的中断功能 9. 2. 2 AT90LS8535单片机的中断系统 9. 2. 3 1CCAVRC编译器的中断操作 9. 2. 4 中断的编程 9. 3 串行数据通信 9. 3. 1 数据通信基础 9. 3. 2 AT90LS8535的同步串行接口 9. 3. 3 AT90LS8535的异步串行接口 9. 4 定时/计数器 9. 4. 1 定时/计数器的分频器 9. 4. 2 8位定时/计数器0 9. 4. 3 16位定时/计数器1 9. 4. 4 8位定时/计数器2 9. 5 EEPROM 9. 5. 1 与EEPROM有关的寄存器 9. 5. 2 EEPROM读/写操作 9. 5. 3 EEPROM的应用举例 9. 6 模拟量输入接口 9. 6. 1 模数转换器的结构 9. 6. 2 ADC的使用 9. 6. 3 与模数转换器有关的寄存器 9. 6. 4 ADC的噪声消除 9. 6. 5 ADC的应用举例 9. 7 模拟比较器 9. 7. 1 模拟比较器的结构 9. 7. 2 与模拟比较器有关的寄存器 9. 7. 3 模拟比较器的应用举例 第10章 AT90LS8535的人机接口编程 10. 1 键盘接口 10. 1. 1 非矩阵式键盘 10. 1. 2 矩阵式键盘 10. 2 LED显示输出 10. 2. 1 LED的静态显示 10. 2. 2 LED的动态扫描显示 10. 2. 3 动态扫描显示专用芯片MC14489 10. 3 LCD显示输出 10. 3. 1 字符型LCD 10. 3. 2 点阵型LCD 10. 4 ISD2500系列语音芯片的编程 10. 4. 1 ISD2500的片内结构和引脚 10. 4. 2 ISD2500的操作 10. 4. 3 ISD2500和单片机的接口及编程 10. 5 TP-uP微型打印机 10. 5. 1 TP-uP打印机的接口和逻辑时序 10. 5. 2 P-uP打印机的打印命令和字符代码 10. 5. 3 AT90LS8535与TP-uP系列打印机的接口及编程 10. 6 IC卡 10. 6. 1 IC卡读写装置 10. 6. 2 IC卡软件 第11章 AT90LS8535的外围扩展 11. 1 简单I/O扩展芯片 11. 1. 1 用74LS377扩展数据输出接口 11. 1. 2 数据输入接口 11. 2 模拟量输出 11. 2. 1 D/A转换器简介 11. 2. 2 8位数模转换器DAC0832 11. 2. 3 8位数模转换器与单片机的接口及编程 11. 2. 4 12位数模转换器DACl230 11. 2. 5 12位数模转换器与单片机的接口及编程 11. 3 可编程I/O扩展芯片8255A 11. 3. 1 8255A的引脚和内部结构 11. 3. 2 8255A的工作方式 11. 3. 3 8255A的控制字 11. 3. 4 AT90LS8535和8255A的接口 11. 4 带片内RAM的I/O扩展芯片8155 11. 4. 1 8155的引脚和内部结构. 11. 4. 2 8155的I/O口工作方式 11. 4. 3 8155的定时/计数器 11. 4. 4 8155的命令和状态字 11. 4. 5 AT90LS8535与8155的接口及编程 11. 5 定时/计数器芯片8253 11. 5. 1 8253的信号引脚和逻辑结构 11. 5. 2 8253的工作方式 11. 5. 3 8253的控制字 11. 5. 4 AT90LS8535与8253的接口及编程 11. 6 实时时钟芯片DS1302 11. 6. 1 DS1302的引脚和内部结构 11. 6. 2 DS1302的控制方式 11. 6. 3 AT90LS8535与DS1302的接口与编程 11. 7 数字温度传感器DS18B20 11. 7. 1 DSl8B20的引脚和内部结构 11. 7. 2 DS18B20的温度测量 11. 7. 3 AT90LS8535与DS18B20的接口与编程 第12章 AT90LS8535的通信编程 12. 1 串口通信 12. 1. 1 异步串口UART通信 12. 1. 2 同步串口SPI通信 12. 2 I2C总线 12. 2. 1 I2C总线协议 12. 2. 2 采用AT90LS8535的并行I/O口模拟I2C总线 12. 3 CAN总线 12. 3. 1 CAN总线的特点 12. 3. 2 CAN协议的信息格式 12. 3. 3 CAN控制器SJA1000 12. 3. 4 AT90LS8535与SJA1000的接口及编程 12. 4 AT90LS8535单片机与PC的串行通信 12. 4. 1 基于VC 6. 0的PC串口通信 12. 4. 2 应用实例 第13章 系统设计中的程序处理方法 13. 1 数字滤波处理 13. 1. 1 平滑滤波 13. 1. 2 中值滤波 13. 1. 3 程序判断滤波 13. 2 非线性处理 13. 2. 1 查表法 13. 2. 2 线性插值法

    标签: AVR 单片机 C语言编程 应用实例

    上传时间: 2013-11-04

    上传用户:元宵汉堡包

  • c#入门经典第4版全书pdf

    《C#入门经典(第4版)》通过C#可以很容易地学习.NET Framework 3.5的强大功能,所以C#是开始您编程生涯的绝佳方式。《C#入门经典(第4版)》全面阐述了C#编程的所有方面,包括C#语言本身、Windows编程、Web编程及数据源的使用等内容。学习了新的编程技巧后,《C#入门经典(第4版)》介绍了如何高效地部署应用程序和服务,论述了许多高级技术,如图形化编程。另外,还探讨了如何使用Visual C# Express 2008、Visual Web Developer Express 2008和Visual Studio 2008的功能。所有这些内容都已更新,以反映.NET Framework 3.5和Visual Studio 2008的变化。各章的样例代码和示例还可以用于创建强大且安全的应用程序。 c#入门经典第4版目录   第Ⅰ部分 C# 语 言   第1章 C#简介 3   1.1 什么是.NET Framework 3   1.1.1 NET Framework的内容 4   1.1.2 用.NET Framework编写应用程序 4   1.2 什么是C# 7   1.2.1 用C#能编写什么样的应用程序 7   1.2.2 本书中的C# 8   1.3 Visual Studio 2008 8   1.3.1 Visual Studio 2008 Express 产品 9   1.3.2 解决方案 9   1.4 小结 9   第2章 编写C#程序 10   2.1 开发环境 10   2.1.1 Visual Studio 2008 11   2.1.2 Visual C# 2008 ExpressEdition 13   2.2 控制台应用程序 13   2.2.1 Solution Explorer 16   2.2.2 Properties窗口 17   2.2.3 Error List窗口 17   2.3 Windows Forms应用程序 18   2.4 小结 22   第3章 变量和表达式 23   3.1 C#的基本语法 23   3.2 C#控制台应用程序的基本结构 25   3.3 变量 27   3.3.1 简单类型 27   3.3.2 变量的命名 31   3.3.3 字面值 32   3.3.4 变量的声明和赋值 33   3.4 表达式 34   3.4.1 数学运算符 34   3.4.2 赋值运算符 38   3.4.3 运算符的优先级 39   3.4.4 名称空间 39   3.5 小结 42   3.6 练习 43   第4章 流程控制 44   4.1 布尔逻辑 44   4.1.1 位运算符 46   4.1.2 布尔赋值运算符 50   4.1.3 运算符的优先级更新 51   4.2 goto语句 52   4.3 分支 53   4.3.1 三元运算符 53   4.3.2 if语句 54   4.3.3 switch语句 57   4.4 循环 60   4.4.1 do循环 61   4.4.2 while循环 63   4.4.3 for循环 65   4.4.4 循环的中断 69   4.4.5 无限循环 70   4.5 小结 70   4.6 练习 71   第5章 变量的更多内容 72   5.1 类型转换 72   5.1.1 隐式转换 72   5.1.2 显式转换 74   5.1.3 使用Convert命令进行 显式转换 76   5.2 复杂的变量类型 79   5.2.1 枚举 79   5.2.2 结构 83   5.2.3 数组 86   5.3 字符串的处理 91   5.4 小结 95   5.5 练习 96   第6章 函数 97   6.1 定义和使用函数 98   6.1.1 返回值 99   6.1.2 参数 101   6.2 变量的作用域 107   6.2.1 其他结构中变量的作用域 110   6.2.2 参数和返回值与全局数据 111   6.3 Main()函数 113   6.4 结构函数 114   6.5 函数的重载 115   6.6 委托 117   6.7 小结 119   6.8 练习 120   第7章 调试和错误处理 121   7.1 VS和VCE中的调试 121   7.1.1 非中断(正常)模式下的调试 122   7.1.2 中断模式下的调试 131   7.2 错误处理 139   7.2.1 try...catch...finally 140   7.2.2 列出和配置异常 144   7.2.3 异常处理的注意事项 145   7.3 小结 146   7.4 练习 146   第8章 面向对象编程简介 147   8.1 什么是面向对象编程 147   8.1.1 什么是对象 148   8.1.2 所有的东西都是对象 151   8.1.3 对象的生命周期 151   8.1.4 静态和实例类成员 152   8.2 OOP技术 153   8.2.1 接口 153   8.2.2 继承 155   8.2.3 多态性 156   8.2.4 对象之间的关系 157   8.2.5 运算符重载 159   8.2.6 事件 159   8.2.7 引用类型和值类型 160   8.3 Windows应用程序中的OOP 160   8.4 小结 162   8.5 练习 163   第9章 定义类 164   9.1 C#中的类定义 164   9.2 System.Object 169   9.3 构造函数和析构函数 170   9.4 VS和VCE中的OOP工具 174   9.4.1 Class View窗口 174   9.4.2 对象浏览器 176   9.4.3 添加类 177   9.4.4 类图 177   9.5 类库项目 179   9.6 接口和抽象类 182   9.7 结构类型 184   9.8 小结 186   9.9 练习 186   第10章 定义类成员 187   10.1 成员定义 187   10.1.1 定义字段 187   10.1.2 定义方法 188   10.1.3 定义属性 189   10.1.4 在类图中添加成员 194   10.1.5 重制成员 196   10.1.6 自动属性 197   10.2 类成员的其他议题 197   10.2.1 隐藏基类方法 198   10.2.2 调用重写或隐藏的基类方法 199   10.2.3 嵌套的类型定义 200   10.3 接口的实现 201   10.4 部分类定义 204   10.5 部分方法定义 206   10.6 示例应用程序 207   10.6.1 规划应用程序 207   10.6.2 编写类库 208   10.6.3 类库的客户应用程序 214   10.7 小结 215   10.8 练习 216   第11章 集合、比较和转换 217   11.1 集合 217   11.1.1 使用集合 218   11.1.2 定义集合 224   11.1.3 索引符 225   11.1.4 给CardLib添加Cards集合 227   11.1.5 关键字值集合和IDictionary 229   11.1.6 迭代器 231   11.1.7 深度复制 236   11.1.8 给CardLib添加深度复制 238   11.2 比较 239   11.2.1 类型比较 240   11.2.2 值比较 244   11.3 转换 259   11.3.1 重载转换运算符 259   11.3.2 as运算符 260   11.4 小结 261   11.5 练习 262   第12章 泛型 263   12.1 泛型的概念 263   12.2 使用泛型 264   12.2.1 可空类型 264   12.2.2 System.Collections.Generic 名称空间 271   12.3 定义泛型 279   12.3.1 定义泛型类 280   12.3.2 定义泛型接口 291   12.3.3 定义泛型方法 291   12.3.4 定义泛型委托 293   12.4 小结 293   12.5 练习 293   第13章 其他OOP技术 295   13.1 ::运算符和全局名称空间   13.2 定制异常 296   13.2.1 异常基类 297   13.2.2 给CardLib添加定制异常 297   13.3 事件 298   13.3.1 什么是事件 298   13.3.2 使用事件 300   13.3.3 定义事件 302   13.4 扩展和使用CardLib 309   13.5 小结 317   13.6 练习 317   第14章 C# 3.0语言的改进 318   14.1 初始化器 318   14.1.1 对象初始化器 319   14.1.2 集合初始化器 320   14.2 类型推断 323   14.3 匿名类型 325   14.4 扩展方法 328   14.5 ?表达式 333   14.5.1 复习匿名方法 333   14.5.2 把?表达式用于匿名方法 334   14.5.3 ?表达式的参数 337   14.5.4 ?表达式的语句体 337   14.5.5 ?表达式用作委托和表达式树 338   14.5.6 ?表达式和集合 339   14.6 小结 342   14.7 练习 342   第Ⅱ部分 Windows 编 程   第15章 Windows编程基础 347   15.1 控件 347   15.1.1 属性 348   15.1.2 控件的定位、停靠和对齐 349   15.1.3 事件 350   15.2 Button控件 352   15.2.1 Button控件的属性 352   15.2.2 Button控件的事件 353   15.3 Label和LinkLabel控件 354   15.4 TextBox控件 355   15.4.1 TextBox控件的属性 355   15.4.2 TextBox控件的事件 356   15.5 RadioButton和CheckBox控件 363   15.5.1 RadioButton控件的属性 364   15.5.2 RadioButton控件的事件 364   15.5.3 CheckBox控件的属性 364   15.5.4 CheckBox控件的事件 364   15.5.5 GroupBox控件 365   15.6 RichTextBox控件 368   15.6.1 RichTextBox控件的属性 368   15.6.2 RichTextBox控件的事件 369   15.7 ListBox和CheckedListBox控件 374   15.7.1 ListBox控件的属性 375   15.7.2 ListBox控件的方法 376   15.7.3 ListBox控件的事件 376   15.8 ListView控件 378   15.8.1 ListView控件的属性 378   15.8.2 ListView控件的方法 380   15.8.3 ListView控件的事件 381   15.8.4 ListViewItem 381   15.8.5 ColumnHeader 381   15.8.6 ImageList控件 381   15.9 TabControl控件 388   15.9.1 TabControl控件的属性 389   15.9.2 使用TabControl控件 389   15.10 小结 392   15.11 练习 392   第16章 Windows Forms的高级功能 393   16.1 菜单和工具栏 393   16.1.1 两个实质一样的控件 393   16.1.2 使用MenuStrip控件 394   16.1.3 手工创建菜单 394   16.1.4 ToolStripMenuItem控件的其他属性 397   16.1.5 给菜单添加功能 397   16.2 工具栏 399   16.2.1 ToolStrip控件的属性 399   16.2.2 ToolStrip的项 400   16.2.3 StatusStrip控件 405   16.2.4 StatusStripStatusLabel的属性 405   16.3 SDI和MDI应用程序 407   16.4 创建控件 415   16.4.1 LabelTextbox控件 417   16.4.2 调试用户控件 420   16.4.3 扩展LabelTextbox控件 421   16.5 小结 424   16.6 练习 424   第17章 使用通用对话框 425   17.1 通用对话框 425   17.2 如何使用对话框 426   17.3 文件对话框 427   17.3.1 OpenFileDialog 427   17.3.2 SaveFileDialog 438   17.4 打印 442   17.4.1 打印结构 442   17.4.2 打印多个页面 447   17.4.3 PageSetupDialog 449   17.4.4 PrintDialog 451   17.5 打印预览 455   17.5.1 PrintPreviewDialog 455   17.5.2 PrintPreviewControl 456   17.6 FontDialog和ColorDialog 457   17.6.1 FontDialog 457   17.6.2 ColorDialog 459   17.6.3 FolderBrowserDialog 460   17.7 小结 461   17.8 练习 461   第18章 部署Windows应用程序 463   18.1 部署概述 463   18.2 ClickOnce部署 464   18.3 Visual Studio安装和部署项目类型 473   18.4 Microsoft Windows安装程序结构 474   18.4.1 Windows Installer术语 474   18.4.2 Windows Installer的优点 476   18.5 为SimpleEditor创建安装软件包 476   18.5.1 规划安装内容 476   18.5.2 创建项目 477   18.5.3 项目属性 478   18.5.4 安装编辑器 480   18.5.5 File System编辑器 481   18.5.6 File Types编辑器 483   18.5.7 Launch Condition编辑器 485   18.5.8 User Interface编辑器 485   18.6 构建项目 488   18.7 安装 489   18.7.1 Welcome 489   18.7.2 Read Me 489   18.7.3 License Agreement 490   18.7.4 Optional Files 490   18.7.5 选择安装文件夹 491   18.7.6 确认安装 492   18.7.7 进度 492   18.7.8 结束安装 493   18.7.9 运行应用程序 493   18.7.10 卸载 493   18.8 小结 493   18.9 练习 494   第Ⅲ部分 Web 编 程   第19章 Web编程基础 497   19.1 概述 497   19.2 ASP .NET运行库 498   19.3 创建简单的Web页面 498   19.4 服务器控件 504   19.5 事件处理程序 505   19.6 输入的有效性验证 509   19.7 状态管理 512   19.7.1 客户端的状态管理 513   19.7.2 服务器端的状态管理 515   19.8 身份验证和授权 517   19.8.1 身份验证的配置 518   19.8.2 使用安全控件 522   19.9 读写SQL Server数据库 524   19.10 小结 530   19.11 练习 531   第20章 Web高级编程 532   20.1 母版页 532   20.2 站点导航 537   20.3 用户控件 539   20.4 个性化配置 541   20.4.1 个性化配置组 543   20.4.2 组件的个性化配置 543   20.4.3 定制数据类型中的个性化配置 543   20.4.4匿名用户的个性化配置 544   20.5 Web Parts 545   20.5.1 WebPartManager控件 546   20.5.2 WebPartZone控件 546   20.5.3 EditorZone控件 548   20.5.4 CatalogZone控件 550   20.5.5 ConnectionsZone控件 551   20.6 JavaScript 554   20.6.1 Script元素 555   20.6.2 变量的声明 555   20.6.3 定义函数 555   20.6.4 语句 556   20.6.5 对象 556   20.7 小结 560   20.8 练习 560   第21章 Web服务 561   21.1 Web服务推出之前 561   21.1.1 远程过程调用(RPC) 562   21.1.2 SOAP 563   21.2 使用Web服务的场合 563   21.2.1 宾馆旅行社代理应用程序 564   21.2.2 图书发布应用程序 564   21.2.3 客户应用程序的类型 564   21.2.4 应用程序的体系结构 564   21.3 Web服务的体系结构 565   21.3.1 可以调用的方法 565   21.3.2 调用方法 566   21.3.3 SOAP和防火墙 567   21.3.4 WS-I基本个性化配置 568   21.4 Web服务和.NET Framework 568   21.4.1 创建Web服务 568   21.4.2 客户程序 570   21.5 创建简单的ASP .NET Web服务 571   21.6 测试Web服务 572   21.7 执行Windows客户程序 574   21.8 异步调用服务 577   21.9 执行ASP .NET客户程序 580   21.10 传送数据 581   21.11 小结 584   21.12 练习 584   第22章 Ajax编程 586   22.1 Ajax概述 586   22.2 UpdatePanel控件 587   22.3 Timer控件 591   22.4 UpdateProgress控件 592   22.5 Web服务 594   22.6 扩展控件 598   22.7 小结 600   22.8 练习 600   第23章 部署Web应用程序 601   23.1 Internet Information Services 601   23.2 IIS配置 602   23.3 复制Web站点 604   23.4 发布Web站点 606   23.5 Windows安装程序 607   23.5.1 创建安装程序 607   23.5.2 安装Web 应用程序 609   23.6 小结 610   23.7 练习 610   第Ⅳ部分 数 据 访 问   第24章 文件系统数据 613   24.1 流 613   24.2 用于输入和输出的类 614   24.2.1 File类和Directory类 615   24.2.2 FileInfo类 616   24.2.3 DirectoryInfo类 617   24.2.4 路径名和相对路径 618   24.2.5 FileStream对象 618   24.2.6 StreamWriter对象 624   24.2.7 StreamReader对象 626   24.2.8 读写压缩文件 632   24.3 序列化对象 635   24.4 监控文件结构 639   24.5 小结 645   24.6 练习 646   第25章 XML 647   25.1 XML文档 647   25.1.1 XML元素 647   25.1.2 属性 648   25.1.3 XML声明 649   25.1.4 XML文档的结构 649   25.1.5 XML名称空间 650   25.1.6 格式良好并有效的XML 651   25.1.7 验证XML文档 651   25.2 在应用程序中使用XML 654   25.2.1 XML文档对象模型 655   25.2.2 选择节点 663   25.3 小结 670   25.4 练习 671   第26章 LINQ简介 672   26.1 LINQ的变体 673   26.2 第一个LINQ查询 673   26.2.1 用var关键字声明结果变量 675   26.2.2 指定数据源:from子句 675   26.2.3 指定条件:where子句 675   26.2.4 指定元素:select子句 676   26.2.5 完成:使用foreach循环 676   26.2.6 延迟执行的查询 676   26.3使用LINQ方法语法和?表达式 676   26.3.1 LINQ扩展方法 676   26.3.2 查询语法和方法语法 677   26.3.3 ?表达式 677   26.4 排序查询结果 679   26.5 orderby子句 680   26.6 用方法语法排序 681   26.7 查询大型数据集 682   26.8 合计运算符 685   26.9 查询复杂的对象 688   26.10 投射:在查询中创建新对象 691   26.11 投射:方法语法 693   26.12 单值选择查询 693   26.13 Any和All 694   26.14 多级排序 696   26.15 多级排序方法语法:ThenBy 698   26.16 组合查询 698   26.17 Take和Skip 700   26.18 First和FirstOrDefault 702   26.19 集运算符 703   26.20 Join查询 706   26.21 资源和进一步阅读 707   26.22 小结 707   26.23 练习 707   第27章 LINQ to SQL 709   27.1 对象相关映射 709   27.2 安装SQL Server和Northwind示例数据 710   27.2.1 安装SQL Server Express2005 710   27.2.2 安装Northwind示例数据库 711   27.3 第一个LINQ to SQL查询 712   27.4 浏览LINQ to SQL关系 717   27.5 进一步探讨LINQ to SQL 720   27.6 LINQ to SQL中的组合、排序和其他高级查询 723   27.7 显示生成的SQL 725   27.8 用LINQ to SQL绑定数据 729   27.9 用LINQ to SQL更新绑定数据 733   27.10 小结 734   27.11 练习 735   第28章 ADO .NET和LINQ over DataSet 736   28.1 ADO .NET概述 736   28.1.1 ADO .NET名称的来源 737   28.1.2 ADO .NET的设计目标 738   28.2 ADO .NET类和对象概述 739   28.2.1 提供者对象 739   28.2.2 用户对象 740   28.2.3 使用System.Data名称空间 741   28.3 用DataReader读取数据 742   28.4 用DataSet读取数据 749   28.4.1 用数据填充DataSet 749   28.4.2 访问DataSet中的表、行和列 749   28.5 更新数据库 752   28.5.1 给数据库添加行 755   28.5.2 删除行 761   28.6 在DataSet中访问多个表 762   28.6.1 ADO .NET中的关系 762   28.6.2 用关系导航 763   28.7 XML和ADO .NET 770   28.8 ADO .NET中的SQL支持 773   28.8.1 DataAdapter对象中的 SQL命令 773   28.8.2 直接执行SQL命令 776   28.8.3 调用SQL存储过程 778   28.9 使用LINQ over DataSet和ADO .NET 780   28.10 小结 784   28.11 练习 784   第29章 LINQ to XML 785   29.1 LINQ to XML函数构造方法 785   29.2 保存和加载XML文档 789   29.2.1 从字符串中加载XML 791   29.2.2 已保存的XML文档内容 792   29.3 处理XML片段 792   29.4 通过LINQ to XML生成 XML 794   29.5 查询XML文档 798   29.6 小结 804   29.7 练习 804   第Ⅴ部分 其 他 技 术   第30章 属性 809   30.1 什么是属性 809   30.2 反射 812   30.3 内置属性 815   30.3.1 System.Diagnostics.ConditionalAttribute 815   30.3.2 System.Obsolete Attribute 817   30.3.3 System.Serializable   Attribute 818   30.3.4 System.Reflection.AssemblyDelaySignAttribute 821   30.4 定制属性 824   30.4.1 BugFixAttribute 824   30.4.2 System.AttributeUsageAttribute 826   30.5 小结 830   第31章 XML文档说明 831   31.1 添加XML文档说明 831   31.1.1 XML文档说明的注释 833   31.1.2 使用类图添加XML文档说明 839   31.1.3 生成XML文档说明文件 842   31.1.4 带有XML文档说明的应用程序示例 844   31.2 使用XML文档说明 846   31.2.1 编程处理XML文档说明 846   31.2.2 用XSLT格式化XML文档说明 848   31.2.3 文档说明工具 849   31.3 小结 850   31.4 练习 851   第32章 网络 852   32.1 联网概述 852   32.1.1 名称的解析 855   32.1.2 统一资源标识符 856   32.1.3 TCP和UDP 857   32.1.4 应用协议 857   32.2 网络编程选项 859   32.3 WebClient 859   32.4 WebRequest和WebResponse 861   32.5 TcpListener和TcpClient 868   32.6 小结 876   32.7 练习 876   第33章 GDI+简介 877   33.1 图形绘制概述 877   33.1.1 Graphics类 878   33.1.2 对象的删除 878   33.1.3 坐标系统 879   33.1.4 颜色 884   33.2 使用Pen类绘制线条 885   33.3 使用Brush类绘制图形 887   33.4 使用Font 类绘制文本 890   33.5 使用图像进行绘制 893   33.5.1 使用纹理画笔绘图 895   33.5.2 使用钢笔绘制图像 897   33.5.3 双倍缓冲 898   33.6 GDI+的高级功能 900   33.6.1 剪切 900   33.6.2 System.Drawing.Drawing2D 901   33.6.3 System.Drawing.Imaging 901   33.7 小结 901   33.8 练习 902   第 34 章 Windows Presentation Foundation 903   34.1 WPF的概念 904   34.1.1 WPF给设计人员带来的好处 904   34.1.2 WPF给C#开发人员带来的好处 906   34.2 基本WPF应用程序的组成 906   34.3 WPF基础 916   34.3.1 XAML语法 917   34.3.2 桌面和Web应用程序 919   34.3.3 Application对象 920   34.3.4 控件基 920   34.3.5 控件的布局 928   34.3.6 控件的样式 936   34.3.7 触发器 941   34.3.8 动画 942   34.3.9 静态和动态资源 944   34.4 用WPF编程 949   34.4.1 WPF用户控件 950   34.4.2 实现依赖属性 950   34.5 小结 959   34.6 练习 960   第35 章 Windows Communication Foundation 961   35.1 WCF是什么 961   35.2 WCF概念 962   35.2.1 WCF通信协议 962   35.2.2 地址、端点和绑定 963   35.2.3 合同 964   35.2.4 消息模式 965   35.2.5 行为 965   35.2.6 主机 965   35.3 WCF编程 966   35.3.1 定义WCF服务合同 973   35.3.2 自存储的WCF服务 979   35.4 小结 985   35.5 练习 986   第36章 Windows Workflow Foundation 987   36.1 活动 990   36.1.1 DelayActivity 990   36.1.2 SuspendActivity 991   36.1.3 WhileActivity 992   36.1.4 SequenceActivity 994   36.1.5 定制活动 997   36.2 工作流运行库 1002   36.3 数据绑 1007   36.4 小结 1010 序言

    标签:

    上传时间: 2013-11-16

    上传用户:xinyuzhiqiwuwu

  • 《C51单片机及C语言知识点必备秘籍》电子发烧友网创新系列电子书

      电子发烧友网讯:应广大电子发烧友网读者要求,本电子书《C51单片机及C语言知识点必备秘籍》为《单片机关键知识点全攻略》单片机系列教程及《单片机C语言知识点全攻略》系列单片机C语言学习教程的全整合篇,供所需学习或收藏的工程师及单片机学生、单片机爱好者下载。 点击下载《C51单片机及C语言知识点必备秘籍》电子书   单片机对于初学者来说确实很难理解,不少学过单片机的同学或电子爱好者,甚至在毕业时仍旧是一无所获。基于此,电子发烧友网将整合《单片机关键知识点全攻略》,共分为四个系列,以飨读者,敬请期待!此系列对于业内电子工程师也有收藏和参考价值。   单片机关键知识点一览:   系列一   1:单片机简叙   2:单片机引脚介绍   3:单片机存储器结构   4:第一个单片机小程序   5:单片机延时程序分析   6:单片机并行口结构   7:单片机的特殊功能寄存器   系列二   8:单片机寻址方式与指令系统   9:单片机数据传递类指令   10:单片机数据传送类指令   11:单片机算术运算指令   12:单片机逻辑运算类指令   13:单片机逻辑与或异或指令祥解   14:单片机条件转移指令   系列三   15:单片机位操作指令   16:单片机定时器与计数器   17:单片机定时器/计数器的方式   18:单片机的中断系统   19:单片机定时器、中断试验   20:单片机定时/计数器实验   21:单片机串行口介绍   系列四   22:单片机串行口通信程序设计   23:LED数码管静态显示接口与编   24:动态扫描显示接口电路及程序   25:单片机键盘接口程序设计   26:单片机矩阵式键盘接口技术及   27:关于单片机的一些基本概念   28:实际案例实践——单片机音乐程序设计   继《单片机学习知识点全攻略》得到广大读者好评,根据有网友提出美中不足的是所用单片机编程语言为汇编,基于此,电子发烧友网再接再厉再次为读者诚挚奉上非常详尽的《单片机C语言知识点全攻略》系列单片机C语言学习教程,本教程共分为四部分,主要知识点如下所示。   第一部分知识点:   第一课 建立你的第一个KeilC51项目   第二课 C51HEX文件的生成和单片机   第三课 C51数据类型   第四课 C51常量   第二部分知识点:   第五课 C51变量   第六课 C51运算符和表达式   第七课 运算符和表达式(关系运算符)   第八课 运算符和表达式(位运算符)   第九课 C51运算符和表达式(指针和地址运算符)   第三部分知识点:   第十课 C51表达式语句及仿真器   第十一课 C51复合语句和条件语句   第十二课 C51开关分支语句   第十三课 C51循环语句   第十四课 C51函数   第四部分知识点:   第十五课 C51数组的使用   第十六课 C51指针的使用   第十七课 C51结构、联合和枚举的使用   附录(运算符优先级和结合性等)  

    标签: C51 单片机 C语言 创新

    上传时间: 2013-11-03

    上传用户:Amygdala

  • 缓冲区溢出攻击的原理和防范技术分析

    基于解决缓冲区溢出这一普遍发生的网络安全漏洞的目的,通过软件、硬件技术层面的验证方法,结合人工检查、静态发现技术、动态防御技术等实验手段,得出了在向缓冲区中传输数据时可以通过数组边界检

    标签: 缓冲区 溢出 攻击 技术分析

    上传时间: 2013-10-30

    上传用户:shawvi

  • LINUX系统分析与高级编程技术

    本书介绍Linux环境下的编程方法,内容包括Linux系统命令、 Shell脚本、编程语言(gawk、Perl)、系统内核、安全体系、X Window等,内容丰富、论述全面,涵盖了Linux系统的方方面面。本书附带光盘包括了RedHat Linux系统的最新版本,及安装方法,还包括本书的大量程序代码,极大地方便了读者,为使用和将要使用Linux系统的技术人员提供了较全面的参考。    目      录前言第一篇   Linux系统介绍第1章   Linux简介 …11.1   Linux 的起源 11.2   自由软件基金会的GNU计划 11.3   Linux 的发音 21.4   Linux 的特点 21.5   基本硬件要求 31.6   如何获得Linux 31.6.1   从网上下载Linux 31.6.2   从光盘获得Linux 31.7   涉及Linux 的Web 网址和新闻讨论组 61.8   Linux 的不足之处 7第2章   外壳及常用命令 82.1   登录和退出 82.2   Linux 系统的外壳 82.3   外壳的常用命令 92.3.1   更改帐号密码 92.3.2   联机帮助 92.3.3   远程登录 92.3.4   文件或目录处理 92.3.5   改变工作目录 102.3.6   复制文件 102.3.7   移动或更改文件、目录名称 102.3.8   建立新目录 102.3.9   删除目录 112.3.10   删除文件 112.3.11   列出当前所在的目录位置 112.3.12   查看文件内容 112.3.13   分页查看文件内容 112.3.14   查看目录所占磁盘容量 112.3.15   文件传输 112.3.16   文件权限的设定 122.3.17   检查自己所属的工作组名称 132.3.18   改变文件或目录工作组所有权 132.3.19   改变文件或目录的最后修改时间 132.3.20   文件的链接 132.3.21   文件中字符串的查寻 142.3.22   查寻文件或命令的路径 142.3.23   比较文件或目录的内容 142.3.24   文件打印输出 142.3.25   一般文件的打印 142.3.26   troff 文件的打印 142.3.27   打印机控制命令 142.3.28   进程控制 152.3.29   外壳变量 162.3.30   环境变量 162.3.31   别名 162.3.32   历史命令 172.3.33   文件的压缩 172.3.34   管道命令的使用 172.3.35   输入/输出控制 182.3.36   查看系统中的用户 182.3.37   改变用户名 182.3.38   查看用户名 182.3.39   查看当前系统上所有工作站       的用户 192.3.40   与某工作站上的用户交谈 192.3.41   检查远程系统是否正常 192.3.42   电子邮件的使用简介 19第3章   Linux系统的网络功能 213.1   Linux支持的网络协议 213.1.1   TCP/IP 213.1.2   TCP/IP 版本 6 213.1.3   IPX/SPX 213.1.4   AppleTalk 协议集 213.1.5   广域网 223.1.6   ISDN 223.1.7   PPP、SLIP及PLIP 223.1.8   业余无线电 223.1.9   ATM 223.2   Linux系统下的文件共享和打印共享 223.2.1   Machintosh 环境 223.2.2   Windows 环境 223.2.3   Novell 环境 233.2.4   UNIX 环境 233.3   Linux系统中的Internet/Intranet功能 233.3.1   邮件 233.3.2   Web 服务器 243.3.3   Web 浏览器 243.3.4   FTP 服务器和客户机 243.3.5   新闻服务 243.3.6   域名系统 243.3.7   DHCP和 bootp 243.3.8   NIS 243.4   Linux系统下应用程序的远程执行 243.4.1   Telnet 253.4.2   远程命令 253.4.3   X Window 253.5   Linux系统的网络互连功能 253.5.1   路由器 253.5.2   网桥 253.5.3   IP伪装 253.5.4   IP统计 263.5.5   IP 别名 263.5.6   流量限制器 263.5.7   防火墙 263.5.8   端口下传 263.5.9   负载平衡 263.5.10   EQL 273.5.11   代理服务器 273.5.12   按需拨号 273.5.13   管道、移动IP和虚拟个人网络 273.6   Linux系统中的网络管理 273.6.1   Linux系统下的网络管理应用程序 273.6.2   SNMP 283.7   企业级Linux网络 283.7.1   高可用性 283.7.2   RAID 283.7.3   冗余网络 28第4章   Linux系统管理简介 294.1   root 帐号 294.2   启动和关闭系统 294.2.1   从软盘启动 294.2.2   使用LILO 启动 294.2.3   关闭Linux系统 304.3   挂接文件系统 304.3.1   挂接软盘 304.3.2   创建新的文件系统 304.3.3   卸载文件系统 314.4   检查文件系统 314.5   使用文件作为交换区 314.6   系统和文件的备份 324.7   设置系统 334.7.1   设置系统名 334.7.2   使用维护磁盘 334.7.3   重新设置root 帐号口令 334.7.4   设置登录信息 33第二篇   Linux高级语言及管理编程第5章   外壳编程 355.1   创建和运行外壳程序 355.1.1   创建外壳程序 355.1.2   运行外壳程序 355.2   使用外壳变量 365.2.1   给变量赋值 365.2.2   读取变量的值 375.2.3   位置变量和其他系统变量 375.2.4   引号的作用 375.3   数值运算命令 385.4   条件表达式 405.4.1   if 表达式 405.4.2   case 表达式 415.5   循环语句 425.5.1   for 语句 435.5.2   while 语句 435.5.3   until 语句 445.6   shift 命令 445.7   select 语句 455.8   repeat 语句 465.9   子函数 46第6章   gawk语言编程 486.1   gawk的主要功能 486.2   如何执行gawk程序 486.3   文件、记录和字段 486.4   模式和动作 496.5   比较运算和数值运算 506.6   内部函数 506.6.1   随机数和数学函数 516.6.2   字符串的内部函数 516.6.3   输入输出的内部函数 526.7   字符串和数字 526.8   格式化输出 526.9   改变字段分隔符 546.10   元字符 546.11   调用gawk程序 556.12   BEGIN和END 556.13   变量 566.14   内置变量 566.15   控制结构 576.15.1   if 表达式 576.15.2   while 循环 576.15.3   for 循环 586.15.4   next 和 exit 586.16   数组 586.17   用户自定义函数 586.18   几个实例 59第7章   Perl语言编程 607.1   什么是Perl 607.2   Perl的现状 607.3   初试Perl 607.4   Perl变量 607.4.1   标量 607.4.2   数组 637.4.3   相关数组 657.5   文件句柄和文件操作 657.6   循环结构 667.6.1   foreach循环 667.6.2   判断运算 667.6.3   for循环 677.6.4   while 和 until循环 677.7   条件结构 677.8   字符匹配 687.9   替换和翻译 697.9.1   替换 697.9.2   翻译 707.10   子过程 707.10.1   子过程的定义 707.10.2   参数 707.10.3   返回值 707.11   Perl程序的完整例子 71第三篇   Linux系统内核分析第8章   Linux内核简介 738.1   系统初始化 738.2   系统运行 738.3   内核提供的各种系统调用 748.3.1   进程的基本概念和系统            的基本数据结构 748.3.2   创建和撤消进程 748.3.3   执行程序 748.4   存取文件系统 75第9章   系统进程 769.1   什么是进程 769.2   进程的结构 769.3   进程调度 789.4   进程使用的文件 799.5   进程使用的虚拟内存 809.6   创建进程 819.7   进程的时间和计时器 819.7.1   实时时钟 819.7.2   虚拟时钟 819.7.3   形象时钟 819.8   程序的执行 829.8.1   ELF文件 829.8.2   脚本文件 82第10章   内存管理 8310.1   内存管理的作用 8310.2   虚拟内存的抽象模型 8310.3   按需装入页面 8410.4   交换 8510.5   共享虚拟内存 8510.6   存取控制 8510.7   高速缓存 8610.7.1   缓冲区高速缓存 8610.7.2   页面高速缓存 8610.7.3   交换高速缓存 8610.7.4   硬件高速缓存 8610.8   系统页面表 8610.9   页面的分配和释放 8710.9.1   页面的分配 8810.9.2   页面的释放 8810.10   内存映射 8810.11   请求调页 8910.12   页面高速缓存 8910.13   内核交换守护进程 90第11章   进程间通信 9111.1   信号机制 9111.2   管道机制 9211.3  System V IPC 机制  9311.3.1   信息队列 9311.3.2   信号量 9411.3.3   共享内存 96第12章   PCI 9812.1   PCI 系统 9812.2   PCI地址空间 9812.3   PCI设置头 9912.4   PCI I/O 和 PCI 内存地址 10012.5   PCI-ISA桥 10012.6   PCI-PCI 桥 10012.7   PCI初始化 10112.7.1   Linux系统内核有关PCI的      数据结构 10112.7.2   PCI 设备驱动程序 10212.7.3   PCI BIOS 函数 10512.7.4   PCI Fixup 105第13章   中断和中断处理 10613.1   中断 10613.2   可编程中断控制器 10613.3   初始化中断处理的数据结构 10713.4   中断处理 108第14章   设备驱动程序 10914.1   硬件设备的管理 10914.2   轮询和中断 11014.3   直接内存存取 11014.4   内存 11114.5   设备驱动程序和内核之间的接口 11114.5.1   字符设备 11214.5.2   块设备 11314.6   硬盘 11314.6.1   IDE 硬盘 11514.6.2   初始化IDE 硬盘子系统 11514.6.3   SCSI 硬盘 11514.6.4   初始化 SCSI 磁盘子系统 11614.6.5   传递块设备请求 11814.7   网络设备 11814.7.1   网络设备文件名 11814.7.2   总线信息 11814.7.3   网络接口标记 11914.7.4   协议信息 11914.7.5   初始化网络设备 119第15章   文件系统 12115.1   Linux文件系统概述 12115.2   ext2文件系统 12215.2.1   ext2的索引节点 12215.2.2   ext2超级块 12415.2.3   ext2 数据块组描述符 12415.2.4   ext2 中的目录 12515.2.5   在ext2 文件系统中查找文件 12515.2.6   改变ext2 文件系统中文件             的大小 12615.3   VFS 12715.3.1   VFS 超级块 12815.3.2   VFS 索引节点 12915.3.3   登记文件系统 12915.3.4   挂接文件系统 13015.3.5   在VFS中查找文件 13115.3.6   撤消文件系统 13115.3.7   VFS 索引节点缓存 13215.3.8   VFS目录缓存 13215.4   缓冲区缓存 13315.5   /proc 文件系统 135第16章   网络系统 13616.1   TCP/IP 网络简介 13616.2   TCP/IP网络的分层 13716.3   BSD 套接口 13816.4   INET套接口层 14016.4.1   创建BSD 套接口 14116.4.2   给INET BSD 套接口指定地址 14116.4.3   在INET BSD套接口上创建连接 14216.4.4   监听INET BSD 套接口 14216.4.5   接收连接请求 14316.5   IP 层 14316.5.1   套接口缓冲区 14316.5.2   接收IP数据包 14416.5.3   发送IP数据包 14416.5.4   数据碎片 14416.6   地址解析协议 145第17章   系统内核机制 14717.1   Bottom Half处理 14717.2   任务队列 14817.3   计时器 14917.4   等待队列 14917.5   信号量 150第四篇   Linux系统高级编程第18章   Linux内核模块编程 15118.1   一个简单程序Hello World 15118.2   设备文件 15218.3    /proc文件系统 15618.4   使用/proc输入 15818.5   与设备文件通信 16218.6   启动参数 16918.7   系统调用 17018.8   阻塞进程 17218.9   替换printk 17718.10   调度任务 178第19章   有关进程通信的编程 18119.1   进程间通信简介 18119.2   半双工UNIX管道 18119.2.1   基本概念 18119.2.2   使用C语言创建管道 18219.2.3   创建管道的简单方法 18519.2.4   使用管道的自动操作 18719.2.5   使用半双工管道时的注意事项 18819.3   命名管道 18819.3.1   基本概念 18819.3.2   创建FIFO 18819.3.3   FIFO操作 18919.3.4   FIFO的阻塞 19019.3.5    SIGPIPE信号 19019.4   System V IPC 19019.4.1   基本概念 19019.4.2   消息队列基本概念 19119.4.3   系统调用msgget() 19419.4.4   系统调用msgsnd() 19519.4.5   系统调用msgctl() 19719.4.6   一个msgtool的实例 19919.5   使用信号量编程 20119.5.1   基本概念 20119.5.2   系统调用semget() 20219.5.3   系统调用semop() 20319.5.4   系统调用semctl() 20419.5.5   使用信号量集的实例:semtool 20519.6   共享内存 20919.6.1   基本概念 20919.6.2   系统内部用户数据结构             shmid_ds 20919.6.3   系统调用shmget() 21019.6.4   系统调用shmat() 21119.6.5   系统调用shmctl() 21119.6.6   系统调用shmdt() 21219.6.7   使用共享内存的实例:shmtool 212第20章   高级线程编程 21520.1   线程的概念和用途 21520.2   一个简单的例子 21520.3   线程同步 21720.4   使用信号量协调程序 21820.5   信号量的实现 22020.5.1   Semaphore.h 22020.5.2   Semaphore.c 221第21章   Linux系统网络编程 22521.1   什么是套接口 22521.2   两种类型的Internet套接口 22521.3   网络协议分层 22521.4   数据结构 22521.5   IP地址和如何使用IP地址 22621.5.1   socket() 22621.5.2   bind() 22621.5.3   connect() 22721.5.4   listen() 22821.5.5   accept() 22821.5.6   send() 和 recv() 22921.5.7   sendto() 和 recvfrom() 23021.5.8   close() 和 shutdown() 23021.5.9   getpeername() 23121.5.10   gethostname() 23121.6   DNS 23121.7   客户机/服务器模式 23221.8   简单的数据流服务器程序 23221.9   简单的数据流客户机程序 23421.10   数据报套接口 23521.11   阻塞 237第22章   Linux I/O端口编程 24022.1   如何在 C 语言下使用I/O端口 24022.1.1   一般的方法 24022.1.2   另一个替代方法: /dev/port 24122.2   硬件中断 与 DMA 存取 24122.3   高精确的时间 24122.3.1   延迟时间 24122.3.2   时间的量测 24322.4   使用其他程序语言 24322.5   一些有用的 I/O 端口 24322.5.1   并行端口 24322.5.2   游戏端口 24422.5.3   串行端口 245第五篇   Linux系统安全分析第23章   系统管理员安全 24723.1   安全管理 24723.2   超级用户 24723.3   文件系统安全 24723.3.1   Linux文件系统概述 24723.3.2   设备文件 24823.3.3   /etc/mknod命令 24923.3.4   安全考虑 24923.3.5   find命令 25023.3.6   secure程序 25023.3.7   ncheck命令 25023.3.8   安装和拆卸文件系统 25023.3.9   系统目录和文件 25123.4   作为root运行的程序 25123.4.1   启动系统 25123.4.2   init进程 25123.4.3   进入多用户 25223.4.4   shutdown命令 25223.4.5   系统V的cron程序 25223.4.6   系统V版本2之后的cron程序 25223.4.7   /etc/profile 25323.5   /etc/passwd文件 25323.5.1   口令时效 25323.5.2   UID和GID 25423.6   /etc/group文件 25423.7   增加、删除和移走用户 25423.7.1   增加用户 25423.7.2   删除用户 25523.7.3   将用户移到另一个系统 25523.8   安全检查 25523.8.1   记帐 25523.8.2   其他检查命令 25623.8.3   安全检查程序的问题 25623.8.4   系统泄密后怎么办 25723.9   加限制的环境 25823.9.1   加限制的外壳 25823.9.2   用chroot()限制用户 25823.10   小系统安全 25923.11   物理安全 25923.12   用户意识 26023.13   系统管理员意识 26123.13.1   保持系统管理员个人的               登录安全 26123.13.2   保持系统安全 261第24章   系统程序员安全 26324.1   系统子程序 26324.1.1   I/O子程序 26324.1.2   进程控制 26324.1.3   文件属性 26424.1.4   UID和GID的处理 26524.2   标准C程序库 26524.2.1   标准I/O 26524.2.2   /etc/passwd的处理 26624.2.3   /etc/group的处理 26724.2.4   加密子程序 26824.2.5   运行外壳 26824.3   编写安全的C程序 26824.3.1   需要考虑的安全问题 26824.3.2   SUID/SGID程序指导准则 26924.3.3   编译、安装SUID/SGID程序             的方法 26924.4   root用户程序的设计 270第25章   Linux系统的网络安全 27225.1   UUCP系统概述 27225.1.1   UUCP命令 27225.1.2   uux命令 27225.1.3   uucico程序 27325.1.4   uuxqt程序 27325.2   UUCP的安全问题 27325.2.1   USERFILE文件 27325.2.2   L.cmds文件 27425.2.3   uucp登录 27425.2.4   uucp使用的文件和目录 27425.3   HONEYDANBER UUCP 27525.3.1   HONEYDANBER UUCP与           老UUCP的差别 27525.3.2   登录名规则 27625.3.3   MACHINE规则 27725.3.4   组合MACHINE和LOGNAME             规则 27825.3.5   uucheck命令 27825.3.6   网关 27825.3.7   登录文件检查 27925.4   其他网络 27925.4.1   远程作业登录 27925.4.2   NSC网络系统 28025.5   通信安全 28025.5.1   物理安全 28025.5.2   加密 28125.5.3   用户身份鉴别 28225.6   SUN OS系统的网络安全 28325.6.1   确保NFS的安全 28325.6.2   NFS安全性方面的缺陷 28425.6.3   远程过程调用鉴别 28425.6.4   Linux鉴别机制 28425.6.5   DES鉴别系统 28525.6.6   公共关键字的编码 28625.6.7   网络实体的命名 28625.6.8   DES鉴别系统的应用 28725.6.9   遗留的安全问题 28725.6.10   性能 28825.6.11   启动和setuid程序引起的问题 28825.6.12   小结 289第26章   Linux系统的用户安全性 29026.1   口令安全 29026.2   文件许可权 29026.3   目录许可 29126.4   umask命令 29126.5   设置用户ID和同组用户ID许可 29126.6   cp mv ln和cpio命令 29126.7   su和newgrp命令 29226.7.1   su命令 29226.7.2   newgrp命令 29226.8   文件加密 29226.9   其他安全问题 29326.9.1   用户的.profile文件 29326.9.2   ls -a 29326.9.3   .exrc文件 29326.9.4   暂存文件和目录 29326.9.5   UUCP和其他网络 29326.9.6   特洛伊木马 29426.9.7   诱骗 29426.9.8   计算机病毒 29426.9.9   要离开自己已登录的终端 29426.9.10   智能终端 29426.9.11   断开与系统的连接 29426.9.12   cu命令 29526.10   保持帐户安全的要点 295第六篇   X window系统的内部结构和使用第27章  X Window系统的基本知识 29727.1   X Window系统介绍 29727.1.1   X的特点 29727.1.2   什么是窗口系统 29827.1.3   X发展的历史 29927.1.4   X的产品 29927.1.5   MIT发行的X 29927.2   X的基本结构 30227.2.1   X 的基本元素 30327.2.2   服务程序和客户程序如何             交互通信 30427.2.3   X 的网络概况 30627.3   从用户界面的角度概观X 30727.3.1   管理界面:窗口管理器 30727.3.2   应用程序界面和工具箱 30927.3.3   其他系统角度 30927.4   术语和符号 31027.4.1   术语 31027.4.2   符号 31127.5   启动和关闭X 31227.5.1   启动X 31227.5.2   执行X程序的方式 31327.5.3   关闭X 31427.6   窗口管理器基础—uwm 31527.6.1   什么是窗口管理器 31527.6.2   启动uwm 31527.6.3   基本窗口操作 —uwm             的菜单 31527.6.4   移动窗口 31627.6.5   重定窗口大小 31627.6.6   建立新窗口 31627.6.7   管理屏幕空间 31827.6.8   中止应用程序窗口 32027.6.9   激活uwm菜单的其他方式 32027.7   使用 x的网络设备 32027.7.1   指定远程终端机—display             选项 32127.7.2   实际使用远程的显示器 32227.7.3   控制存取显示器—xhost 32227.8   终端机模拟器—详细介绍xterm 32327.8.1   选择xterm功能—菜单与       命令行选项 32327.8.2   滚动xterm屏幕 32427.8.3   记录与终端机的交互过程—写           记录 32527.8.4   剪贴文本 32527.8.5   使用Tektronix模拟功能 32627.8.6   使用不同的字体 32727.8.7   使用颜色 32727.8.8   其他xterm选项 32727.8.9   设定终端机键盘 328第28章   实用程序和工具 32928.1   实用程序 32928.2   保存、显示和打印屏幕图像 33028.3   使用X的应用程序 33228.3.1   文字编辑器—Xedit 33328.3.2   邮件/信息处理系统—xmh 33628.4   示例和游戏程序 33628.4.1   找出通过随机迷宫的             路径—maze 33628.4.2   担任鼠标指针的大眼睛—             xeyes 33628.4.3   智慧盘游戏—puzzle 33728.4.4   打印一个大X标志—xlogo 33728.4.5   跳动的多面体—ico 33728.4.6   动态几何图案—muncher与             plaid 33728.7   显示信息和状态的程序 33728.7.1   列出X服务程序的特征—    xdpyinfo 33828.7.2   获取有关窗口的信息 33828.7.3   观察X的事件—xev 340第29章   定制X Window系统 34129.1   使用X的字体和颜色 34129.1.1   字体初步 34129.1.2   字体命名 34229.1.3   观察特定字体的内容—xfd 34329.1.4   保存字体和位置 34329.1.5   例子:在你的服务程序中      增加新字体 34529.1.6   使用X的颜色 34629.2   定义和使用图形 34729.2.1   系统图形程序库 34729.2.2   交互编辑图形—bitmap 34729.2.3   编辑图形的其他方法 34929.2.4   定制根窗口—xsetroot 34929.3   定义应用程序的缺省选项—           Resources 35029.3.1   什么是资源 35029.3.2   XToolkit 35129.3.3   管理资源—资源管理器 35329.3.4   资源的类型—如何指定值 35829.4   实际使用资源 35929.4.1   在何处保存资源的缺省值 35929.4.2   在服务程序上保存缺省值—    xrdb 36329.4.3   常见的错误和修正 36629.5   定制键盘和鼠标 36729.5.1   实际使用转换 36829.5.2   转换—格式和规则 37429.5.3   转换规范中常见的问题 37729.6   键盘和鼠标—对应和参数 37929.6.1   键盘和鼠标映射—xmodmap 37929.6.2   键盘和鼠标参数设定—xset 38229.7   进一步介绍和定制uwm 38429.7.1   uwm的新特征 38429.7.2   定制uwm 38629.8   显示器管理器—xdm 39029.8.1   需要做些什么 39029.8.2   xdm 39129.8.3   xdm的更多信息 39229.8.4   uwm配置 395附录A   Gcc使用介绍 396附录B   安装X Window窗口系统 410

    标签: LINUX 系统分析 高级编程

    上传时间: 2013-11-10

    上传用户:changeboy