您的位置:首页 > 编程语言 > C语言/C++

硕彦博创学习笔记,C语言、编译原理、查找法排序

2018-12-10 20:35 555 查看

硕彦博创学习笔记,C语言、编译原理、查找法排序1210

计算机语言的发展史:
1、机器语言:
由01组成的语言,计算机可直接识别
缺点:繁琐、极度繁琐
优点:计算机可以识别
2、汇编语言:
由特点的助记符来代替二进制指令
mov plu del等、
3、高级语言:
用自然语言与机器沟通
C、C++、Java、C#、OC、python等
计算机的语言:机器语言(任何计算机都只能识别此语言)
编译器:高级语言与低级语言转换的工具
gcc/g++ 优秀的编译器
编译过程:
1、一步到位
gcc 源文件 -o 可执行文件
注:gcc 源文件 也可对源文件进行编译。则会默认生成名a.out的可执行文件
2、具体的编译过程

  • ①对源文件进行预编译:替换头文件;宏指令(检查语法错误,替换头文件,宏指令)
  • 命令:gcc -E 源文件 -o *.i
  • 生成后缀为.i的预编译文件
  • ②汇编:将高级语言翻译成汇编指令
  • 命令:gcc -S源文件 -o *.s
  • 生成后缀名为.s的汇编文件
  • ③翻译:将汇编文件翻译成计算机可识别的机器语言
  • 命令:gcc -c 源文件 -o *.o
  • 生成计算机可识别的目标(二进制语言)文件
  • ④链接:(凡是引用了外部函数,必须将外部函数的库文件链接在一起)
  • 命令:gcc 目标文件 -o 可执行文件
  • 可执行文件(自定义名称)
    3、makefile:
    makefile是一个文本文件(这里做简单的理解),此文件包含自动化的编译规则(windows下没有makefile,都是IDE自己执行命令)
    注:makefile中的命令是从下往上执行
    语法规则:
    目标:依赖文件
    command
    目标:
    shell命令
    定义变量:
    变量名=字符串
    引用变量:
    $(变量名)
    在终端输入:make
    执行makefile文件、自动化编译(当make命令执行时,shell会自动查找本地的makefile文件并执行)
    1、在执行make命令是,如果发现某个命令的依赖文件的修改时间没有发生变化。不会执行命令。
    2、make 目标名 :执行该目标命令

    自下而上执行文件。实现对源文件转化为可执行未见的过程。

    写好源文件,再进行make就会自动完成编译得到可执行文件lianxi。还有编译过程的产生文件*.i *.s *.o等
    可以在makefile文件中写一条删除的命令删除掉这些不需要的文件

    编写的删除指令
    执行make中的删除指令

C语言:
C语言是一门强类型(数据类型划分明确)的面相过程的语言,C语言以模块(即函数块(过程))为单位执行程序。
程序=算法+数据

C语言中的数据
1、源文件:存放高级语言的文件
*.c
2、程序的入口(主函数):main函数
数据的类型:
C语言按类型分:整形、浮点型、字符型。(也可分为数值型和非数值型)

按数据是否可变可分为:常量和变量
1、常量:不可改变的量
1、整形常量
十进制:100 【1-9】【0-9】【0-9】
八进制:0100 【0-7】【0-7】【0-7】
十六进制:0x100 0x【0-9、A、B、C、D、E、F】
2、字符型常量
rmb、 abc、π
3、浮点型常量
小数
**

2、变量

**
可以改变的量(大小由数据的类型决定)
1、定义变量:申请空间的大小
【有无符号】 数据类型 变量名;
注:符号项可省略,默认有符号型
有符号型:signed
无符号型:unsigned
整形表量:申请一块存储空间专门存放整形数据的“空间”
类型 变量名
C语言中整形变量:
基本整形:int (4个字节,32位)
短整形:short int(2个字节,16位)
长整形:long int(4个字节,32位)

2、初始化:在定义变量的同时赋初值
short int b=10;
注:先定义再赋值不叫初始化,如下
short int b;
b=10;
3、引用变量
引用变量就是引用变量的“内容”。
注:与后面的引用指针相区别。
3、输入输出:
printf(“%d”,b);//将短整型的变量b转换成十进制输出
4、运算符
1、求空间大小的运算符:sizeof()
sizeof计算的是括号内数据类型的大小,而不是数据的大小
例如sizeof(i)
如果i是int型的变量那么sizeof的值就是4;
如果i是短整型的那么sizeof的值就是2;
长整型也为4
思考:int i=4;
sizeof(++i);
printf("%d".i);
那么函数的输出结果是什么?
4
查找法排序
哨兵查找法寻找最大值:
代码块如下

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: