手撕C语言
文章平均质量分 85
该专栏分享一些c/c++基础知识点,计算机相关专业必修学科之一的c语言是今后绝大部分IT工作的基础,也是锻炼自己代码逻辑编程思想的主演工具,简单易懂,对做比赛等也有很大的帮助。
祐言QAQ
目前已大四,分享自己的学习笔记心得和一些技术问题讨论,兼广泛交友,如果你和我一样想走嵌入式软开或者C/C++方向,欢迎交流讨论,博主初创期,写的不好见谅啦,当然也欢迎及时指正我的错误,让我们一起成为走路带风的攻城狮吧~
展开
-
【手撕C语言】多线程
详细介绍线程之间如何共享全局变量,并且主线程通过创建新线程以及发送取消请求来管理其他线程的执行原创 2023-08-07 19:44:01 · 1544 阅读 · 0 评论 -
RGB颜色值与十六进制颜色码对照表(超详细)
RGB颜色值转换为十六进制颜色码和十六进制颜色码转换为RGB颜色值,是非常常见的编程中需要用到的,查表很快就能找到对应关系。原创 2023-08-03 15:53:37 · 8367 阅读 · 0 评论 -
目录操作在C语言中:一个全面的指南
通过这篇文章,你应该对C语言中的目录操作有了一定的理解。openalr readdirmkdirchdir getcwd closedir get_current_dir_name这些函数提供了对文件系统进行读写的基础工具,我们可以通过组合使用这些函数来实现各种复杂的文件和目录操作。原创 2023-07-26 19:34:07 · 1427 阅读 · 0 评论 -
【玩转Linux】标准IO函数
标准IO函数 1.fopen() / fclose() 2.fgetc()和getc()和getchar(),以及fputc()和putc()和putchar() 3.fgets()/gets()/fputs()/puts() 4.feof()/ferror() 5.fread(/fwrite() 6.fseek()/ftell()/rewind 7.printf()/fprintf()/sprintf()/snprintf()/scan原创 2023-07-25 19:51:25 · 670 阅读 · 0 评论 -
关于系统时间的一些time库函数
time库函数: 1.clock函数 2.time函数3.asctime函数4.localtime函数 5.ctime函数6.difftime函数 7.gmtime函数8.mktime函数9.strftime函数原创 2023-07-26 19:01:57 · 754 阅读 · 0 评论 -
【手撕C语言基础】字符串
字符串是由字符组成的一串数据,在C语言中以null字符('\0')结尾。C语言中没有内置的字符串类型,通常使用字符数组或指针来表示字符串。字符串的常用操作包括拼接、复制、比较和查找等。今天我们来讨论C语言中的字符串应用,包括字符串的赋值、常用的字符串函数,以及对应的例程。原创 2023-07-20 20:09:07 · 50 阅读 · 1 评论 -
【手撕C语言基础】控制流
控制流是编程语言中用于控制程序执行顺序的语句或结构。在C语言中,主要有顺序结构、分支结构(if语句和switch语句)、循环结构(while循环、do-while循环和for循环)等。补充内容包括break语句(提前结束循环或switch语句)、continue语句(提前结束当前迭代)、goto语句(无条件转移到指定标签处)。但应谨慎使用goto语句,以保持代码的可读性和可维护性。掌握这些基础知识可以更灵活地控制程序的执行流程,实现各种逻辑。编程时应注重代码的简洁清晰,避免复杂难懂的控制结构,确保代原创 2023-07-20 14:02:39 · 71 阅读 · 1 评论 -
【手撕C语言基础】数组
在C语言中,数组是同一种数据类型的连续元素的集合。我们可以通过一个索引来访问数组中的特定元素。语法释义: “a”是数组名,即这片连续内存的名称; “[5]”代表这片连续内存总共分成5个相等的格子,每个格子称为数组的元素; “int”代表每个元素的类型,可以是任意基本类型,也可以是组合类型,甚至可以是数组; 而“{ }”中的元素就是赋值。 我们可以通过数组的索引来访问和修改数组的元素。索引从0开始,到数组长度-1结束。原创 2023-07-20 10:57:00 · 49 阅读 · 1 评论 -
【手撕C语言基础】递归
递归是一种解决问题的方法,它将一个问题分解为更小的子问题,直到问题可以直接解决。使用递归的函数会自我调用,并且每次调用都会缩小问题的规模,这样直到可以直接计算结果。重要的是,每个递归调用都应该离解决问题更近一步,并且有一个清晰的终止条件。递归是编程中的一个强大工具,它能让我们以简洁和直观的方式解决复杂问题。然而,递归也有其复杂性和效率问题。作为一名优秀的程序员,理解何时以及如何使用递归是非常重要的。今天的分享就到这啦~觉得博主写的还不错的烦劳 一键三连喔。原创 2023-07-18 21:00:33 · 132 阅读 · 2 评论 -
【手撕C语言基础】C语言常见错误分析
c语言常见的十大经典错误分析和实例,超详细原创 2023-07-18 16:45:49 · 1180 阅读 · 1 评论 -
【手撕C语言基础】联合体与枚举
(1)联合体名字:用来区分各个不同的联合体;(2) 成员:是包含在联合体内部的数据,可以是任意的数据类型。union 联合体名字 {成员类型 成员1;成员类型 成员2;...在本文中,探讨了C语言中联合体和枚举的概念、语法和用法。通过实例分析展示了联合体和枚举在不同场景下的实际应用。学习和理解联合体和枚举,使我们可以更好地处理和操作不同类型的数据,提高程序的可读性和可维护性。希望本文对小白的你在C语言编程中的学习和实践有所帮助~今天的分享就到这啦~觉得博主写的还不错的烦劳 一键三连喔。原创 2023-07-14 17:43:52 · 249 阅读 · 1 评论 -
基于C语言的学生成绩管理系统
一个基础功能完善的学生成绩管理系统必须要实现对学生信息的管理和处理,包括初始化学生信息、计算平均成绩、修改成绩、查看学生信息、排序学生信息和筛选查看学生成绩等功能。它可以帮助用户管理学生的成绩信息,并根据不同的需求进行排序和筛选,方便了学生成绩的管理和分析。原创 2023-07-13 20:45:39 · 261 阅读 · 1 评论 -
【手撕C语言基础】结构体(2)
结构体在C语言的学习中占有举足轻重的地位,今后也会常常用到,通过结构体,我们可以创建具有多个成员变量的数据结构,并灵活地使用和操作这些数据。定义结构体类型:通过 struct关键字定义结构体类型,包含多个成员变量。创建结构体变量:使用定义的结构体类型创建结构体变量。访问结构体成员:使用点操作符或者 -> 访问结构体变量的成员变量。结构体赋值:可以将一个结构体变量的值赋给另一个结构体变量。结构体数组:可以创建结构体类型的数组来存储多个结构体变量。原创 2023-07-13 19:17:21 · 209 阅读 · 1 评论 -
【学生成绩管理系统】基于结构体的一个小项目
我们来设计实现一个程序:对学生信息的存储、计算和打印。它可以方便地管理和处理多个学生的成绩数据,并根据平均成绩进行等级评定。原创 2023-07-12 21:03:18 · 156 阅读 · 1 评论 -
【手撕C语言基础】结构体
在C语言中,结构体是一种用户自定义的数据类型,可以将多个不同类型的数据组合在一起。结构体的定义通常放在函数外部,以便于全局使用。int age;在上面的示例中,我们定义了一个名为 student的结构体,它包含了名字(字符串类型)、年龄(整数类型)和分数(浮点数类型)三个成员。今天的分享就到这啦~觉得博主写的还不错的烦劳 一键三连喔。原创 2023-07-12 16:10:47 · 166 阅读 · 1 评论 -
原码、反码和补码之间的转换
原码、补码和反码是用来表示有符号整数的三种表示方法,它们在计算机中常用于进行数值运算和存储。1.原码(Sign-Magnitude Representation)最高位为符号位(0 表示正数,1 表示负数),其余位表示数值部分。例如,正数 +5 的原码为 00000101,负数 -5 的原码为 10000101。2.反码(One's Complement Representation)正数的反码与其原码相同。原创 2023-07-12 11:39:53 · 22171 阅读 · 5 评论 -
【手撕C语言基础】内存布局和作用域
本文详细介绍了内存以及作用域,内存讲解包括内存布局图示,虚拟内存讲解等等原创 2023-07-11 16:48:21 · 286 阅读 · 1 评论 -
【手撕C语言基础】遍历
遍历与双重遍历的讲解与例子原创 2023-07-08 10:48:27 · 3526 阅读 · 1 评论 -
【编程中的数学】:冰雹猜想
不难看出这段代码实现了冰雹猜想的算法,它根据用户输入的正整数,计算并打印出该数字的冰雹序列。程序通过迭代的方式,根据数字的奇偶性进行变换,直到最终收敛到4-2-1的循环序列。树根是由数字4、2和1组成的循环枝,而树枝和叶子则构成了一个奥妙的通路,覆盖了所有的自然数。蝴蝶效应认为初始值的微小变化可能会导致结果的巨大不同,而冰雹猜想则说明无论初始值如何,最终都会收敛到相同的循环序列。冰雹猜想的魅力在于其不可预测性。通过运行这段代码,可以亲自体验冰雹猜想的神奇之处,体验编程中的数学,让学习编程不是那么枯燥乏味!原创 2023-07-07 20:56:39 · 1015 阅读 · 1 评论 -
【手撕C语言基础】函数(2)
在函数(1)中我们已经讲过了函数的定义,形参与实参等,接下来还有几个要强调的函数相关知识:静态函数、递归函数、回调函数。回调函数是一种函数指针的应用,允许将一个函数作为参数传递给另一个函数,并在需要的时候调用该函数。通过回调函数,可以实现灵活的、可定制的行为,将控制权交给调用者,以便在适当的时候执行特定的操作。回调函数通常用于实现事件处理、异步编程和定制化操作等场景。原创 2023-07-07 20:25:12 · 176 阅读 · 1 评论 -
【手撕C语言基础】函数(1)
C语言函数由函数头和函数体组成。函数头包括返回类型、函数名和参数列表,用于声明函数的类型和参数信息。函数体包含了实际的代码逻辑。示例:封装一个加法器return sum;return sum;int y = 3;return 0;原创 2023-07-06 17:23:12 · 238 阅读 · 0 评论 -
【C语言基础】初识指针:解析C语言中的神奇工具
该文章提供了关于指针的基本概念、声明与初始化、指针运算等方面的详细解释,以及关于野指针、空指针、char型指针和多级指针的相关内容。此外,文章还介绍了野指针和空指针的概念。野指针指向未知或无效内存地址,可能导致程序崩溃、数据损坏或产生不可预测的结果。总体而言,这篇文章提供了对指针概念和使用方法的深入解释,对于初学者理解指针非常有帮助。原创 2023-07-05 20:21:26 · 142 阅读 · 1 评论 -
排序算法之冒泡排序
冒泡排序法作为最基础的排序算法之一,为我们理解和学习其他排序算法奠定了基础。通过深入理解冒泡排序法的原理、掌握实现方法以及了解优化技巧,我们可以更好地应用它,并能够更好地理解其他高级排序算法。尽管冒泡排序法在实际应用中的效率有限,但通过对排序算法的学习和探索,我们能够发现更多高效的算法。今天的分享就到这里啦~原创 2023-07-05 09:31:50 · 2730 阅读 · 1 评论 -
总结几个C语言小程序
1.C语言打印正方形图像;2.C语言爱心图像;3.计算某日是该年的第几天。原创 2023-07-04 14:59:16 · 1483 阅读 · 0 评论 -
C语言小练习【计算某日是该年的第几天】
这个程序主要涉及两个重要的知识点:闰年的判断和一年中每个月的天数。原创 2023-07-01 11:30:39 · 263 阅读 · 0 评论 -
【玩转linux】VIM编辑器
Vim(Vi IMproved)是一个强大的文本编辑器,广泛用于命令行界面。它是Vi编辑器的增强版本,提供了许多增强功能和改进。以下是Vim编辑器的一些主要特点和功能:模态编辑:Vim编辑器有不同的模式,包括插入模式、命令模式和可视模式。这使得编辑效率更高。默认情况下,Vim进入命令模式,用户可以使用各种命令来执行编辑操作。快捷键:Vim使用大量的快捷键来执行各种编辑任务。这些快捷键的组合可以显著提高编辑速度。例如,h、j、k和l分别对应左、下、上和右的光标移动。原创 2023-06-28 17:00:59 · 141 阅读 · 0 评论 -
毕业想做嵌入式软件开发,大学要怎么过
越来愈多的大专生等等都跑来卷,你不学习光靠一个本科背景很难找到趁手且待遇不低的工作,所以不建议去卷,而不是它真的凉了,牛p的前端开发工程师,月入几w的大有人在。作为一个即将毕业的学长,我有些话想对学弟学妹们说,大学不是你休闲放纵的地方,而是你学习一门比修车更体面更赚money的技术平台,不要抱怨学校不要抱怨社会,社会在发展,优胜劣汰的道理大家都懂。了解如何编写嵌入式系统程序。记住,实践是最好的老师,尽可能多地进行实际项目和实际编码,积累有效编码行数,当你的有效编码行数达到1w,轻松进大厂hhh~原创 2023-06-04 15:10:57 · 125 阅读 · 0 评论 -
解释面向对象编程
方法重写是子类重写父类的方法,使得同一个方法在不同的子类中有不同的实现。方法重载是在一个类中定义多个同名但参数列表不同的方法,根据调用时传递的参数类型和数量来确定具体执行哪个方法。在面向对象编程中,对象是指一个具体的实体,它封装了数据(属性)和操作数据的方法(行为)。继承允许创建新的类,从现有的类中继承属性和方法。继承关系形成了一个类的层次结构,子类可以继承父类的属性和方法,并且可以添加自己的特定功能。通过封装,对象的内部细节对外部是隐藏的,只暴露必要的接口,从而提供了数据的安全性和代码的模块化。原创 2023-06-04 14:54:24 · 70 阅读 · 0 评论 -
浅谈C/C++的区别
它提供了更多的特性和工具,使程序员能够更高效地编写复杂的应用程序,并且支持面向对象编程的范式。(听起来像是成了Java一样的感觉,或者说python,其实他们确实是C以上的高阶语言,所以说C++是你打开全栈工程师大门的第一步。除了可以使用C语言中的内存管理手段(如malloc和free),C++还引入了运算符new和delete,以及自动内存管理的概念(如智能指针和RAII)。C++是在C语言的基础上发展而来的,因此它包含了C语言的所有功能,并且引入了更多的特性和概念。原创 2023-06-04 14:46:39 · 125 阅读 · 0 评论 -
【手撕C语言基础】运算符(3)
算术运算符(+、-、*、/)的优先级较高,而逻辑运算符(&&、||)的优先级较低。取地址运算符用于获取变量的地址,解引用运算符用于访问指针指向的变量,并且指针运算符在C语言中具有重要的地位,它允许对内存进行直接操作,实现了灵活的数据访问和处理。C语言中的运算符可以按照功能进行分类,常见的类型包括算术运算符、关系运算符、逻辑运算符、位运算符等。不同类型的运算符用于不同的操作和目的。(2)关系运算符:用于比较两个值的关系,包括大于(>)、小于(=)等;原创 2023-05-24 17:25:47 · 65 阅读 · 0 评论 -
系统学习C语言
比较推荐的社区有,CSDN中的一些以及华为云,嵌入式社区,qt社区,如果你尝试去使用GitHub那也是非常不错的。这些工具都有着各自的优缺点,可以根据自己的习惯和需求选择适合自己的工具。掌握好基本语法和概念,多做练习和阅读源代码,选择适合自己的开发工具,参与社区和交流,这些都是学习 C 语言的关键。C 语言有着悠久的历史和庞大的代码库,通过阅读一些优秀的开源项目的源代码,可以学习到一些好的编程实践和设计模式。在练习的过程中,不仅可以巩固自己的知识点,还可以锻炼自己的编程能力和解决问题的能力。原创 2023-05-08 19:44:44 · 200 阅读 · 0 评论 -
【手撕C语言基础】C语句的作用和分类
C语言是一种被广泛应用于系统编程和嵌入式开发的编程语言。C语言的语法简单,运行速度快,能够直接操作计算机内存,因而广受欢迎。在C语言中,语句是构成程序的基本单元,是由一系列操作组成的命令序列。C语言中的语句主要分为表达式语句控制语句和函数调用语句三种类型。原创 2023-05-04 17:35:04 · 319 阅读 · 0 评论 -
【手撕C语言基础】运算符(2)
后续的更新和一些不常用介绍,详细的运算符知识看1 和2 这是 3原创 2023-04-12 19:13:06 · 66 阅读 · 0 评论 -
【手撕C语言基础】运算符(1)
C语言运算符号指的是运算符号,C语言中的符号分为10类:算术运算符、关系运算符、逻辑运算符、位操作运算符、赋值运算符、条件运算符、逗号运算符、指针运算符、求字节数运算符和特殊运算符,接下来我们就来介绍和实现一下他们。原创 2023-04-10 19:52:24 · 179 阅读 · 1 评论 -
【c语言基础】数据类型
1. 常量:指的是在程序运行中,其值不能被改变的量,一般有整型常量(3,5,8)、实型常量(十进制数或指数形式)和字符型常量(‘A’,‘B’,‘#’)2. 变量:变量代表一个有名字且具有一定特定属性的一个储单元,必须要保证它先定义后使用,可在程序运行时被更改。 3.常见数据类型 C语言中有四种基本数据类型:整型、浮点型、字符型和布尔型。 常变量就是被赋予了常属性的变量,但是不可改原创 2023-03-16 18:31:11 · 184 阅读 · 2 评论 -
【c语言基础】算法
算法中的指令描述的是一个计算,当其运行时能从一个初始状态和(可能为空的)初始输入开始,经过一系列有限而清晰定义的状态,最终产生输出并停止于一个。通过前面的学习我们了解了什么是c语言以及c语言的特点和基本的程序结构,那么接下来我们来认识一下算法。算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述。有效性:算法中的每一步应当能有效的执行,并且得到确定的结果;确定性:算法的每一步都是确定的,有明确的动作;,一个状态到另一个状态的转移不一定是确定的。原创 2023-03-15 17:46:33 · 99 阅读 · 0 评论 -
【C语言基础】程序结构
C语言是计算机相关专业的必修课,那么到底如何学好和彻底掌握呢,我觉得复习很关键,尽管在之前的学习中不免用到c语言,但已经很久没有系统复习它了,很多东西会用但其实理解并不深刻,复习就是加深和检验自己到底有没有学明白、学清楚的最好方法。它的发展历程还是蛮艰辛,现在比较流行的c/c++、Java、Visual Basic等。语言简洁高效无疑是排在第一位的,其次呢,数据类型与运算符丰富,语法限制不太严格,设计自由度高(一般体现在不同的结构可实现相同的功能),再者可移植性和执行效率也成就了它现在的地位。原创 2023-03-09 21:53:48 · 86 阅读 · 0 评论