🏆 个人主页:🎈 @太阳哥哥 🎈
🎁 本文收录专栏:🎈 C语言学习之路 🎈
🛒 其他专栏:🎈 ARM学习之路 🎈
📝 学习格言:路漫漫其修远兮,吾将上下而求索
💡 欢迎点赞、关注、收藏( •̀ ω •́ )✧ 一起努力,一起学习!
目录
前言
我是使用Linux操作系统来作为C语言的环境编译,为什么使用Linux操作系统进行开发呢?因为Linux操作系统是开源的,有助于各个厂商进行开发使用,所以使用Linux进行我们的C语言学习有助于我们的学习和成长,Linux发行版本比较多,厂商也很多,大家可以按照自己的需求进行下载。
希望跟大家一起学习,一起努力,一起加油!
1、编程环境
我使用的版本
虚拟机环境:VMware-workstation16
虚拟机:Ubuntu20.04 LTS
可自行到官网进行下载安装,网上都有教程
2、Linux基本操作
2.1、终端基本提示符
终端提示符: ubuntu @ubuntu-linux:~$ ubuntu:用户名(当前登录的用户)
分隔符:@:
示当前的工作路径表示符:~
用户权限符:$ 、 #
普通用户表示符:$
超级用户(root)表示符:#
根(起始位置)表示符:/
用户目录(文件夹):/home/xxxx用户名文件夹
2.2、Linux基本命令
mkdir 目录名:在当前工作路径下创建目录
ls : 查看当前工作路径目录的内容清单
cd 目录:切换工作路径到指定目录
进入的绝对路径:从根目录开始 / ,依次目录进行寻找到的路径叫做绝对路径,例如:cd /home/ubuntu/
cd .. :上一级目录
cd . :当前目录
cd :表示家目录,默认到家目录
touch 文件路径/文件名:表示在某个路径下创建文件
vim 文件名:表示打开文件
2.3、编写文本工具
编辑器:vim
输入 vim:打开vim编辑器,这时是一个临时文件
输入 vim + 文件路径:打开指定路径下的文件名
由于vim编辑器工具只有输入界面,没有按钮可以点击,所以所有功能(保存,关闭,查找,复 制、粘贴,剪切)都要靠输入完成
2.3、vim命令大全
2.3.1、编辑命令
r 替换当前字符
J 将下一行合并到当前行
gJ 将下一行无空格合并到当前行
gwip 将下一段合并到当前段
cc 清空当前行,从字符位置进入 插入模式
C 改变/替换当前整行
c$ 从光标位置开始,修改当前行
ciw 改变/替换当前整个单词
cw 从光标位置开始,修改单词
s 删除当前字符,进入插入模式
S 清空当前行,进入插入,同
cc xp 当前字符后移
u 撤销
Ctrl+r 重复 . 再次执行上个命令
yy 复制当前行
2yy 复制 2 行
yw 复制当前单词
y$ 复制, 从光标位置到行末
p 在光标后粘贴
P 在光标前粘贴
dd 剪切当前行
2dd 剪切 2 行
dw 剪切当前单词
D 剪切,从光标位置到行末
d$ 剪切,从光标位置到行末,同 D
x 剪切当前字符
2.3.2、全局命令
:help keyword 打开关键字帮助
:saveas file 另存为
:close 关闭当前窗口
K 当前光标关键词的 help
2.3.3、光标命令
h 左移光标
j 下移光标
k 上移光标
l 右移光标
H 移动到当前页面顶部
M 移动到当前页面中间
L 移动到当前页面底部
w 移动到下个单词开头
W 移动到下个单词开头
e 移动到下个单词结尾
E 移动到下个单词结尾
b 移动到上个单词结尾
B 移动到上个单词结尾
% 查找关键词
0 移动到行首
^ 移动到行首的非空白符
$ 移动到行尾
g_ 移动到行内最后一个非空白符
gg 移动到文件第一行
G 移动到文件最后一行
5G 移动到第五行
fx 到 x 下次出现的位置
tx 到 x 下次出现位置的前一字符
Fx 到 x 上次出现的位置
Tx 到 x 上次出现位置的前一字符
; 重复上一个 f, t, F or T 操作
, 反向重复上一个 f, t, F or T 操作
} 移动到下一个段落/函数/代码块
{ 移动到上一个段落/函数/代码块
zz 移动屏幕使光标居中
Ctrl+e 向下移动屏幕,不移动光标
Ctrl+y 向上移动屏幕,不移动光标
Ctrl+b 向后滚动一屏,不移动光标
Ctrl+f 向前滚动一屏,不移动光标
Ctrl+d 向下滚动一屏,不移动光标
Ctrl+u 向上滚动一屏,不移动光标
2.3.4、插入模式 插入/追加文本命令
i 从光标前开始插入字符
I 从行首开始插入字符
a 从光标后开始插入字符
A 从行尾开始插入字符
o 在当前行另起一行,开始插入字符
O 在当前行另起一行,开始插入字符
ea 从当前单词末尾开始插入
Esc 退出插入模式
2.3.5、查找/替换命令
/pattern 查找 pattern
?pattern 向上查找 pattern
\vpattern pattern中的非字母数字字 符被视为正则表达式特殊字符,不需转 义字符
n 查找下一个
N 查找上一个
:%s/old/new/g 替换全部
:%s/old/new/gc (逐个)替换
:noh 移除搜索结果的高亮显示
2.3.6、退出命令
:w 保存
:w !sudo tee % 用 sudo 保存当前文件
:wq or :x or ZZ 保存并退出
:q 退出(修改未保存时警告)
:q! or ZQ 不保存强制退出
:wqa 写/保存并退出所有的 tabs
3、程序的概念
什么是计算机程序?
就是人编写一些让计算机执行的操作,使用计算机语言编写的操作集合
什么是计算机语言?
就是在计算机上编写如何让计算机完成某些操作功能的集合,能够通过翻译工具,变成计算机能够识 别的二进制指令,执行对应的操作
通过计算机语言编程的一套操作,就叫做程序
3.1、计算机语言分类
-
机器语言: 00000010101010,所有的内容只有0和1,不方便人查看
-
汇编语言: 一些机器指令使用标记符来代替
-
高级语言: 比较贴近于自然语言的表达方式,语言结构就类似人说话一样,用单词来连接
3.2、C语言编译环境
C语言代码文件:由于C语言是高级程序语言,需要通过翻译,变成计算机能够识别的二进制,需要有编写的代码文件,然后在文件中写C语言,C语言程序后缀名为:xxx.c
编译工具:编译器(我这里用vim),编译(gcc xxx.c)
C语言语法:因为需要通过翻译器(编译器)进行编译,编程二进制,说明编译器要能够看得懂,编译 器提供了一套C语言的语法格式,只能看得懂这套格式的编写代码方式
3.3、C程序基本结构
int main() //C语言程序的入口,整个C语言程序,从这里开始执行
{
//只会执行main里面的内容
}
3.4、C语言中数据类型与变量
变量:在程序执行时,可以进行改变的数据,在内存空间中,这个变量的空间内容可以修改,可能在执行时开始是10,后面变成5。
变量定义:表示有一个变量,在内存中有一段可以修改的空间,来存储数据,数据值可以改。
数据类型:用来说明,变量是什么类型(小数、整数、还是其他数据),规定变量的大小
格式:数据类型 变量名 = 值(例:int a = 10)
int a = 10; //a赋值为10
3.4.1、整型
short(短整型)-----------16bit(16位)
int(整型)------------------32bit(32位)
long(长整型)------------64bit(64位);如果是32位机器,long 32位 ;
long long(长整型)------64bit(64位)
整型存储方式:就是以倒除法来表示的二进制存储 如: 65========> 0000..00 1000001
3.4.2、字符型
char(字符)---------------8bit(8位)
字符存储方式:通过编码的方式,采用一个字符和一个编码一一对应 如: ‘我'-----------1110,只要存储1110,以及编码格式,就相当于存储了字符'我' C语言中有编码格式:ASCII,对于C语言中的字符,只用存储字符对应的ASCII编码整数,字符在计算机中,以整数存储
3.4.3、浮点型
float(单精度浮点型)-----32bit(32位)
double(双精度浮点型)--64bit(64位)
浮点型存储方式: 把整数部分,除以2取余, 把小数部分,乘以2取整 整个32位区域分成两个部分,浮点数部分(24位),指数部分(8位) 用8位表示指数(指数值+127),得到指数部分 如:3.25=====>11.01====>0.1101 * 2^2
✨本篇到此结束啦!欢迎点赞👍收藏❤关注😎