智能车入门——编程语言(c)的学习 <新手从零做车>

目录

前言

学习范围:

建立头文件步骤:

系列文章目录

速通版

全程引导篇

详细讲解篇



前言

写程序必定需要编程语言基础,

有很多学习C语言 的途径 

如果倾向于视频学习,可以在B站或者慕课上的找相应的视频,比如翁恺C语言

如果倾向于文字学习,个人推荐菜鸟教程菜鸟教程 - 学的不仅是技术,更是梦想!

菜鸟教程


学习范围:

1. 数制:认识不同的进制

在计算机世界里,我们常常需要处理不同的数制。C语言支持二进制(0b)、十进制和十六进制(0x)等不同的进制表示法。了解这些表示法并能够在它们之间进行转换是编程的基础。

2. 数据类型及所占字节数:理解数据的存储方式

C语言提供了多种数据类型,如char(1字节)、int(4字节)、float(4字节)、unsigned int(4字节)、bool等。深入了解这些数据类型及其所占字节数有助于更有效地管理内存。

3. ASCII码表:字符的编码与解码

ASCII码表是计算机中字符与数字的映射表。通过了解ASCII码表,我们可以将字符和数字相互转换,实现字符的处理和展示。

4. 变量与常量:程序的基石

变量是存储数据的容器,而常量则是不可变的值。在C语言中,良好的变量命名和养成初始化的习惯对于编写清晰易读的代码至关重要。

5. 运算符:编程中的计算工具

C语言提供了丰富的运算符,包括算术运算符、关系运算符、逻辑运算符、位运算符和赋值运算符等。熟练使用这些运算符可以编写更加灵活和高效的代码。

6. 判断语句与循环语句:控制程序流程

条件语句(如if-else和switch)和循环语句(如for和while)是编程中的基本控制结构。它们使得程序可以根据不同情况执行不同的代码块,或者重复执行特定的任务。

7. 函数:代码的模块化

函数是C语言中的基本构建块,有助于将代码模块化,提高代码的可维护性和复用性。了解函数的定义、声明、调用和传参方式是掌握C语言的重要一步。

8. 数组与字符串:处理多个数据的利器

数组是存储相同类型数据的集合,而字符串是字符型数组的一种特殊形式。深入了解数组和字符串的定义、初始化以及相关的库函数可以更方便地处理多个数据。

9. typedef关键字:为类型取别名

typedef关键字允许为已有的数据类型取一个新的名字,使得代码更易读。与#define的区别在于,typedef是为类型取别名,而#define是简单的文本替换。

10. 头文件:模块化代码的基石

头文件包含了函数声明、宏定义和数据结构的定义等信息,使得代码更加模块化和可维护。学会正确使用头文件可以提高代码的可读性和可维护性。

建立头文件步骤:

  1. 创建一个新文件: 打开你的集成开发环境(IDE)或者文本编辑器,创建一个新文件。

  2. 选择适当的文件扩展名: 通常,C语言头文件的文件扩展名是.h,例如,myheader.h

  3. 添加头文件保护宏: 为了防止头文件的内容被重复包含,通常在头文件的开头加入一种预处理器指令,称为头文件保护宏。这是一个简单的例子:

    #ifndef MYHEADER_H
    #define MYHEADER_H
    
    // 在这里添加头文件的内容
    
    #endif // MYHEADER_H
    

    这里的MYHEADER_H是一个独一无二的标识符,用于确保同一文件不会被多次包含。

  4. 添加函数声明、宏定义和数据结构的定义: 在头文件中添加你希望在其他源代码文件中使用的函数声明、宏定义和数据结构的定义。例如:

    #ifndef MYHEADER_H
    #define MYHEADER_H
    
    // 函数声明
    int add(int a, int b);
    
    // 宏定义
    #define MAX_SIZE 100
    
    // 数据结构的定义
    struct Point {
        int x;
        int y;
    };
    
    #endif // MYHEADER_H
    

  5. 保存文件: 将文件保存到你项目的合适位置,确保其他源代码文件能够访问到它。

  6. 在其他源文件中包含头文件: 当你希望在其他源文件中使用这个头文件中定义的函数、宏或数据结构时,在源文件的顶部使用#include指令包含头文件。例如:

    #include "myheader.h"
    
    // 在这里使用头文件中定义的函数、宏或数据结构
    

    这样,你就成功地创建了一个头文件,并在其他源文件中使用它。头文件的使用可以帮助你更好地组织代码,提高代码的可读性和可维护性。


例如:

/*  lucky.c */
#include "lucky.h"

int abc=0;


/*  lucky.h */

#ifndef _LUCKY_H_
#define _LUCKY_H_

#include "headfile.h"

extern int abc;


#endif

/*这样在任意函数里都可以用 abc 而不会报错*/

系列文章目录

文章分为三个层次

速通版

是希望通过简化的步骤搭建出寻迹小车,进而了解整个智能车是如何实现的,快速上手,为后续参与智能车竞赛做基础。

如果只是为了完成学校智能车初期培训,做出能简单循迹的小车,可以看这个速通版。

全程引导篇

是讲了做出能够完赛的智能车的整个过程,大部分文章只是简单点拨一下,但是附上了相关的文章链接,方便根据自己的情况深入了解。

全程引导篇,能够带你比较系统地了解整个智能车的制作过程,推荐备赛初期或者有车模之后学习。

详细讲解篇

是全程引导篇的补充,由于全程引导篇是引导性质,文章内容只是点拨,缺乏相应的原理或代码讲解,因此写详细讲解篇作为补充。

详细讲解篇会渗透在全程引导篇中。


==速通版==

智能小车速通版——手把手教程

==全程引导篇==

智能小车速通版——教程引导(原版)

智能小车速通版——教程引导

智能车入门——IDE安装以及库函数选用

智能车入门——编程语言(c)的学习

智能车入门——简单驱动常用模块

智能车入门——车模器件篇

智能车入门——模块化编程

智能车入门——跑车前的零碎知识

智能车入门——电磁循迹原理与实现

智能车入门——实现低速完赛

==详细讲解篇==

智能车入门补充篇

智能车入门补充篇——逐飞开源库介绍

智能车入门补充篇——常见宏定义和使用

智能车入门补充篇——模块化编程

智能车入门补充篇——电感值处理、转向控制与巡线

智能车入门补充篇——元素识别

智能车模块详解——按键及按键调参

智能车模块详解——数据存储与读写(eeprom/flash)

智能车入门——I/O、PWM

智能车入门——中断

智能车入门——编码器

智能车入门——陀螺仪

智能车入门——摄像头和CCD

智能车入门——舵机

(更新中)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_lucky_R

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值