#位运算符:
**概念:**位运算符用来对整型或字符型数据的二进制位(补码)进行操作。
##&按位与:
两个操作数中位都为1,结果才为1,否则结果为0。
```c
1&0=0,1&1=1,0&0=0
```
##|按位或:
两个位只要有一个为1,那么结果就是1,否则就为0。
```c
1|0=1,1|1=1,0|0=0
```
##^按位异或:
两个操作数的位中,相同则结果为0,不同则结果为1。
```c
1^1=0,1^0=1,0^- 阅读剩余部分 -
#字符处理函数

判断一个字符是否是字母中的一员: 如果是返回非0数字,如果不是返回0。
 
to- 阅读剩余部分 -
## 打开文件:
```c
FILE *文件指针 = fopen("文件目录","打开方式")
```
以只读方式打开1.txt
**文件打开类型:**

##文件指针位置:
**更改文件指针位置:**
```c- 阅读剩余部分 -
## 参数介绍
**argc**是命令行总的参数个数
**argv[]**为保存命令行参数的字符串指针,其中第0个参数是程序的全名,以后的参数为命令行后面跟的用户输入的参数,argv参数是字符串指针数组,其各元素值为命令行中各字符串(参数均按字符串处理)的首地址。 指针数组的长度即为参数个数argc。数组元素初值由系统自动赋予。比如:
```c
int main(int argc, char* argv[])
{
int - 阅读剩余部分 -
**sizeof**与**strlen**是有着本质的区别,**sizeof**是求**数据类型**所占的空间大小,而strlen是求字符串的长度,字符串以/0结尾。
区别如下: (1) **sizeof**是一个C语言中的一个单目运算符,而**strlen**是一个函数,用来计算字符串的长度。
**如何在malloc时选择用strlen还是sizeof?**
一个是数据类型,一个是字符长度,不一样
```c
例:char string[] = "hellow- 阅读剩余部分 -
## 基本格式:
```c
#include //导入头文件
int main (arg) //创建函数头
{ //大括号内的是一个函数体
printf("hello\n"); //执行命令
return 0; //设置return回显 0:代表执行成功 其他代表失败
}
```

**注释: **
```- 阅读剩余部分 -
## 内存与指针的基本概念
#### 内存地址概念
**介绍:**一个32位的电脑的一块内存中分为多个单元,每个单元为1个字节,每个字节中有8位bits,一块内存中总共有2^32个字节,从0到2^(32-1),在内存中以16进制0x00000000到0xffffffff表示
例1:下图设置了一个变量ch,它就在内存中找了一块地址存入这个变量ch的值'w',这个变量的内存地址是0x00000004
例2:下图又创建了一个变量a,它在内存中占了4个字节每个字节占一个地址,- 阅读剩余部分 -
#结构体
**介绍:**结构体是一种自定义数据类型,结构体变量代表的结构体类型的数据对象作为一个整体存储在内存中。
**结构体的基本语法:**

可以看做为一个数据库的表,在表内规定每个字段的格式类型。也可以看做一个类,先定义好类成员的数据类型然后让我们去生成实例。 **定义完结构体需要加分号!**
:Ctrl+F5
终止调试: Shift+F5
重新开始调试: Ctrl+Shift+F5
单步执行(遇到函数不进入函数体): F10
单步执行(遇到函数进入函数体): F11
跳出函数体/跳到下一个断点: Shift +
# 数组:
## 数组简介:
整型数组:放了整型数据的数组

二维数组:放了多个一维数组的一维数组,是线性的,不存在行列

指针数组:存放了char型指针的数组

 
#### 主函数main:
1.C语言优先执行并且只执行主函数ma- 阅读剩余部分 -