一、Linux
1.Linux系统特点
- 完全免费:用户可以可以通过网上的各种渠道获得,完全开源。
- 安全性高:Linux采取了许多安全措施,对文件的读、写、执行都要严格的把控。
- 多用户:可以被不同的用户使用,每个用户都有自己独特的资源,互不影响。
- 多任务:同时执行多个程序,而同时各个程序运行又是相互独立的。
- 独立性和可移植性:可以适应不同的环境,其内核是不变的。
2.终端的操作
- 打开终端:ctrl+alt+t
- 关闭终端:ctrl+d/exit
3.终端命令
- sudo adduser 用户名 创建用户
- su 用户名 切换用户
- su root 切换到超级用户
- cd 切换命令
- ls 查看文件命令
- mv 移动文件/重命名
- cp 复制文件
- cat test.c 查看test.c文件
- cat etc/sudoers 查看用户数量
- mkdir 创建目录文件
- touch 创建普通文件
- rm -r 删除目录文件
- rm 删除普通文件
- chmod a/g/u/o+r/w/x 文件名 修改文件的权限(u属主,g属组,o其他,a全部)
二、C基础部分
1.基础知识
标识符:程序员可以自己命名的一种符号
标识符的组成:不能是关键字
由英文字母或阿拉伯数字或下划线组成
只能以字母和下划线开头
C语言中的32个关键字:int、char、double、long、short、void、return
float、while、do、break、case、signed、unsigned
extern、const、define、auto、struct、static、sizeof
for、enum、typedef、goto、volatile、continue、register、 switch、default、if、else
基本类型:整型:int、long、short
浮点型:double、float
基本类型对应的输出方式:
int/short:%d long:%ld
float:%f double:%lf
2.三大基本结构
- 顺序结构:就是按照语句在程序中的先后次序一条一条的顺序执行,每个语句都会被到。
- 选择结构:选择语句又称为分支语句,它通过对给定的条件进行判断,从而自行两个分支或 多个分支中其中一条,要么执行A要么执行B。
- 循环结构:是在某些条件下的控制重复执行一段代码语句。
- 顺序结构: if语句
- 分支语句:if(表达式){}else{},if(表达式){} else if(表达式){}
- switch()case
- 循环语句:for循环语句,while循环语句,do while循环语句
- 循环结构典型例题:for循环嵌套输出9*9乘法表与输出如下图形
3.位运算
- 单位的换算:8bite=1B 1024B=1K 1024k=1M 1024M=1G 1024G=1T
- 位运算符:&位与(同1为1否则为0)、|位或(同0为0否则为1)、~取反(0变1,1变0)、^异或(相同为0,不同为1)、<<左移(移动1位*2,移动n位*2^n)、>>右移(移动一位/2,移动n位/2^n)
- 进制的转换:十六进制、十进制、八进制往二进制转换,熟练使用8421码原则。
- 文件的权限:r(可读)w(可写)x(可执行)
4.数组与字符数组
- 一维数组:数组的定义:类型 数组名[常量表达式]
数组名的命名规则和变量名相同,遵循标识符命名规则
注意:定义数组的时候需要指定数组中元素的个数,即数组长度,数组的下标是从0开始的,j举例:假如数组内存放十个数,则数组下标为0—9。
一维数组的输入输出需要使用for循环进行输入。
一维数组需要进行初始化,一维数组常量表达式不能是变量
一维数组练习题:正序输出,逆序输出
冒泡排序的基本理念:两两进行比较然后进行排列,n个数进行排列,需要排列n-1次
二维数组:类型说明 数组名[常量表达式][常量表达式]
二维数组行可以省略。
二维数组典型例题:打擂台的方法,首先取一个数然后比较,较大者提取。
总结
目前C基础已经学习完毕,虽然知识谈不上多难,但是有些细节方面自己还是掌握不好,解题方面条理的分析很重要,在做C语言基础部分的题目时候发现解题的思路很关键,我们首先要把自己的思路理顺再开始写题感觉是比较好的,因为现在自己养成了一个不太好的习惯,在思路没有理顺的情况下,就开始写,然后会通过编译器执行的情况来判断自己思路是否正确,然后通过修改来实现编译成功,所以这样就导致自己的思路不是连贯的,目前感觉这样很不好,一定要养成思路连贯再开始写程序,再一个就是感觉自己需要对程序进行充分的理解和应用,详细的理解其含义,不能感觉自己会了就放过去这样就会导致自己知识学多了以后会很混乱,所以每一个阶段的学习我们都需要不断的重复,到最后可以让我们熟练的掌握学习过的知识。