• C语言入门级教程:基础数据类型与基本算法,学编程从此刻开始!


    今天带大家了解一下学C语言必备的基本数据类型和基本算法,适合刚学C以及零基础的小伙伴!

    话不多说,我们一起来学习吧~

    ↓ ↓ ↓

    ❀ 数据类型

    ● 基本类型

    基本类型就是我们在使用C语言时最基础的数据类型,包括整形(短整型,基本整型,长整型)、字符型、浮点型(单、双精度)以及枚举类型。

    ● 构造类型

    在编程的过程中只使用基本类型是远远不够的,为了满足需求,因此还要使用基本类型之外的类型,构造类型就是其中的一种。

    构造类型可以使用基本类型构造出新的数据类型来满足实际开发中的需求。构造类型有3种形式:数组类型、结构体类型、共用体类型。

    ● 指针类型

    指针是C语言的精华所在,许多编程语言中都支持某种形式的指针,但最著名的是C语言。

    指针的特殊性在于它的值是一个内存地址。关于指针后面我们会详细说明。

    ● 空类型

    空类型(void)的主要作用就是限定函数的返回和限定函数的参数。

    为了便于记忆,我将数据类型做了一个简单的思维导图,如下:

     

    ● 常量

    这块内容就不在用过多的文字赘述了,从下面的思维导图我们可以直观的理解。


     

    关于符号常量我们来看一段简单的代码,你就能够明白啦~

    #include<stdio.h>

    #define PI 3.14/*定义符号常量*/

    int main() {

        double r=5.0;/*定义半径*/

        double area;/*面积变量*/

        area = PI*r*r;/*计算面积*/

        printf("圆的面积是:%f ",area);/*打印输出*/

        return 0;

    }

     

    ❀ 基本算法

    算法的特性和算法的表示。

    算法的基本特性

    算法包含两方面的内容:算法设计和算法分析

    算法设计其实就是针对某一特定类型的问题而设计的一个实现过程。算法有以下几个特性:

    ㉿有穷性

    ㉿ 确定性

    ㉿ 可行性

    ㉿ 输入

    ㉿ 输出

    也就是说我们在设计算法是的满足上面所说的特性。当然算法也是有好有坏的,那么我们怎样去衡量一个算法的优劣呢?

    算法分析其实就是在衡量一个算法的优劣,通常会从一下几个方面来分析:

    ㉿ 正确性

    ㉿ 可读性

    ㉿ 健壮性

    ㉿ 时间复杂度和空间复杂度

     

    算法的表达方式

    在描述一个算法时通常使用的方法有:自然语言、流程图、N-S图等。

    ▶ 自然语言

    自然语言这种表达方式通俗易懂,我们通过一个具体的实例了解一下。

    需求:任意输入3个数,求出其中的最小数。

        (1) 定义4个变量分别是a,b,c和min。

        (2) 输入大小不同的三个数分别赋值给a,b,c。

        (3) 判断a是否小于b,如果小于,则将a的值赋给min,否则将b的值赋给min。

        (4) 判断min是否小于c,如果小于,则执行(5),否则将c的值赋给min。

        (5) 输出min。

     

    这种表达方式的好处就是简单易懂,但是当遇到复杂的算法时自然语言就显得不是很方便了。

    ▶ 流程图

    流程图就是用一些图框来代表各种不同性质的操作,用流程线来指示算法的执行方向。他的特点就是直观形象,应用很广泛。

    下图介绍了流程图的符号以及含义:


     

    流程图有三种基本结构,即顺序结构、选择结构和循环结构。

    顺序结构:顺序结构就是简单的线性结构


     

    选择结构:选择结构也称为分支结构


     

    循环结构:反复执行一系列操作,知道条件不成立时终止。


     

    我们再把上面的需求用流程图来表示一下


     

    ▶ N-S流程图

    N-S流程图是将全部的算法写在一个矩形框内,省去了流程图中的流程线。下面继续看一个实例:

    需求:输入一个数,判别是否为素数。


     

    算法的基本特性和算法的表示介绍到就结束了。

    —— END ——

    最后,不管你是转行也好,初学也罢,进阶也可,如果你想学编程~

    ——【值得关注】我的 C/C++编程学习交流俱乐部!——

    涉及:C语言、C++、windows编程、网络编程、QT界面开发、Linux编程、游戏编程、黑客等等......

  • 相关阅读:
    dom2级事件兼容性写法
    cookie js案例
    cookie讲解
    js高级总结
    鼠标拖拽时,选择文字问题
    正则的细节
    正则捕获的细节及replace分析
    正则的使用及replace细讲
    while循环的讲解
    acwing 189. 乳草的入侵 bfs
  • 原文地址:https://www.cnblogs.com/huya-edu/p/14124627.html
Copyright © 2020-2023  润新知