一 gcc的使用
1.计算机能识别的唯一语言是二进制语言
语言的发展
c语言是中级语言,具有汇编的特性,同时也具备高级语言可移植的特性。不管什么语言要想被计算机运行,必须转换成机器码。
编译器:将源代码编译成可执行多的代码(程序),相同的代码经过不同的编译可以被不同的计算机所执行。
2 Linux系统常用的编译c语言的编译器是:gcc
c语言程序的编译步骤
gcc默认生成的文件名是a.out,如果要定义生成的文件名用命令:gcc -o
3 程序的执行
Linux下执行程序,直接在终端敲文件名,要带上路径(相对路径或者绝对路径)
./a/out 其中./代表路径
4 vim /etc/network/interfaces 网卡配置文件
if down eth0 关闭网卡 if up eth0 开启网卡
二 hello world
1 头文件的包含方式
<> 默认从/uer/include目录下搜索文件
“”“”先在当前目录下搜索下搜索文件,如果没有再去/usr/include下找
#include“”“../stdio。h” 先在当前目录的上一级目录搜索文件,如果没有再去/usr/include下找
2 stdio.h c语言的标准输入输出头文件
3 main
有返回值,返回值为int类型,用来表示程序结束状态,如果程序是正常结束返回0,异常结束返回其他值
c语言有且只有一个返回值,且程序是由main函数开始执行的
4{}代码块
5 return 表明main函数结束,下面的部分都不执行
6 printf()是stdio.h文件中的一个函数。使用这个函数必须包含stdio.h这个头文件
7 注释 1 // 单行注释 /**/ 多行注释
8 编码规范
{下面一行内容和{要有四个空格的缩进
单词之间要有空格
不同的逻辑之间要有空行
9 c语言语句是以;结尾
三 内存
1 程序
(1)没有运行的程序就是一堆代码,存在存储设备中(手机,u盘.....)
(2)运行起来的程序,程序会被读到内存中执行,内存中存该程序的可执行代码,数据
2 存储单位
1 bit 位 是一个二进制数字只能表示0 或者1 单位:b
2 Byte 字节,单位B 1B=8b
3 KB 1KB=1024B=2^10B
4 MB 1MB=1024KB=2^20B
5 GB 1GB=1024MB=2^30B
2 如何管理字节
内存为每个字节分配了一个编号,类似于人的身份证号,这个编号叫做内存的地址
编号的位数是固定的
(1)32位系统 编号是32位 进制二进制 大小:4B
(2)64位系统 编号64位 进制二进制 大小:8B
32位系统,内存编号4字节,最大能存多少个字节
范围:00000........0000000(32个0)--------》111111.......1111111(32个1)
0 2^32-1
总共2^32字节=4G
3 数据存储
内存存的是二进制数据,以1个字节为例:
(1)无符号数:只有正数,不带正负号
范围:00000000-------》11111111 0-----》255
(2)有符号数:带正负号的数
内存取最高值为符号位:0:正数 1:负数
正数在内存中存的是数据本身
负数是取绝对值转换成二进制,对每位取反然后加1
比如5 :在内存中的值是00000101
-5:10000101取反 11111010 加1 11111011
实际内存中的中的值是 11111011
0在内存中表示:00000000
人为规定-0在内存中就是-128 就是说10000000这个值就是-128
(3)有符号数的取值范围
10000000------》01111111 -128------》127
有符号数在一个字节范围内
127+1
127在内存中的存储:011111111
1在内存中的存储 :00000001
和 :10000000