• 【C基础篇】算法、数据类型、运算符与表达式、常见输入出函数


    引言

    • 算法:熟悉算法概念、算法的描述;
    • 数据类型:学习C语言最基础的语法知识、认识变量、常量和数据类型;
    • 运算符和表达式:掌握各种运算符、表达式、优先级结合性等内容。

    一、算法

    1、算法的基本概念

    算法是为解决某一特定类型的问题而制定的一个实现过程,具有下列特性:

    • 有穷性:执行步骤有穷、执行时间有穷,不能无限执行;
    • 确定性:每个步骤都有确切定义;
    • 可行性:每一步都能有效运行;
    • 输入:一个算法应有零个或多个输入;
    • 输出:一个算法应有一个或多个输出。

    衡量一个算法的好坏,通常从以下几个方面来分析

    • 正确性
    • 可读性
    • 健壮性
    • 时间复杂度和空间复杂度

    时间复杂度:算法运行所需的时间;
    空间复杂度:算法运行时所需的存储空间的大小。

    二、数据类型

    1、关键字

    关键字是C语言规定的具有特定意义的字符串用户定义的常量、变量、函数等名称不能与关键字相同。

    关键字描述关键字描述
    auto声明自动变量break跳出当前循环
    case开关语句分支char声明字符型变量或函数
    const限定变量不被改变continue结束当前循环,开始下一轮循环
    default开关语句其他分支返回语句do循环语句的循环体
    double声明双精度变量或函数else条件语句否定分支
    enum声明枚举类型extern存储类声明修饰符
    float声明浮点型变量或函数for循环语句
    goto无条件跳转语句while循环语句的循环条件
    int声明整型变量或函数long声明长整型变量或函数
    register声明寄存器变量union声明共用体数据类型
    short声明短整型变量或函数signed声明有符号型变量或函数
    sizeof计算数据类型长度static声明静态变量
    struct声明结构体变量或函数switch用于开关语句
    typedef用于给数据类型取别名return返回语句
    unsigned声明无符号型变量或函数void声明函数无返回值或无参数,声明无指针类型
    volatile说明变量在程序执行中可被隐含地改变if条件语句

    利用extern关键字。可以在一个文件中引用另一个文件中定义的变量或函数

    2、标识符

    标识符基本命名规则:

    1. 必须以字母或下划线开头,不能以数字或符号开头;
    2. 除开头外的其他字符可以由字母、下划线或数字组成;
    3. 大写和小写的字母代表不同的标识符;
    4. 标识符不能是关键字;
    5. 标识符应体现一定的功能含义,便于理解;

    3、数据类型

    C语言中的数据类型包括:基本类型、构造类型、指针类型和空类型等。
    在这里插入图片描述

    4、变量的存储类别

    auto
    作用为定义一个局部变量为自动变量,该变量存储于内存的动态存储区中,每次执行到该变量定义语句时,都会产生一个新的变量,并且对其初始化。

    #include
    
    void add()
    {
        auto int a = 1;
        a = a + 1;
        printf("%d\n",a);
    }
    
    int main()
    {
        printf("第一次调用:");
        add();
        printf("第二次调用:");
        add();
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    在这里插入图片描述
    static
    static变量表示静态变量,存储于内存的静态存储区;在语句块执行过程中,static变量将始终保持它的值,并且初始化操作只在第一次执行时起作用,在随后的运行过程中变量将保持语句块在上一次执行时的值。

    #include
    
    void click()
    {
        static int sum = 0;
        sum = sum + 1;
        printf("%d\n",sum);
    }
    int main()
    {
        click();
        click();
        click();
        click();
        click();
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    在这里插入图片描述

    三、运算符与表达式

    1、强制类型转换

    强制类型转换的一般形式如下:

    (类型名) (表达式);
    num  = (int)(a)*(int)(b);
    
    • 1
    • 2

    2、逻辑运算符

    逻辑运算符可根据表达式的真假属性返回真值或假值。[‘||’用ii代替]

    符号功能示例说明
    &&逻辑与A&&B同真为真;单真单假为假
    ii逻辑或AiiB同假为假;单真单假为真
    逻辑非!A非真为真;非假为假

    四、常用数据的输入(出)函数

    1、字符输入(出)

    输出字符数据使用的是putchar(),作用是向显示设备输出一个字符。

    #include
    int main()
    {
        putchar('a');
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    输入字符数据使用的是getchar(),作用是从输入设备或终端输入一个字符

    #include
    int main()
    {
        char i;
        printf("请输入一个字符:\n");
        i = getchar();
        printf("该字符对于的ASCII码为:%d\n",i);
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    2、字符串输入(出)

    字符串输出使用的是puts函数,作用是输出一个字符串到屏幕上。

    #include
    int main()
    {
        puts("hello");
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    字符串输入使用gets函数,作用是将读取到的字符串(即用户输入的字符串)保存在str变量中,直到新的一行出现为止。

    //模拟用户注册登录
    #include
    int main()
    {
        char account[20];//账号
        char password[20];//密码
        char name[20];//姓名
        char idcard[20];//身份证号码
        puts("请输入账号:");
        gets(account);
        puts("请输入密码:");
        gets(password);
        puts("请输入姓名:");
        gets(name);
        puts("请输入身份证号码:");
        gets(idcard);
        puts("信息核对:");
        puts("您输入的账号为:");
        puts(account);
        puts("您输入的密码为:");
        puts(password);
        puts("您输入的姓名为:");
        puts(name);
        puts("您输入的身份证号码为:");
        puts(idcard);
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    在这里插入图片描述

    3、格式输入(出)

    printf函数是格式输出函数,作用是向终端(输出设备)输出若干任意类型的数据;
    输入函数scanf,按照指定的格式接收用户输入的数据,最后存储在指定的变量中。

    格式字符功能说明
    %d,%i有符号十进制整数
    %u无符号十进制整数
    %o无符号八进制整数
    %x,%X无符号十六进制整数(大小对应)
    %c单个字符
    %s字符串
    %f小数形式→实数
    %e,%E指数形式→实数
    %g,%G同%f,%e
  • 相关阅读:
    【阅读笔记】后真相时代的竞争性真相
    按键中断实现LED、蜂鸣器、风扇工作
    武汉儿童医院变电所电力运维平台系统的设计及应用
    华为HC2023 专题演讲:openGauss 内核架构双引擎,全新打造数据底座
    Python考前复习
    SARscape手动下载30mDEM(SRTM1 V3)切片数据-[EC: 40008]
    基于.NET6的简单三层管理系统
    java面试题-基础篇(万字总结,带答案,面试官问烂,跳槽必备)
    唯品会关键词搜索API接口(item_search-按关键字搜索唯品会商品API接口),唯品会API接口
    【算法】二分查找-20231120
  • 原文地址:https://blog.csdn.net/QWERTYzxw/article/details/126234072