1.函数的声明:对编译系统的一个说明,通知系统在本函数所调用的函数是什么样的类型
特点:仅声明函数可以不创建函数,调用时必须调用函数
声明可以只有参数类型,参数名省略
声明必须在调用之前的任何位置,
2.C语言头文件:stdio.h文件
定义:新建一个.h结尾的文件,把需要用到的函数声明直接放在里面
引用:自定义的头文件:#include "文件名.h"
编译器类库里的头文件:#include<头文件.h>
特点:在头文件中仅做声明,不做具体实现
头文件声明只能确保编译成功.o文件,但不能链接成功
自定义的头文件引用必须要有路径
3.#include预处理命令:用于把一个文件的内容拷贝到着个命令行所在的位置
特点:可以定义在函数内也可以放在函数外
必须包含路径.省略./表示当前路径 /开头表示绝对路径 ../表示上一层路径
以#开头,后面不能加分号;
必须定义在使用之前,否则可以编译否则可以编译通过生成.o文件,但不能链接成功
4.进制转换;
二进制与八进制的互转:每3个2进制表示一个8进制:因为0b111==07(8进制每位最大值是7)
二进制与十六进制的互转:每4个2进制表示一个16进制:因为ob1111==0xF(16进制最大值是F)
注意:二进制是进制转化的中间桥梁, 二进制不可以直接输出
4.类型说明符:是C语言中用来说明某个变量是什么类型的关键字,int float signed unsigned
便于区分及优化内存
类型说明符可以累加,如果省略了基本数据类型,那么数据类型是int
long和short只能修饰基本数据类型
有符号的char类型是-128-127;signed char;signed可省略
如果是无符号char类型:0-255;unsigned char
浮点型只有有符号类型,没有无符号类型
5位运算:是直接对整数在内存中的二进制位进行操作的方法(只能操作整型数据)
直接通过操作二进制位来实现运算,高效
&与运算对应两个均为1时,结果为1,否则为0
|或运算:对应的两个二进位有一个为1时,结果就为1,否则为0
^异或运算:对应;二进位不同时为1,否则为0
注意:相同整数相^结果为0,一个数^另一个数两次结果不变3,整数相^跟顺序无关
~取反运算:对整数a的各个二进位全部取反,包括符号位
<<左移:把整数a各个二进位全部左移n位,高位丢弃(包括符号位),低位补0
左移n位其实就是乘以2的n次方(但移动后符号位变化除外,符号位改变则正负改变)
>>右移:把整数a的二进位全部右移n位,符号位不变,高位空缺是整数补0;是负数高位补0或是补 1取决与编译系统的规定;右移n位其实是除以2的n次方
6.数组:是用来存储一组数据的容器
用于吧同一类的一组数据同意管理起来
特点:数组必须定义长度,定义时初始化或之后单独初始化
数组是有序的,每个数据都有角标,从0开始分配,角标不能>=数组长度,类型一致
数组有地址,里面的元素也有地址,数组当参数时传递的是地址
数组当参数传递是指针类型,所以如果用数组长度额外传递
|
|