Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29336705
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: C/C++

2009-10-10 22:01:25

1.将C的基础看完。马上做一个小项目。做一个类似于网络抓包的工具软件。实现的功能就是抓数据处理!

1.结构化程序设计方法:

数据定义:
  1.数据类型
  2.存储类型
  3.作用域
数据类型:基本数据类型、构造数据类型、指针类型、空类型
基本类型:整形、字符型、实型、枚举类型
构造类型:数组类型、结构体类型、共用体类型
指针类型
空类型

常量不可变、而且是可以不经说明就可以使用的。而变量是必须先定义再使用。

符号常量:形式为 #define 标识符 常量

使用符号常量的好处:一改全改!
比如一般的网站 的配置如果修改了常量整站进行修改了!方便!

1. '' 是字符  "" 是字符串!

2.C语言基本类型的分类及特点
字符型       char
整形         int
短整形       short int
长整型       long int
无符号型      unsigned
无符号长整型  unsigned long
单精度实型    float
双精度实型    double
常量后缀  L或l长整形  U或u无符号数  F或f浮点数

一个完整的C项目的结构如下:
                         C程序
 源程序文件1             源程序文件2          源程序文件3
          预处理命令    全局变量   函数1   函数2
                        局部变量声明       执行语句
一个完整的项目里面只能有一个main函数在的。切记!

在C里面切记要用函数进行功能性的封装操作!
控制语句:
条件if  switch
while  do while  for
转向语句 break  goto  continue  return
空语句   ; 只有分号的语句称为空语句


输入输出:字符数据的输入输出
putchar函数 字符输出函数
putchar(字符变量)  输出单个字符

getchar函数 键盘输入函数

C语言里面的循环:
1.使用goto 与 if构成的循环
2.使用for
3.使用while或do - while操作!

continue用来与IF一起使用的目的是为了能够加速循环!哈哈
while 1:
    if a > b:
        continue / pass
讨论一下到底是用哪个要好呢?想想看吧!



数组:
   一维数组 的定义方式:
  类型说明符  数组名 [常量表达式]
int arr[9];
其中的类型说明符表示的是:目前数组里面的元素的类型是什么。比如说我定义了int类型的数组那里面的全部元素都是int类型的!
数组下标从0开始的!

引用数组元素:数组名[下标]

一维数组的初始化: 类型 名称[常量] = {值,值}
int a[1] = {1};
赋值的时候要知道,可以给全部的元素赋值也可以赋部分的值。

二维数组的定义方式:
  类型说明符  数组名[][]
引用的方式也是 这样的哦!

初始化

数组:数组名代表的是数组的首地址。其它的值是一片连续的内存地址空间。

C语言的函数。也可以称之为函数式语言。全部的功能模块都封装到了函数了!
无参函数的定义形式:
类型标识符  函数名()
{
  声明部分
  语句
}

无返回值即使用void 关键字

有参数的函数定义格式:
类型标识符  函数名(形参列表){
  声明部分
  语句
}

函数的形参与实参:
形参只有在被调用时才分配内存。调用结束后即释放掉内存。即形参只有在函数内部有效。
实参的类型:常量、变量、表达式、函数。
实参与形参在数量与类型上面保持一致
实参与形参传值是单向的!

从变量的存在时间来看:静态存储与动态存储
静态:运行期间分配固定存储空间方式
动态:依据需要动态分配

C里面也有static变量。即函数结束后其值没有消失!


9.预处理命令
无参宏定义:#define 标识符 字符串
文件包含:将指定的文件插入该命令行位置取代该命令行。从而将指定的文件和当前的源程序文件连接成一个源文件了!
文件包含的好处:一个大的程序可以分为多个模块,这样的话我们可以将一些公共的东西抽取成一个单独的文件。其他地方如果需要就直接包含进来即可!
文件包含的两种形式的区别:
<> 是直接到包含文件中去查找
"" 是在源文件目录查找如果找不到再去包含文件中查找!

条件编译:
#ifdef 标识符
  程序段1
#else
  程序段2
#endif

第二种形式:
#ifndef 标识符
  程序段1
#else
  程序段2
#endif

第三种形式:
#if 常量表达式
  程序段1
#else
  程序段2
#endif

指针:
   内存单元的编号定义为地址。通过这个地址我们能够找到所需的内存单元!
内存单元来说,单元的地址是指针,而其中存放的数据才是这个单元的内容!

变量 存放指针! 这个变量叫指针变量 这样的话一个指针变量的值就是指针(内存单元地址)

指针:地址它是一个常量!
指针变量是取值为地址的变量。

*表示指向 a代表指针变量,而*a是a所指向的变量

指针变量定义:
类型说明符  * 变量名
类型说明符表示的是本指针所指向的变量的数据类型。

指针变量一定要赋值如果没有赋值 可能会死机。
介绍两个运算符:
&:取地址运算符
*间接访问运算符

int a;
&a;表示取a的地址
例如 
 int a;
 int *p;
 p = &a;
这样实现赋值运算处理!




阅读(1588) | 评论(3) | 转发(0) |
给主人留下些什么吧!~~

pikyshen2009-10-25 21:57:03

比较用功。。。

chinaunix网友2009-10-20 10:23:52

急聘 网络兼职人员,100元/天!工资日结 详情看公司招聘:http://soho.33se.cn/?75832.asp 邮箱:sohotianlian@126.com

superwoman772009-10-14 09:19:30

支持,继续关注你写的。