【C语言】学习记录

1、开发环境

VMware Workstation是什么:VM是一个模拟一台电脑的软件

Linux操作系统:选择用Linux系统种的Ubuntu系统,因为它图形界面,和windows很相似,对于初学者来说是很方便的!

与Linux系统的交互:可以使用双击或者拖拽,本质是去执行对应的命令!尽可能的去使用命令!直接执行命令效率是高的!

2、Linux目录结构

Windows系统中:几个磁盘我就有几棵倒置的树

Linux系统目录结构:只有一棵倒置的树,并且树的根 / 就是根目录

 Linux系统系统是支持多用户,你用哪个用户登录,终端中就会显示哪个用户名

~表示家

文件系统:我们常见的有NTFS  FAT   管理磁盘的管理工具

何为文件系统:用来组织数据存储介质上的存储方式或者检索方式

注意:没有特殊的需要,不要乱操作/目录下的内容

 3、Linux基本命令

Linux系统一切皆为文件,命令都时小写的

使用命令的格式:命令名 操作的内容

ls:列出当前所在目录下的内容

ls -a:列出当前所在目录下所有的内容,包括了隐藏的内容(.开头的和..开头的)

ls 文件夹名字或者路径:列出指定路径下的内容

如果你不清楚这个命令是用来做什么, 使用 man 命令去查看说明

格式: man  需要查看的哪个命令的名字,主要看  name即可

cd:切换目录,换路径的

cd .. :返回到上一级目录下

cd .:当前目录

cd /:切换到根目录下

cd 路径名字:切换到指定的目录下

cd ~:切换到自己的家目录下

cd -:返回到你上一次操作的哪个目录下

clear:清空屏幕 

也可以使用快捷键Ctrl+L

mkdir:创建目录/文件夹路径

touch:创建文件/路径

可以同时创建很多个文件 格式:touch 文件名1 文件名2 ….

rm: 删除文件/路径

rmdir:删除空目录

rm -r:删除文件夹/路径  (空目录或者非空目录都可以删除)

rm -i:删除的时候会有提示   y   n

拷贝命令:

cp 需要拷贝文件/路径 目标路径

拷贝整个目录:

cp -r 原文件夹/路径  目标路径

移动命令:

mv 原文件/路径  目标路径

mv:重命名

格式: mv  原文件名   新名字

4、写代码用到的工具vim 

打开文件:vim 文件名,如果这个文件存在的话,直接打开;如果文件不存在,会新建一个

Vim文本编辑器它有三种模式:

插入模式:只有在这种模式下才可以编辑

命令行模式:输入命令的,复制黏贴等操作

底行模式:输入命令的,保存文件、退出等操作的

模式之间的切换:

 命令行模式切换到插入模式:键盘输入i即可

 插入模式切换到命令行模式:按键盘上的ESC  

底行模式:命令行模式键入shift + :

在底行模式下:wq 保存并退出,w 保存,q 退出,q! 强制退出

5、gcc编译

C语言的源程序代码是给程序员去看;但是计算机只能识别01这样子的二进制数据

将.c源文件转换为计算机能识别的二进制文件用,gcc编译器来完成这个动作

工作的4个步骤:

预处理、编译、汇编、链接就可以得到可执行文件

预处理:gcc -E .c源文件 -o  目标.i   

编译:gcc -S 目标.i  -o   目标.s

汇编:gcc -c 目标.s  -o   目标.o

链接:gcc 目标.o -o  目标

执行可执行文件:./可执行文件

一步生成:gcc 源文件.c   默认得到的可执行文件的名字: a.out

gcc 源文件名字  -o  目标可执行文件名字

6、C的数据

数据的分类:数值类型数据和非数值类型数据。

数值数据:能够进行算术运算得到明确数值概念的信息成为计算机数值数据

非数值数据:图片、语言、语音等

数值数据表现形式有四种:

  • 二进制:0 ~ 1 给计算机使用 b010101

  • 八进制:0 ~ 7 用0开头的 写代码用的

  • 十进制:0 ~ 10 给人看的 10 20 30

  • 十六进制:0 ~ 9 a ~ f A ~ F 用0X或0x开头

7、关键字---数据类型

关键字:一定都是小写

表示数据类型的关键字:char、double、enum、float、int、long、short、struct、union、void

表示控制语句的关键字:break、case、continue、default、do、else、for、goto、if、switch、

While

表示数据存储类型的关键字:auto、extern、register、static

其他关键字:const、return、sizeof、volatile、typedef、signed、unsigned

注意:内存的基本单位是字节   1字节占8个位

只要是数据,一定要存到内存中,要存到内存中,就需要空间,存的单位是字节。

各种数据类型的数据他们的取值范围是不一样的

8、常量

常量:值是不可以修改的

变量:值是可以修改的

常量分类:

  • 整型常量:10,100

  • 字符常量:'a'

  • 长整型常量:78L

  • 无符号整型常量:78U

  • 浮点型常量:1.2,1.5

  • 字符串常量:"hello world" ---双引号括起来的,是字符串常量,在内存中占12个字节(空格一个,'/0'一个)/0是字符串的结束符号

代码中宏来表示常量

宏定义的格式:#define 名字 数值

本质:就是在预处理的时候把宏直接替换成对应的数据。

总结:宏在使用的过程中就是一个简单的文本替换,只要修改宏对应的值,凡是有用到这个宏的地方,值都会被改掉 

宏还可以用来表示函数,叫宏函数

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值