2021.10.31 day07 第一周c语言学习汇总

一、学习了关于c语言以及Linux的历史发展

BCPL->NewB->C语言->UNIX->Minix->Linux(开源)->gcc编译器

二、下载安装了并了解VirtualBox以及Ubuntu

Linux系统常用命令:
    常用命令:
        ls 显示当前目录下的文件
        -a 显示当前目录的隐藏文件 以.开头的文件都是隐藏文件
        ctrl+h 可以显示或隐藏
        -l 以长格式显示文件的详细信息        
        cd  进入一个目录
        pwd     显示当前目录所在的位置
        whoami  显示当前用户名

文件相关命令:
touch Odin  创建文件
rm Odin       删除文件   不经过回收站,难以找回,要谨慎使用

cat/more/head/tail      查看文件
    cat                    会把文件所有内容全部打印到终端,比较适合查看内容较少的文件
    more                 从文件头开始分页查看文件,回车显示下一行,空格显示下一页,q退出
    head                 只显示文件的前十行
    tail                    只显示文件的末尾十行

cp (文件名) dest         复制文件
mv (文件名) dest         移动文件,同时也具备重命名功能 
 

目录相关的命令:
    mkdir   目录名      创建目录
        -p  可以创建多层目录
    rmdir 目录名        删除目录    只能删除空目录
        rm -rf 删除非空目录
        cp -rf  复制目录
        mv (文件名)dest     移动目录,重命名目录

 Ubuntu使用小技巧:
    1.ctrl+l 清理屏幕 与clear功能相同
    2.Tab键可以在终端补全文件名。命令名
    3.上下方向键可以调出历史命令
    4.ctrl+alt+t  快速打开新终端
    5.ctrl+shift+t  快速打开同一终端下新的标签页
    6.alt+tab   快速切换任务
    7.ctrl+alt+方向键   切换工作区(默认是关闭的,得打开)

vim文本编辑器:

基础用法:
    1.进入vim:   vim (文件名).c  如果文件不存在,则创建
    2.输入 i : 进入编辑模式,编写代码
    3.保存退出:    按Esc键退出编辑模式,输出大写的ZZ保存退出

    三大模式:
        正常模式:一般用于阅读文件,或者使用快捷键对文件进行快速修改

        编辑模式:用于修改文件.编写代码

        行底(命令)模式:一般使用于对vim进行配置
        或者执行一些高级操作

c语言语法标准目前有三种:c89 c99  c11(目前用的大多是c89和c99,c11不稳定)

程序员所编写的代码不是标准的c代码,需要一段程序把它翻译成标准c代码
负责翻译的程序叫做预处理器,翻译的过程叫做预处理,被翻译的语句叫做预处理指令
以#开头的语句都是预处理指令

举个例子#include<stdio.h>

#include 的功能是吧一个头文件导入到当前文件中
        #include<>从系统指定的路径下查找头文件,找到加载导入
        #include""先从当前目录查找头文件,如果没找到,
        再从系统指定的路径下查找头文件,找到加载导入

头文件:以.h结尾的文件,里面存储的是一些辅助性的代码
            绝大多数内容是对函数的申明
        源文件:以.c结尾的文件,里面主要是对函数的实现,
            功能性的代码

printf/scanf 是标准库中的输出/输入函数,负责输出.输入
                    数据,一般用为程序测试

预处理 -> 编译 -> 汇编 -> 链接   (我的理解就是我们发出的指令,转化成它的语言,再执行,然再转化成我们的编程语言,做反馈)

代码源文件变成可执行文件的过程
1.预处理:把源文件翻译成预处理文件
    gcc -E  code.c              把预处理结果直接打印在终端上
    gcc -E  code.c -o code.i    生成以.i结尾的预处理文件
2.编译:把预处理文件翻译成汇编文件
gcc -S code.i                   生成以.s结尾的汇编文件
3.汇编:把汇编文件翻译成二进制的目标文件
gcc -c code.s                   生成以.o结尾的目标文件
4.链接:把若干个目标文件合并生成一个可执行文件
gcc a.o b.o c.o                 默认生成a.out可执行文件
gcc a.o b.o c.o -o xxx          指定生成名为xxx可执行文件

转义字符:
                    键盘上一些无法直接打印的符号,会用一些特殊的字符
                    来表示,这种特殊符号就是转义字符

                    \n  换行
                    \t  制表符Tab   
                    \b  退格键
                    \a  响铃
                    \r  会回到行首
                    \\   显示一个
                    %%  显示一个

.数据类型

 整型:signed 有符号
            类型                字节数      表示范围
                signed char     1           -128~127
                signed short    2           -32768~32767
                signed int      4           正负20亿
                signed long     4/8
                signed long long 8          9开头的19位整数
                注意:32位系统下signed long是四字节,64位是8字节
            unsigned 无符号
            类型                字节数      表示范围
                unsigned char     1           0~255
                unsigned short    2           0~65535
                unsigned int      4           0~40亿
                unsigned long     4/8
                unsigned long long 8          1开头的20位整数

浮点型:
            float           4
            double          8
            long double     12/16

模拟:          (48 == '0'   'A' == 65  'a' == 97  '\0' == 0   )(ASCII码)
            字符型:%c
            char 字符就是符号或者图案,在内存中存储的十整数,需要
            显示处符号或图案时,计算机会跟ASCII码表中的对应关系
            显示出相应的符号或图案

             布尔型:bool
             先有c语言之后才有bool类型,所以c语言十没有真正的布尔类型
             在stdbool.h 头文件用整数进行模拟
             bool true false

PS:= =!!!,咱就是说,昨天发过的内容我就不汇总了,没错!,就是这样!

上一篇:Linux发行版总结整理


下一篇:Linux安装Kudu+Impala(RedHat or CentOS)