
13.C语言精简版教程
文章平均质量分 78
C语言精简版教程:C语言是基础且强大的编程语言。它以函数为单位,通过main函数入口执行。变量存储数据,数据类型定义变量性质。控制结构如if、for等实现程序逻辑。指针操作内存地址,提升效率。文件操作实现数据持久化。编写时需遵循语法规则,注意分号结尾。C语言广泛应用于系统编程,学习它有助于深入理解计
可芯智能科技研究院
本人毕业于中南大学,人工智能硕博学历,从事软件开发十五年。曾在TDK人工智能研发中心任职,深入探索机器视觉技术,参与图像识别、目标跟踪等项目,成功应用深度学习等前沿技术于实际场景。后加入ATL,专注新能源及新型电力系统研发,主导充电桩电源、双向储能电源、无人机电源等多个重要项目的设计开发,掌握电力拓扑设计、仿真分析等核心技术,结合人工智能与物联网技术提升产品性能。在软件开发方面,本人精通各种编程语言和技术框架,具备出色的软件开发及调试能力。本人紧跟时代步伐,致力于新质生产力领域的研究。愿与志同道合的朋友共学、共享、共成长,共同在新能源、新型电力系统及人工智能与机器视觉领域创造更多价值。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
嵌入式C语言实战项目开发--编写一个IO按键程序并增加消抖功能
if(p->Now!p->Cnt = 0;该按键滤波函数通过计数器和滤波阈值实现了按键信号的消抖和边沿检测,适用于需要稳定输入状态的场景。通过结构体封装状态和参数,代码具有良好的可扩展性和可维护性。原创 2025-02-07 17:03:14 · 130 阅读 · 0 评论 -
EPM570T CPLD程序开发
安装完成后,您就可以开始编程了。先为要建立的工程建一个文件夹,文件夹路径中不能有中文,新建的工程就放到这个文件夹里,我这里要做的是译码器,所以我建了名为decoder的文件夹,工程名也叫做decoder。然后点击 Add File,在工程的文件夹目录下的output_file文件夹,把里面的.pof文件添加进来,打勾,然后start,就开始下载了,右上角可以看到下载进度。新买了一块CPLD板子,型号是100C5N,第一次玩CPLD记录一下,顺便也可以为其他第一次用CPLD的朋友们指指路。原创 2025-02-07 13:53:26 · 283 阅读 · 0 评论 -
一阶滤波(通常指一阶低通滤波)是一种简单的信号处理技术,用于去除信号中的高频噪声,保留低频成分。它的核心思想是通过对当前输入值和历史滤波值进行加权平均,逐步平滑信号。 --- ###
一阶低通滤波器的核心思想是通过对当前输入值和历史输出值进行加权平均,逐步平滑信号。它的优点是计算简单、易于实现,适合实时处理;缺点是滤波效果相对较弱,无法完全去除高频噪声。如果需要更强的滤波效果,可以考虑使用更高阶的滤波器(如二阶低通滤波器或卡尔曼滤波器)。原创 2025-01-31 13:51:39 · 456 阅读 · 0 评论 -
C语言编写一个五子棋游戏-代码实例讲解与分析
初始化棋盘:使用一个二维数组来表示棋盘,通常五子棋棋盘是15x15的。打印棋盘:根据棋盘数组的内容打印当前棋盘状态。玩家输入:获取玩家下棋的位置(行列号)。落子逻辑:检查输入的有效性(是否在棋盘范围内,该位置是否已被占用),并在有效时更新棋盘。检查胜利:每次落子后检查是否有玩家获胜。轮流下棋:通过循环让两位玩家轮流下棋,直到有玩家获胜或棋盘填满。原创 2024-09-28 22:21:38 · 2212 阅读 · 0 评论 -
分析第一个C语言程序
C语言自带的函数称为库函数(Library Function)。库(Library)是编程中的一个基本概念,可以简单地认为它是一些列函数的集合,在磁盘上往往是一个文件夹。C语言自带的库称为标准库(Standard Library),其他公司或个人开发的库称为第三方库(Third-Party Library)。关于库的概念,我们已在《不要这样学习C语言,这是一个坑》中进行了详细介绍。除了库函数,我们还可以编写自己的函数,拓展程序的功能。自己编写的函数称为自定义函数。原创 2024-09-28 22:14:57 · 928 阅读 · 0 评论 -
C语言程序的错误和警告
编译器只能检查编译和链接阶段出现的问题,而可执行程序已经脱离了编译器,运行阶段出现问题编译器是无能为力的。警告(Warning)表示可能会发生错误(实际上未发生)或者代码不规范,但是程序能够正常运行,有的警告可以忽略,有的要引起注意。可以看出,C-Free 的错误提示信息比较少,不方便程序员纠错。VC 和 VS 的错误信息类似,只是中英文的差别。我敢保证,你写的代码肯定会发生错误,一定要有分析错误的能力,这是一个合格的程序员必备的技能。图7:C-Free 5.0 的错误提示。图2:VC 6.0 的提示。原创 2024-09-28 22:12:35 · 1050 阅读 · 0 评论 -
哪款C语言编译器(IDE)适合初学者?
C语言的集成开发环境有很多种,尤其是 Windows 下,多如牛毛,初学者往往不知道该如何选择,本节我们就针对 Windows、Linux 和 Mac OS 三大平台进行讲解。原创 2024-09-28 22:08:50 · 1277 阅读 · 0 评论 -
什么是工程/项目?
一个真正的程序(也可以说软件)往往包含多项功能,每一项功能都需要几十行甚至几千行、几万行的代码来实现,如果我们将这些代码都放到一个源文件中,那将会让人崩溃,不但源文件打开速度极慢,代码的编写和维护也将变得非常困难。在实际开发中,程序员都是将这些代码分门别类地放到多个源文件中。除了这些成千上万行的代码,一个程序往往还要包含图片、视频、音频、控件、库(也可以说框架)等其它资源,它们也都是一个一个地文件。原创 2024-09-28 22:03:31 · 1080 阅读 · 0 评论 -
什么是IDE(集成开发环境)?
它是一个综合性的软件应用程序,旨在为软件开发者提供一整套的、易于使用的工具集,以便他们能够更高效地编写、调试、测试和部署代码。它通过将各种开发工具集成在一起,为开发者提供了一个高效、便捷的工作环境。对于包含多个文件和复杂依赖关系的项目,IDE提供了项目管理工具,帮助开发者组织代码、管理资源(如图片、视频、第三方库等)、跟踪依赖项,并自动生成构建脚本。现代IDE通常支持与版本控制系统(如Git、SVN等)的集成,允许开发者直接在IDE内部进行代码的提交、拉取、分支管理等操作,进一步简化了版本控制流程。原创 2024-09-28 21:54:02 · 2125 阅读 · 0 评论 -
C语言编译和链接详解(通俗易懂,深入本质)
编译就是将我们编写的源代码“翻译”成计算机可以识别的二进制格式,它们以目标文件的形式存在;链接就是一个“打包”的过程,它将所有的目标文件以及系统组件组合成一个可执行文件。如果不是特别强调,一般情况下我们所说的“编译器”实际上也包括了链接器,比如,你使用了哪种编译器?去哪里下载C语言编译器?我的编译器为什么报错了呢?原创 2024-09-28 21:44:33 · 1215 阅读 · 0 评论 -
什么是源文件?
将代码保存到源文件只是软件开发的第一步。在开发过程中,还需要理解编译、链接等概念,掌握源代码管理和版本控制工具的使用,以及遵循良好的编程风格和规范。这些知识和技能将帮助开发者更加高效地编写、测试和维护代码,从而开发出高质量的软件产品。原创 2024-09-26 21:55:25 · 545 阅读 · 0 评论 -
C语言编译和链接详解(通俗易懂,深入本质)
编译就是将我们编写的源代码“翻译”成计算机可以识别的二进制格式,它们以目标文件的形式存在;链接就是一个“打包”的过程,它将所有的目标文件以及系统组件组合成一个可执行文件。如果不是特别强调,一般情况下我们所说的“编译器”实际上也包括了链接器,比如,你使用了哪种编译器?去哪里下载C语言编译器?我的编译器为什么报错了呢?原创 2024-09-26 21:54:29 · 1349 阅读 · 0 评论 -
编程时请选择正确的输入法,严格区分中英文
计算机起源于美国,C语言、等很多流行的编程语言都是美国人发明的,所以在编写代码的时候必须使用,尤其是标点符号,初学者一定要引起注意。例如,上节我们使用 puts 语句在显示器上输出内容:puts("C语言中文网");这里的括号、双引号、分号都必须是英文符号,而且是半角的。下图演示了如何将搜狗输入法切换到英文半角状态:图1:搜狗输入法初学者请务必注意标点符号的问题,它们在视觉上的差别很小,一旦将英文符号写成中文符号就会导致错误,而且往往不容易发现。我在给。原创 2024-09-26 21:52:44 · 549 阅读 · 0 评论 -
第一个C语言程序
我们有两种方式从计算机获得信息:一是看屏幕上的文字、图片、视频等,二是听从喇叭发出来的声音。让喇叭发出声音目前还比较麻烦,我们先来看看如何在屏幕上显示一些文字吧。在屏幕上显示文字非常简单,只需要一个语句,例如,下面的代码会让屏幕显示出“C语言中文网”:puts("C语言中文网");这里有一个生疏的词汇puts,用来让计算机在屏幕上显示文字。puts 是 output string 的缩写,意思是”输出字符串“。在C语言中,字符串需要用双引号" "包围起来,C语言中文网。原创 2024-09-26 21:51:32 · 380 阅读 · 0 评论 -
ASCII编码,将英文存储到计算机
前面我们已经讲到,计算机是以二进制的形式来存储数据的,它只认识 0 和 1 两个数字,我们在屏幕上看到的文字,在存储之前都被转换成了二进制(0和1序列),在显示时也要根据二进制找到对应的字符。可想而知,特定的文字必然对应着固定的二进制,否则在转换时将发生混乱。那么,怎样将文字与二进制对应起来呢?这就需要有一套规范,计算机公司和软件开发者都必须遵守,这样的一套规范就称为字符集(Character Set)或者字符编码(Character Encoding)。原创 2024-09-26 21:49:31 · 1080 阅读 · 0 评论 -
载入内存,让程序运行起来
如果你的电脑上安装了QQ,你希望和好友聊天,会双击QQ图标,打开QQ软件,输入账号和密码,然后登录就可以了。那么,QQ是怎么运行起来的呢?首先,有一点你要明确,你安装的QQ软件是保存在硬盘中的。双击QQ图标,操作系统就会知道你要运行这个软件,它会在硬盘中找到你安装的QQ软件,将数据(安装的软件本质上就是很多数据的集合)复制到内存。对!就是复制到内存!QQ不是在硬盘中运行的,而是在内存中运行的。为什么呢?因为内存的读写速度比硬盘快很多。原创 2024-09-26 21:48:10 · 649 阅读 · 0 评论 -
数据在内存中的存储(二进制形式存储)
计算机要处理的信息是多种多样的,如数字、文字、符号、图形、音频、视频等,这些信息在人们的眼里是不同的。但对于计算机来说,它们在内存中都是一样的,都是以二进制的形式来表示。要想学习编程,就必须了解二进制,它是计算机处理数据的基础。内存条是一个非常精密的部件,包含了上亿个电子元器件,它们很小,达到了纳米级别。这些元器件,实际上就是电路;电路的电压会变化,要么是 0V,要么是 5V,只有这两种电压。5V 是通电,用1来表示,0V 是断电,用0来表示。所以,一个元器件有2种状态,0 或者 1。原创 2024-09-26 21:46:21 · 815 阅读 · 0 评论 -
进制转换:二进制、八进制、十六进制、十进制之间的转换
本节前面两部分讲到的转换方法是通用的,任何进制之间的转换都可以采用,只是有时比较麻烦而已。二进制和八进制、十六进制之间的转换有非常简洁的方法,所以没有采用前面的方法。原创 2024-09-26 21:44:42 · 1509 阅读 · 0 评论 -
进制详解:二进制、八进制和十六进制
我们平时使用的数字都是由 0~9 共十个数字组成的,例如 1、9、10、297、952 等,一个数字最多能表示九,如果要表示十、十一、二十九、一百等,就需要多个数字组合起来。例如表示 5+8 的结果,一个数字不够,只能”进位“,用 13 来表示;这时”进一位“相当于十,”进两位“相当于二十。因为逢十进一(满十进一),也因为只有 0~9 共十个数字,所以叫做十进制(Decimalism)。十进制是在人类社会发展过程中自然形成的,它符合人们的思维习惯,例如人类有十根手指,也有十根脚趾。原创 2024-09-26 21:42:16 · 850 阅读 · 0 评论 -
C语言2048小游戏演示和说明
2048游戏是风靡一时的小游戏,我们提供的2048小游戏不依赖 TC 环境,不依赖任何第三方库,可以在 VS、CodeBlocks、DEV。设计 2048 小游戏的主要目的是让大家夯实 C 语言基础,训练编程思维,培养解决问题的思路,领略多姿多彩的 C 语言。等常见 IDE中编译通过。原创 2024-09-26 21:36:12 · 347 阅读 · 0 评论 -
英语和数学不好,能学编程吗?
当然,我们可以继续补充和完善这篇文章,以更全面地解答初学者的疑虑。很多初学者在踏入编程领域之前,都会担心自己的英语和数学基础是否足够。但实际上,这些担忧往往是多余的。下面,我将进一步阐述为什么英语基础不好和数学基础不好都不会成为学习编程的障碍。原创 2024-09-26 21:34:43 · 508 阅读 · 0 评论 -
学编程难吗?多久能入门?
定期对自己的学习成果进行反思和总结。找出自己的不足之处,并制定相应的改进计划。同时,也要学会欣赏自己的进步和成就,保持对编程的热爱和信心。原创 2024-09-26 16:15:13 · 944 阅读 · 0 评论 -
C语言是菜鸟和大神的分水岭
C语言被视为计算机科学和软件开发领域中的一个重要分水岭,这主要源于其底层特性和广泛的应用范围。它不仅是许多高级编程语言的基石,如C++、Java、Python(在某种程度上,通过C语言编写的CPython解释器)等,而且直接涉及到系统编程、嵌入式系统、游戏开发、操作系统开发等多个领域。因此,掌握C语言往往被视为从“菜鸟”到“大神”转变的一个重要标志,但这并不意味着C语言是唯一的分水岭,也不意味着所有使用C语言的人都是大神。原创 2024-09-25 16:13:45 · 1337 阅读 · 0 评论 -
C语言究竟是一门怎样的语言?
对于大部分程序员,C语言是学习编程的第一门语言,很少有不了解C的程序员。C语言除了能让你了解编程的相关概念,带你走进编程的大门,还能让你明白程序的运行原理,比如,计算机的各个部件是如何交互的,程序在内存中是一种怎样的状态,操作系统和用户程序之间有着怎样的“爱恨情仇”,这些底层知识决定了你的发展高度,也决定了你的职业生涯。如果你希望成为出类拔萃的人才,而不仅仅是码农,这么这些知识就是不可逾越的。也只有学习C语言,才能更好地了解它们。原创 2024-09-25 13:55:39 · 1507 阅读 · 0 评论 -
C语言贪吃蛇小游戏演示和说明
C语言中文网提供的贪吃蛇游戏不依赖TC环境,不依赖任何第三方库,可以在VC 6.0、VS、C-Free等常见IDE中编译通过。按下键盘上的任意一个键,贪吃蛇开始移动。设计贪吃蛇游戏的主要目的是让大家夯实C语言基础,训练编程思维,培养解决问题的思路,领略多姿多彩的C语言。原创 2024-09-25 10:08:37 · 1101 阅读 · 0 评论 -
有符号数是如何判断正负符号位的?
【代码】有符号数是如何判断正负符号位的?原创 2023-11-11 06:39:25 · 459 阅读 · 0 评论 -
编程实战班--C语言和Python语言实现五子棋游戏的代码
上述代码使用Pygame库实现了五子棋游戏的主要功能,包括绘制棋盘、绘制棋子、检查胜负、玩家落子和AI对战等功能。需要注意的是,在AI对战部分,上述代码仅使用了一个随机算法实现,可以通过优化算法来提高AI的胜率和智能程度。原创 2023-07-27 07:03:49 · 207 阅读 · 0 评论 -
C++作用范围/C++的作用域
类成员的名称具有类范围,该范围在整个类定义中扩展,与声明点无关。全局名称是在任何类、函数或命名空间之外声明的名称。对于全局名称,可见性也受链接规则的约束,这些规则确定名称是否在程序中的其他文件中可见。在函数或 lambda 中声明的名称(包括参数名称)具有局部范围。标签具有函数范围,这意味着它在整个函数正文中甚至在声明点之前都是可见的。在命名空间中声明的名称(在任何类或枚举定义或函数块之外)从其声明点到命名空间末尾可见。在for、if、while 或 switch 语句中声明的名称在语句块结束之前可见。原创 2023-07-22 21:24:03 · 176 阅读 · 0 评论 -
C++ 类型系统
C++还允许我们为已有类型创建自定义的类型别名,以便在代码编写中提高可读性。所有这些类型都构成了C++的类型体系,可以通过编程方式使用和扩展。掌握这些类型将有助于您设计和实现复杂的程序,同时允许您使用更好、更优化的编程方式。总体来说,C++的类型系统是非常强大和灵活的,允许开发者使用多种类型来设计和实现各种数据结构和算法。原创 2023-07-22 21:06:32 · 142 阅读 · 1 评论 -
程序员常用的算法汇总,含代码例程与解释
int temp;i < n - 1;i ++) {j ++) {} } } }上述算法涉及到不同领域,但是可以总结出它们的一些特点:排序算法:用于对数据进行排序,不同算法的时间和空间复杂度不同,选择不同的算法会影响程序的性能。搜索算法:用于在数据集中查找特定元素或寻找最优路径。线性搜索和二分搜索是比较常用的算法,广度优先搜索和深度优先搜索可以用于图遍历和路径寻找。图算法:用于处理图结构中的问题,如最短路径问题、最小生成树问题、拓扑排序问题等。原创 2023-07-09 21:47:50 · 576 阅读 · 0 评论 -
聊聊一个程序员一生中可能会邂逅各种各样的算法
常见的算法包括排序算法、查找算法、图论算法和字符串算法等。下面简单介绍一下这些算法:排序算法:对一组数据按照一定的规则进行排序的算法,常用的排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序等。查找算法:在一组数据中查找目标值的算法,包括线性查找和二分查找。图论算法:解决图论相关问题的算法,包括最短路径算法、最小生成树算法、图的着色问题等。字符串算法:处理字符串相关问题的算法,包括字符串匹配算法、字符串编辑距离算法等。原创 2023-07-08 08:27:23 · 294 阅读 · 0 评论 -
HAL库中如何屏蔽复用功能-PB4引脚无法正常输出IO电平,默认为JTAG模式
终于把PB4对应的灯点亮:原创 2023-06-28 14:15:58 · 1027 阅读 · 0 评论 -
如何用c语言实现自制的cos函数与sin函数
然后,我们定义了 init_cos_table() 函数,该函数负责初始化 cos_table 数组,具体实现方法是计算每个角度的弧度值,然后调用 cos() 函数计算对应的 cos 值,并存储在采样表中。值得注意的是,在使用采样数组方法时,我们需要适当地权衡精度和存储空间,以便在满足精度要求的前提下,尽可能地存储更少的数据。要实现自制的cos函数,可以使用采样数组的形式,也称为查表法。采样数组是事先计算好cos值的一个数组,然后根据角度的大小直接从数组中取对应的cos值,避免频繁地重复计算cos值。原创 2023-06-25 14:24:55 · 1055 阅读 · 0 评论 -
FIFO功能FIFO程序 队列如何实现
在编写串口通信或者CAN通信过程中,为了防止数据丢失及数据卡死等问题,需要设置消息缓存队列,因此需要用C语言编写消息队列函数。2.选项DEV C++开发工具,作为C语言的编译器,用于测试实际的编程效果。原创 2023-02-23 11:33:57 · 544 阅读 · 0 评论