提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 一、思维导图
  • 二、linux基础
    • 1.常用命令
    • 2.vim编辑器
    • 3.gcc编辑器
  • 三、C语言
    • 1.基础
      • (1).进制
      • (2)词法符号
      • (3)基本数据类型
    • 2.基础语句
      • (1).注释
      • (2)输入输出
      • (3)选择语句
      • (4)循环语句
    • 3.数组
      • (1)一维数组
      • (2)二维数组
  • 4.函数
  • 总结

一、思维导图

二、linux基础

1.常用命令

常用命令:
ls (查看目录下的文件)        mkdir(创建空目录)
touch(创建空文件)
pwd(查看绝对路径)         chmod(强制修改文件文档权限)
Sudo(零时赋予管理员权限)  cd(打开目录)

目录:最开始的‘/’ == 根目录
‘~’ ==家目录
一个点 ‘.’ ==当前目录
两个点 ‘··’ ==上一目录
/mnt/hgfs/AAA/yuan == 绝对路径
./yuan ==相对路径
linux文件共享目录:/mnt/hgfs

2.vim编辑器

Vim常用的一些配置
1.安装中文输入法,详情请查看CSDN牛逼大佬的文章2.显示行数
永久显示行数:  终端输入vim ~/.vimrc里面是一个空白文档,
在里面插入内容:set nu=====>>保存退出即可
临时显示行数:set nu3.自动缩进
在配置文件输入:set tabstop=4
:set softtabstop=4
:set shiftwidth=4
:set expandtab

当然也可以直接白嫖大佬写好的配置文件让你的编程体验爽到飞起

Vim  文件名             进入vim编辑器的命令模式
编辑器下存在两种模式
1.命令模式:
 常用命令:Shift+:型命令,底行模式w                 保存q                 退出wq                    保存并退出x                  保存并退出q!                  强制退出wq!              强制保存并退出%s/str1/str2/g       将str1替换成str2行操作yy           复制行nyy          复制n行p               咱贴dd            删除ndd           删除n行u           撤销一步按下i、a、o进入插入模式
2.插入模式
按esc退出到命令模式

3.gcc编辑器

gcc 编译器编译器编译链接的四个步骤main.c====>>main.i====>>main.s====>>mian.o====>>main.out预处理         编译          汇编        链接      源文件    预编译文件  汇编文件    目标文件     可执行文件预处理 :gcc -E main.c -o main.i编译   :gcc -S main.i -o main.s汇编   :gcc -c main.s  -o test.o链接  :gcc  main.o -o main 一步到位命令:gcc mian.c -o main.out    gcc main.out(默认生成a.out)
打开执行文件:./main.out(打开当前目录下的main.out文件)

三、C语言

1.基础

(1).进制

1)     十进制        decimal            10
2)    二进制        binary             1010
3)    八进制        octonary           012
4)十六进制       hexadecimal        0xc

(2)词法符号

1) 关键字       编译器内定的,不需要加任何头文件C语言中的关键字: 32个auto           break           case           char        const    continue       default         do             double      else    enum           extern          float          for         goto    if             int             long           register    return    short          signed          sizeof         static      struct    switch         typedef         union          unsighed    void    volatile       while
2)标识符       自定义符号,变量(可为字母数字下划线,不能由数字开头)
定义变量:        存储类型    数据类型        变量名
存储类型:auto       自动 由编译器根据定义的位置 自动分配内存位置 register    寄存器类型   extern      引用类型   变量不是在当前位置定义的, 用于引用其他位置(在             其   他文件中)定义的一个变量 const      常量类型   数据存放的位置 在 内存的常量区|代码段static      静态类型   数据存放的位置 在 内存的 静态区
3) 运算符
特殊的运算符——三目运算符(表示非此即彼的关系)
条件表达式?语句1:语句2;
4) 分隔符          空格 回车 用于代码的 美观 增强可读
5) 标点符号     参与编译 ,C语言的标点符号有严格要求

(3)基本数据类型

1.数据存储

 位   1bit    ==0|1
字节   bytes  == 8bit
千字节    kb  ==1024byte
兆字节    Mb  ==1024kb······

2.基本数据类型1)整型(精确)bool           1bit      0|1char           1byte     short         2byteint                4bytelong           8byte2)浮点型(非精确)float           4byte     6 (有效数据位,精确到几位)double           8byte     15(有效数据位,精确到几位)

要点:ASCLL码
要记住,’0’=48 ‘A’=65 ‘a’=97 空字符=0

2.基础语句

(1).注释

1)单行注释            //我是单行2)多行注释
/*···     我是多行···*/#if 0
我是多行
为0时注释,为1时执行,非常建议使用这种方式
#endif

(2)输入输出

(基于标准输入/输入c库,stdio.h)
1.输入putchar(char);  puts(str);printf();  printf("格式控制字符串",变量等 );  格式化输出如:printf("c=%d\n",c);格式声明    占位符%+格式字符%d : 数据按 10进制 整数方式输出 %c : 数据按 字符方式输出 %s : 数据按 字符串方式输出 %x : 数据按 16进制格式输出%o : 数据按 8进制格式输出%f : 数据按 浮点数格式输出 %e : 数据按 指数格式输出 %% : 输出 '%' 字符 %.2f(精确小数点后两位) %-4d(字符宽度为4,左对齐)转义字符\n     换行\r        回车\0        空字符\\      字符'\'
2.输出getc(stdin);  //从终端读取一个字符gets();      //从终端读取字符串   该函数不是安全的 fgets();      //从终端读取字符串  以\n 作为结束符  scanf();      // 格式化输入

(3)选择语句

if()语句1;else ()语句2if()语句1;else if()语句2;else if()语句3;······switch(n)//多分支语句,执行多选一操作
{case 1:  语句块1 ; break;case 2:  语句块2 ; break;case 3:  语句块3 ; break;...default:  语句块n;
}switch(n)//多分支语句,若n=2,则执行语句2,语句3
{case 1:  语句块1 ; break;case 2:  语句块2 ; case 3:  语句块3 ; default:  语句块4;
}

(4)循环语句

1)结构:do{语句块;}while(条件表达式);while(条件表达式){语句块;}for( 循环量的初始化;循环条件; 循环递推){循环体语句块;}2)循环控制语句:  break;   // 跳出循环, 提前结束整个循环 continue;// 继续   本次循环的后续 步骤不在执行, 重新开始新的循环return;  // 结束函数goto;    // 跳转到指定 位置继续执行

3.数组

(1)一维数组

结构存储类型  元素数据类型  变量名[元素个数];定义及初始化int arr1[3]={0,1,2};    //全部赋初值 int arr2[]={0,1,2};        //全部赋初值时,可省略元素个数      int arr3[3]={};           //初值为空,即全部赋值为0int arr4[3]={1};      //部分赋值,即未被赋值的自动赋值为0char str1[]="hello";char str2[]={'h','e','l','l',o'};char str3[]={'h','e','l','l',o','\0'};str1==str3;他们均为字符串数组,字符串数组结尾必须有'\0'字符串处理函数(基于string.h头文件)
         #include<stdio.h>#include<string.h>char str1[]="hello",str2[]="Hello",str3[]="hello",str4[10];int main(){printf("%d\n",strlen(str1));        //求字符串长度printf("%d\n",strcmp(str1,str3)); //比较字符串printf("%d\n",strcmp(str1,str2));printf("%d\n",strcmp(str2,str1));printf("%s\n",strcat(str2,str1));    //字符串追加printf("%s\n",strcpy(str4,str1));  //字符串复制return 0;}

(2)二维数组

 二维数组的定义和表示: int arr[2][5];存储类型  基本数据类型  数组名[行数][列数];二维数组的初始化:char str[2][10]={"hello","world"};int arr[2][5] = {{1,2,3,4,5} ,{ 10,9,8,7,6}};arr[0]            arr[1]

4.函数

#include<stdio.h>
static int num=4;                   //全局变量,静态区、全局区
int fun1_find_max(int a,int b,intc)     //形式参数
{int max,count=4;               //局部变量if(a>b&&a>c)max=a;else if(b>a&&b>c)max=b;else if(c>a&&c>b)max=b;return max;                  //返回值,max即为整个函数的值
}int main(){int max;max=fun1_find_max(15,7,9);     //实际参数不需要写数据类型printf("max=%d\n",max);printf("num=%d\n",num);      //printf("count=%d\n",count);        //count未定义return 0;
}

总结

linux C语言其实就是在linux系统下编写C代码,使用vim或者vi编辑器编写代码,再使用gcc编译器编译链接,使用起来更偏向底层,若你使用集成开发环境编写代码,是隐藏了底层逻辑的。
本章节重点内容还是C语言基础,linux只是一个工具而已。数据类型,基本的语句等等,有几个比较容易忽视的知识点就是,全局变量、局部变量,主要考察数据存储类型,因为平时写代码都不会定义数据存储类型,所以在这一块还要深入学习。
当然这只是linuxC语言基础,后期学习的指针、结构体、链表才是重点以及难点。在这个一提到程序员就能与“中年危机”挂钩的时代,唯有终生学习才能立于不败之地,能何况是小白白呢,“路漫漫其修远兮,吾将上下而求索”。

linux C语言基础学习总结相关推荐

  1. Linux shell脚本基础学习

    Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...

  2. Linux shell脚本基础学习详细介绍(完整版)一

    Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...

  3. Linux shell脚本基础学习详细介绍(完整版)

    Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...

  4. 鸟哥的linux私房菜-基础学习篇 读书笔记

    从事linux工作一年多,算是能够熟练运用linux服务器,但仍觉得自己对Linux的原理,理论缺乏空洞,潜下心来认真阅读尘封的鸟哥经典,知识点很全,收获颇多,实践与知识结合,知行合一,对linux开 ...

  5. 01_Go语言基础学习_Golang语言特性、环境搭建、第一个Go程序、包

    1. Golang语言特性: 垃圾回收: 1.内存自动回收,再也不需要开发人员管理内存: 2.开发人员专注业务实现,降低了心智负担 : 3.只需要new分配内存,不需要释放 天然并发: 1.从语言层面 ...

  6. 《C语言基础学习笔记》—— 黑马程序员 <Part1-4>

    <C语言基础学习笔记 Part1-4> Part 1 基础介绍 1. 第一个C语言程序:HelloWorld 1.1 编写C语言代码:hello.c 1.2代码分析 1)include 头 ...

  7. 鸟哥的Linux私房菜基础学习篇 第0章与第1章的重点探索

    鸟哥的Linux私房菜基础学习篇 第0章与第1章的重点探索 目录 鸟哥的Linux私房菜基础学习篇 第0章与第1章的重点探索 前言 一.计算机概论 1.知识基础 2.知识初阶 3.知识进阶 二.Lin ...

  8. 《鸟哥的Linux 私房菜 基础学习篇(第三版)》——1.2 Torvalds的Linux开发

    本节书摘来自异步社区<鸟哥的Linux 私房菜 基础学习篇(第三版)>一书中的第1章,第1.2节,作者:鸟哥著,更多章节内容可以访问云栖社区"异步社区"公众号查看 1. ...

  9. 拒绝从入门到放弃_《鸟哥的 Linux 私房菜 — 基础学习篇(第三版)》必读目录

    目录 目录 前言 关于这本书 必看知识点 最后 前言 相信部分刚进入这个行业的新同学会对一个问题感到疑惑,为什么从培训学校出来的学员不被欢迎? 这里记录下一些我个人的看法(博主也曾有面试新员工的经历) ...

  10. Linux shell脚本基础学习详细介绍(完整版)2

    详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续 ...

最新文章

  1. javascript中变量没有块级作用域---函数内申明的变量在整个函数中都有效!
  2. 大地震前有三个明显征兆:1.井水异常2.牲畜反应异常3.专家出来辟谣。但是细心网友指出,第三和第二重复了。...
  3. 1.4 Padding-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
  4. PHP多维数组转为一维数组的方法实例
  5. 在活动完成之后的格式工厂下载
  6. 运行MonkeyRunner时使用Genymotion模拟器
  7. h264解码延迟优化_JEET Air Plus:延迟优化技术,让你游戏不掉线
  8. post和get请求方式的区别
  9. JSP — 知识总结篇《I》【基础语法】
  10. cgo的效率 golang_golang rsa 和 cgo (openssl) 性能对比
  11. vue数据大屏使用数字字体
  12. 酒店管理系统c语言课程设计,基于C语言的酒店管理系统课程设计.doc
  13. WBE前端笔记3:JavaScript练习--基础语法
  14. 使用js实现网页录音并上传服务器
  15. idea返回上一步快捷键无效
  16. MSN QQ在线聊天代码
  17. 无需越狱,iPhone修改微信提示音!
  18. 公共关系计算机操作题,Access上机操作题库.doc
  19. Python分布式爬虫打造搜索引擎
  20. Word开发工具Aspose.Words功能演示:在C ++中以编程方式在Word文档中添加或删除页眉和页脚

热门文章

  1. 爆肝一周,用Python在物联网设备上写了个智能语音助手-阿里云智能对话机器人
  2. android 平板root,安卓平板电脑怎么root 安卓平板一键root方法_硬件教程
  3. 老卫带你学---keras中文文档
  4. java后台对接app微信支付
  5. visio一分二的箭头_visio软件双箭头连接线怎么画?
  6. 2015年职称计算机考试宝典,2015年职称计算机考试宝典模块软件.doc
  7. Win10开启IPv6
  8. 【专利提交】个人通过CPC客户端网上提交专利文稿的完整流程
  9. Linux 安装QT5
  10. Janis—CCR闭循环系列探针台