linux和简单C语言

一、 Linux

1.学习Linux的优点

   开放性;完全免费;多用户;多任务;良好的用户界面;设备独立性;提供了丰富的网络功能;可靠的系统安全性;良好的可移植性。

2.Linux命令的使用技巧

~ : 家目录

/ : 根目录

双击tab键:自动补全内容,若没有提示表示路径错误
选中内容表示复制,按滚轮表示粘贴内容
ctrl+shift+加号 : 终端界面变大;   ctrl+减号 : 终端界面变小
Ctrl+alt+T :形成终端

./ :当前目录      ../ : 上级目录       .gnupg  : 隐藏文件     

普通用户切换为超级用户:sudo -s  ;超级用户切换为普通用户: su gec 

ls:列出目录的内容 ;ls -l ;  ls -l  ; ls -al

cd:切换目录  例如:  cd  /   :切换根目录          cd ~  :切换家目录  

cp:复制文件(目录)    复制文件 :cp  1.txt doc     拷贝目录:   cp doc mnt -r  (拷贝目录时  -r不能忘)

mv:移动/更名文件(目录)   mv 1.txt doc :将1.txt移动到doc目录下

rm:删除文件      rm  a* :删除以a开头的文件   rm *txt  : 删除以txt结尾的文件    rm *  :  删除所有文件

chmod:修改文件的权限    ‘r’:读取权限,数字代号为4   'w':写入权限,数字代号为2   'x':执行权限,数字代号为1     '-' :无权限,数字代号为0 。

touch:创建文件       touch  1.txt    ;  创建多个文件  touch1.txt   2.txt   a.c

mkdir:创建目录     mkdir doc       ; 创建多个目录   mkdir  doc doc1  doc2 

pwd:显示文件的绝对路径     pwd doc

clear:清屏

ubuntu进入共享文件夹: cd /mnt/hgfs/HF2306

编译命令: gcc test.c -o test  执行  ./test

3.七种类型文件

'-' :普通文件

'd' :目录文件(文件夹)

'p' :管道文件(只能在同一台主机上通信)

's' :套接字文件(网络文件,可以在两台主机上通信)

'c' :字符设备文件(驱动文件)

'b':块设备文件(驱动文件)

 'l':软链接文件(快捷方式)

4.vi编译器

直接在 vsCode 中的扩展栏搜索 vim 安装即可。关于 vi 编辑器:

  • 特点:

    1. vi的改进版本叫vim(vi’s improved version),vi和vim是同一个软件。

    2. vi其初衷是解放鼠标,只用键盘高效操作所有的编辑任务。

    3. 没有菜单,操作分成编辑模式和命令模式,除了编辑之外的操作都在命令模式下进行。

  • 模式切换:

    1. 从命令模式 切换到 编辑模式:按i、o、a、I、O、A均可

    2. 从编辑模式 切换到 命令模式:按Esc。

二、C语言

1.C语言大纲

(1).C语言入口 main()、数据类型、变量、赋值

(2).Ascii码、表达式、运算符(位运算符)

(3).分支流、控制流,循环

(4).数组、一维数组、二维数组、指针数组、函数指针、字符串数组

(5).指针、一级指针、二级指针、野指针、空指针

(6).函数的定义、调用、声明、静态函数、字符串函数(strcpy,memcpy,strstr,strcat),内联函数、递归函数

(7).内存管理,作用域,存储期

(8).结构体、枚举、共用体(联合体)

(9).头文件、工程管理文件

 

2.没有头文件不会出现编译错误,但会出现警告,提示为隐式声明。<>系统会默认在sur/include寻找头文件; " "系统则会默认在当前目录寻找文件。

char->1字节;short->2字节;int->4字节;1字节->8bit ;1bit=0/1 ;

3.正数的反码等于本身,负数的反码等于除符号位之外的各位取反;正数的补码等于本身,负数的补码等于反码+1。

八进制一般使用O开头,范围是0~7;十六进制的范围是0~9,a~f

小数转化为二进制是使用最小二乘法,转义字符的范围是十进制127以内。

任何字符串都是以'\0'作为结束标记。所以存储空间都要多加1。

布尔类型的 头文件 是#include<stdbool.h>    bool age = true/fasle   非0为真,0为假。

使用scanf函数时,有时候需要清空缓冲区  while(getchar())!='\n');

4.代码风格规范

  • 缩进:凡是有代码块的地方都必须缩进,一对大括号{}代表一个代码块

  • 空格:标点符号后面,一般加空格

  • 空行:不同逻辑段落中间,一般加空行

  • 符号命名:尽量能一望便知,做到顾名思义,避免使用无意义字符

    // 示例代码
     #include <stdio.h>
     #include <stdlib.h>
     
     int maxValue(int a, int b)
    {
         return a>b ? a : b;
    }
     
     int main(void)
    {
         int a;
         int b;
         int m = maxValue(a, b);
         
         printf("最大值是: %d\n", m);
         return 0;
    }

5.man帮助手册

编程开发过程中,需要使用众多的系统指令,各类函数库、系统调用、各类系统脚本文件等,这些种类繁多、功能各异的信息,可以通过统一的man手册来获取第一手资料,man文档是帮助信息的权威通道,是大多数教程、书籍的知识来源。由于man手册所需要罗列的帮助条目众多,因此man手册被妥善的分为9册,不同的帮助信息被放入对应的man手册中:

  • man文档的九个分册:

    1. Shell命令(默认已经安装)

    2. 系统调用

    3. 库函数

    4. 特殊文件(通常出现在/dev目录下)

    5. 文件的特殊格式或协定(例如/etc/password的格式)

    6. 游戏

    7. 杂项(例如一些宏定义)

    8. 系统管理员命令(通常只能由管理员执行)

    9. 非标准内核例程   

三、下面是Linux和Vscode的实例

(1)linux常用的命令

(2)格式输出语句

 (3)vi编译

 

(4)数据类型中出现溢出的情况

posted @ 2023-07-03 08:52  扑向温柔  阅读(78)  评论(0)    收藏  举报