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) |