【知识点1】基本的linux命令操作,操作通过命令来实现
1、 cd:切换目录 切换到某一个文件夹里面去
首先我们要建立一个共享目录,我们写代码更希望用软件在windows下面写
但是最后我们的编译和运行都需要在linux里面,因此我们就需要让windows和linux
之间有一个交流->共享文件夹->这个文件夹里面的东西在windows里面可以操作
在linux里面也可以操作
① player -> 管理 -> 虚拟机设置 -> 选项 -> 共享文件夹 -> 选择总是启用
-> (将里面的文件夹先移除) ->添加->下一步->浏览->找一个自己喜欢的文件夹
或者新建一个(不要在c盘里面操作) ->尽量用英文(文件夹的名字中间尽量不要有空格)
-> 下一步完成确定就可以了
②切换到共享目录
cd /mnt/hgfs/D 在打字的过程中可以按table键自动补齐
2、 我们需要在终端里面操作(黑色的那个框,可以ctrl+alt+t三个组合键打开一个终端)
每一个文件夹里面隐藏两个特殊的文件夹
. 当前目录
.. 上一级目录
cd .
cd ..回到上一级
相对路径与绝对路径:
绝对路径:我们的linux是树形结构 有唯一的一个根 / 表示
从/出发的都是绝对路径
相对路径是从. ..出发的我们叫相对路径
cd ./22248/1.9数据类型/code -> 我们可以省略./
cd 22248/1.9数据类型/code //也可以起到同样的效果
cd ../22248/1.9数据类型/code (这个我还是不太会用)
ls:列举当前目录下面的所有东西
ls
ls -a隐藏的也列举
ls -l以列表列举
ls -al所有的以列表列举
gcc:常用的编译器(大多数使用这个编译器)
gcc main.c -o hehe //这种方式可以自己命名
gcc main.c ->默认生成a.out
找到这个可执行文件即可执行
./a.out 回车即可执行
小总结:
1 切换到共享目录
2 写代码 ->可以用自己喜欢的写代码的软件
3 gcc编译这个代码
4 运行生成的可执行文件
【知识点2】数据类型:
1、问题:
计算机只是人类设计出来解决问题的一个工具,实际上是一个很简单的概念:
计算机只会计算,不会思考
因此你让计算机怎么做它就怎么做,如果计算机做错了,你只能找你自己的原因
计算机怎么去做计算:在计算机里面有一个寄存器 -- 加法器
计算机里面的一切计算都是通过这个加法器来实现的
因此:计算机在计算的时候就必须需要两个对象(数据)、
至少要给两个数据才能去做加法
我们人类做加法也需要数据 -- 这个数据是保存在大脑里面的
计算机也是一样,它想做加法,它就要必须要将所需要的数据保存下来
而保存数据的地方在计算机里面 -> 内存 ->计算机保存数据的地方
程序操作计算机实际上就是操作内存
计算机只能操作内存,那么它就必须要知道内存是什么
换一句话说 -> 计算机必须知道这个数据有多大
内存 -> 内存条(8G)
我们操作的这个数据保存的地方就是这个内存条
如果我们不指定大小 -> 计算机就会将整个内存条里面的东西拿出来
你拿了没有问题,但是系统不允许
举例:100 1000 10000//数字
不同的数据占用的空间不一样
因此想要计算机运行,第一步就必须要让计算机知道你的数据的大小
2、c语言里面是如何去确定这个数据的大小呢?
"定义"--也就是c语言想要运行,第一步就必须要确定数据的大小
而确定数据的大小的过程我们就叫定义,因此c语言也叫"定义性语言"
c语言里面的数据类型:
(1) 基本的数据类型:c语言已经给我们定义好了的,我们只需要拿过来用就可以了
1 整型 ->保存整数
(signed)char/unsigned char 字符型
占用 1byte -> 8bit -> 计算机里面的最小存储单位是字节//只有字节才有地址
(signed)short/unsigned short 短整形
占用 2byte -> 16bit
(signed)int/unsigned int 整形
占用 4byte -> 32bit-> int一般为计算机里面最自然的长度
(signed)long/unsigned long 长整形
32位机4byte
64位机8byte
(signed)long long/unsigned long long 长整形
8byte
在现实中有那种特别大的数 -> 大数据
这种大数据我们一般的处理方式是字符串 "......"
2 浮点型 ->保存小数
float 单精度 4byte
double双精度 8byte
long double 长精度
eg:
float a;
a = 3.15
(2) 构造类型:c语言里面允许程序员自己定义类型
数组 int a[3]; -> int[3] a;
数据类型 变量名;
结构体 -> 描述一个物体的多重属性
struct hehe
{
int a;
char * p;
char c;
};
联合体
枚举
(3) 指针类型(后续有很长的时间去专门搞这个玩意儿)
*
int * p;
(4) 空类型(void)
c语言里面只有三个地方会使用这个void
1 void * 万能指针,什么指针都可以接收
2 void用作函数的返回值,表示此函数没有返回值
void function()
{
.......
return;//这个return后面没有值
}
注意:
没有返回值不代表不返回
3 void用作函数的参数,表示此函数没有参数
void function(void)
{
}
高级一点的编译器已经不需要你写函数参数里面的void
但是在低级编译器里面如果你不写会有警告
整个数据类型定义基本就完了
接下来我们就要通过这些数据类型去定义(保存)数据
c语言里面的,有两种基本的数据对象:常量,变量
【知识点3】常量
1 常量:不能改变意思的这种数据对象
比如有一个数8:你能改变8的意思吗?
你是不能改变8本身自己的意思的
8只能代表8的意思,因此这个8就是常量
1 整形常量:代表一个不能改变意思的整数
8进制:以0开头的我们是8进制
0123
01237
01238是错的 到不了8的
逢8进1
8进制 二进制