人才程序员
软件:C/C++ Qt CMake 数据结构 Linux网络。C++Opencv Python 前端(HTML、CSS....) 鸿蒙软件开发ArkTS 硬件:51单片机,esp系列(esp32、esp8266、esp32-s3),stm32、freertos。openharmony。可以带徒弟:C/C++ Python Lua STM32 esp32
展开
-
C语言之99乘法表
99乘法口诀表:for循环的一个训练原创 2022-02-03 12:04:25 · 7254 阅读 · 2 评论 -
C语言之整形与变量地址
除了我们的int unsigned int我们还有其他的整形:short短整形,long int长整形,longlong int(vc6++不支持)short: 有符号的大小为-32768~32767,无符号的大小为0~65535。他的输出格式符为"%hd"short a = 1;//定义一个短整形的变量asizeof(a);//sizeof取变量的大小我们通过此判断短整型short大小为2字节。long int:无符号的大小为0~4294967295,有符号的大小为-2147原创 2022-01-30 08:22:17 · 1772 阅读 · 2 评论 -
C语言:优先级与运算符的介绍
c语言运算符优先级与自加自减和一些复合运算符的一些介绍原创 2022-02-01 19:39:50 · 2696 阅读 · 2 评论 -
C语言之选择判断(一)
if,else,else if的使用以及一个小练习原创 2022-02-03 17:18:25 · 1661 阅读 · 0 评论 -
【C++11多线程】多线程之数据共享
本节课的主要内容是解决线程中数据共享的问题提示:以下是本篇文章正文内容,下面案例可供参考数据共享的定义:在多个线程中读/写一个变量。那我们首先要知道:变量能同时读取一个数据但不能同时写和读或者一起写同一个数据。数据我们可以定义为全局变量或类中的一个成员。...原创 2022-08-11 18:15:00 · 1718 阅读 · 0 评论 -
【C++运算符重载】运算符重载(一)
赋予运算符自定义功能默认常数+常数比如对象+对象,默认情况下是不被允许的,当我们重载了+后,就可以实现对象相加了对象+常数,常数+对象重载函数,函数的两个参数在小括号内,运算符的两个参数在两侧提示:以下是本篇文章正文内容,下面案例可供参考。原创 2022-09-09 10:36:17 · 343 阅读 · 0 评论 -
C语言流程结构之循环语句(一)
while循环,循环3要素和死循环。原创 2022-02-02 09:32:44 · 573 阅读 · 0 评论 -
【C++STL】string类
本节课讲的是STL(Standard Template Library 标准模板库)string(二)提示:以下是本篇文章正文内容,下面案例可供参考大家好好复习string类的第一部分。原创 2022-10-23 20:33:39 · 460 阅读 · 0 评论 -
C语言之选择判断(二)
switc的使用与一个菜单例子原创 2022-02-03 18:09:57 · 414 阅读 · 0 评论 -
【C++运算符重载】运算符重载(二)
本节课是对上节的示例,我给大家把一些运算符都写一下,方便大家使用不同的运算符。原创 2022-09-10 13:18:33 · 199 阅读 · 0 评论 -
C语言之运算符
运算符是什么,就是可以让2或2个以上的数进行运算的。如"+","-","*","/","%"(求余数),"="(赋值号)。首先是赋值运算符:int a = 12;//等于就是赋值运算符形式:左侧必须是变量,右侧变量和常量都行。不这样写会报错。 他怎么读呢? 读法为:将12赋值给变量a。...原创 2022-02-01 17:49:21 · 308 阅读 · 0 评论 -
C语言:数据类型之整形(一)
什么是数据?记录一天各个时间的温度,那么这个温度就是数据.记录一个水库水位的变化值,那么这个值就是数据.什么是数据类型?12 15 是整数 12.23是小数 "hello world"是一段话基本数据类型:数值类型:整形,浮点型。整形顾名思义就是整数,像:1,2,3,4,5就是整形整形在C语言的关键字是:int 那么整形怎么输出呢?#include <strio.h>//包含标准库头文件int main(void)//主函数{ //打印12原创 2022-01-29 18:37:01 · 4731 阅读 · 1 评论 -
C语言之变量的输入
首先上格式int a;//定义一个变量,用来接受输入的值scanf_s("%d",&a);//vs的输入scanf("%d",&a);//其他编译器的输入1.scanf() 2.%d,这个格式字符一定要和变量对上 3.&a一定要加取地址符号"&",要不然会错误。 4.回车键结束输入。使用vs的同学需要使用scanf_s.其他编译器的同学就使用scanf。 他们的区别到字符讲。输入2个或2个以上的时候怎么办?在输入输出符的后面加空格int a,b原创 2022-01-30 17:07:46 · 3430 阅读 · 0 评论 -
【C++11】C++多线程之条件变量,异步启动任务(1)
条件变量以及异步任务(1)提示:以下是本篇文章正文内容,下面案例可供参考。原创 2022-08-10 19:45:48 · 480 阅读 · 0 评论 -
【C++】类内成员析构函数 常函数 static的介绍 浅拷贝
本节课重点讲的是析构函数 常函数 static成员提示:以下是本篇文章正文内容,下面案例可供参考。原创 2022-09-01 00:00:00 · 397 阅读 · 0 评论 -
【Linux网络编程】服务端编程初体验
在上节课(Linux网络编程初体验)中我们实现了连接bilibili的功能,并获取其html源码如图所示.今天我们要自己编写个服务端来服务我们的客户端服务端长期暴露于网络,并等待客户端连接特点:服务端无法主动连接客户端客户端只能按照预定义的方式连接服务端服务端编程模式:核心函数accept()的返回值为客户端的sock服务端socket只用于连接,不进行通讯服务端的socket用于产生客户端的socketsocket还可以提供不同类型的通信功能(本地、局域网等)头文件:定义服务端的soc原创 2022-12-04 19:28:03 · 637 阅读 · 0 评论 -
【C语言进阶】C语言实现类似C++的函数重载
在C++中,函数重载(Function Overloading)是一种常见且强大的特性,它允许多个同名函数在参数类型或参数数量不同的情况下共存,从而提供更灵活和简洁的代码接口。然而,C语言并不直接支持函数重载,因为C语言在设计之初并未包含面向对象编程的特性。不过,通过一些技巧和设计模式,我们可以在C语言中模拟出类似于C++函数重载的效果。本文将探讨几种在C语言中实现函数重载的方法。在C语言中,没有直接的函数重载功能(即相同函数名但不同参数列表的函数)。然而,可以通过一些技巧来模拟函数重载。原创 2024-07-28 14:03:13 · 669 阅读 · 0 评论 -
【C语言进阶】使用结构体实现面向对象
在 C 语言中,虽然没有直接支持面向对象编程的特性,但我们可以通过一些技巧和方法来实现类似的面向对象编程思想。其中,结构体是实现这一目标的一个重要工具。通过将数据和操作这些数据的函数封装在一起,我们可以模拟类和对象的行为。本篇文章将介绍如何利用结构体来实现面向对象编程的基本思想。int age;char *name;printf("我是:%s\n", self->name);self->Eat(self,"草");printf("我能吃:%s\n", food);原创 2024-07-28 13:57:26 · 1009 阅读 · 0 评论 -
【C语言】一篇搞懂位运算
位运算是计算机底层操作的重要组成部分。通过位运算,我们可以直接操作数据的二进制表示,从而实现高效的计算和控制。尽管在日常编程中,位运算并不是最常用的操作,但在某些特定场合,如嵌入式系统、图像处理和加密算法中,位运算具有无可替代的优势。本文将详细介绍C语言中的所有位运算及其含义,并通过二进制示例来帮助读者更好地理解这些操作。位运算是对整数类型的二进制位进行操作的运算。它们直接操作数据的二进制表示,每个位(bit)作为一个独立的单位进行处理。原创 2024-07-28 11:43:01 · 629 阅读 · 0 评论 -
【C语言】函数无参数有返回值、有参数无返回值、有参数有返回值
在C语言中,函数是一种重要的组织代码的方式。根据函数的参数和返回值,我们可以将函数分为三类:无参数有返回值、有参数无返回值、有参数有返回值。本文将详细介绍这三类函数的格式和使用。C语言的函数可以根据参数和返回值的有无进行分类。理解这些函数的格式和使用方法,对于编写高效、易读的C语言代码至关重要。希望本文能帮助你更好地理解和使用C语言函数。原创 2024-06-27 18:33:29 · 1586 阅读 · 1 评论 -
【linuxC语言】系统调用IO文件操作
在Linux系统中,C语言通过系统调用实现对文件的输入输出(I/O)操作。系统调用提供了访问操作系统核心功能的接口,其中包括文件的创建、读取、写入和关闭等操作。这篇文章将介绍在Linux环境下,如何利用C语言进行基本的文件操作,通过系统调用实现对文件的有效管理。在Linux中,文件描述符是一个用来标识打开文件或者其他I/O资源的整数。每当你打开一个文件、网络连接或者其他的I/O资源时,Linux内核会分配一个唯一的文件描述符来标识这个资源。原创 2024-03-07 18:39:27 · 1056 阅读 · 0 评论 -
【C语言基础教程】内存的申请和释放(malloc、free、realloc、calloc)
C语言是一种强大的编程语言,但它也要求程序员手动管理内存。内存的申请和释放对于有效的资源管理和避免内存泄漏至关重要。在C语言中,有几个关键函数用于内存的动态分配和释放,包括malloc、free、realloc和calloc。本文将介绍为什么C语言需要内存的动态分配和释放,以及这些函数的概念、使用方法和示例代码。以上是关于内存的申请和释放在C语言中的基本介绍,以及malloc、free、realloc和calloc这四个关键函数的使用示例。原创 2023-11-06 13:30:00 · 8501 阅读 · 0 评论 -
【C语言基础教程】函数指针与指针大小
在C语言中,指针是一项强大的工具,用于处理内存中的数据。除了常见的指向变量和数组的指针,C语言还支持函数指针,它是一个指向函数的指针。本文将深入探讨函数指针的概念以及指针的大小在C语言中的重要性。函数指针是C语言的一个强大概念,它允许动态选择和调用函数。通过将函数指针用于回调、函数表和动态函数选择等情况,你可以编写更加灵活、可扩展和模块化的代码。理解函数指针的概念和用法是C语言编程中的一个关键技能。同时,理解指针的大小也非常重要,因为它直接影响到内存分配和访问的正确性。原创 2023-11-06 08:00:00 · 1173 阅读 · 1 评论 -
【C语言基础入门】二级指针、一维数组与指针、二维数组与指针
在学习C语言的过程中,理解指针的概念是非常重要的。指针提供了一种直接访问内存地址的方式,使得我们可以更加灵活地管理数据和内存。在本文中,我们将介绍C语言中的二级指针、一维数组与指针,并通过通俗易懂的语言和示例代码来帮助读者理解这些概念。C语言中的指针提供了强大的工具,通过了解和灵活运用指针,我们能够更有效地操作内存,实现复杂的数据结构和算法。二级指针为多级指针的概念提供了基础,而一维数组与指针的结合则在处理数组数据时提供了便捷的方式。在实际编程中,灵活运用这些概念可以让程序更加高效、清晰。原创 2023-11-05 13:00:00 · 3160 阅读 · 0 评论 -
C语言实战项目:学生管理系统(1)
C语言实战项目学生管理系统原创 2022-05-03 08:15:28 · 340 阅读 · 0 评论 -
C语言之数组与一维数组初始
文章目录前言二、一维数组的声明与定义1.声明2.初始化3.访问具体的元素4.遍历数组5.数组元素的赋值6.数组的大小与地址前言有一个数据13,就需要一块空间存储它,方式是声明一个对应类型的变量,然后存入这个数据。为什么需要存储?计算机跟人一样,就是数据存进大脑,才能拿出来处理。对于计算机,就是存进内存。当我们有10个数据需要处理的时候,就需要有对应10块空间分别装着这些数据,或者理解为,就是需要10个变量。定义这10个变量太麻烦,C语言就提供了叫数组的数据类型来满足我们的这种需求。数组可理解为..原创 2022-02-05 11:46:13 · 788 阅读 · 0 评论 -
【Linux网络编程】select多路复用
我们上节课讲解了服务端的编程(Linux服务端编程初体验)本节课要讲的是select提示:以下是本篇文章正文内容,下面案例可供参考。原创 2022-12-10 17:10:15 · 847 阅读 · 0 评论 -
【C语言】函数的基本概念和使用(1)
函数的概念及无参数,无返回值的函数原创 2022-05-08 20:59:32 · 810 阅读 · 0 评论 -
【C++STL】string类
本节课讲的是STL(Standard Template Library 标准模板库)string(一)提示:以下是本篇文章正文内容,下面案例可供参考专门的字符串操作的一个类,非常强大。跟char的区别*char* 就是指向字符数组地址的指针,系统提供了一个string.h,这个头文件声明了很多字符串操作函数,strlen strcat strcmp strcpy…string 是一个类, 这个类将以上的内容封装到一起,使得字符串的操作更灵活,方式更多,管理更合理。原创 2022-10-22 16:49:22 · 759 阅读 · 0 评论 -
【基本tcp/ip模型】c.s模型(1)
tcp/ip-----------------c.s模型网络库头文件,打开网络库,版本校验原创 2022-05-29 10:30:14 · 612 阅读 · 0 评论 -
【tcp/ip模型】c.s模型(2)
一、创建SOCKET二、绑定地址和端口号bind三、监听listen四、接受链接accept原创 2022-05-29 11:57:14 · 215 阅读 · 0 评论 -
【C语言】C语言标准头文件
为什么要学标准头文件:因为他是可以跨平台的,每个编译器都支持,所以我们需要学习。本节课讲的是/提示:以下是本篇文章正文内容,下面案例可供参考。原创 2022-08-12 12:00:00 · 2718 阅读 · 0 评论 -
【C语言】数据类型之字符,字符串(1)
字符串定义:字符串也可以简称为串,在数据结构中,串是一种在数据元素的组成上具有一定的约束条件的线性表,即要求组成线性表的所有数据元素都是字符,所以说串是一个有穷的字符序列。为什么要学习字符串?我们所以显示的东西都是字符串,他对于我们来说很重要。提示:以下是本篇文章正文内容,下面案例可供参考。...原创 2022-08-13 12:45:00 · 1928 阅读 · 0 评论 -
C语言之浮点数(小数)
浮点型顾名思义就是小数点后还有数的,小数点数还有数的是什么?是小数,那么,小数在c语言中怎么定义,输出和输入浮点型的关键字有:double和float。首先他是这样定义的:关键字 + 变量名 = 一个值.如下:float a = 12.12;//关键字为floatdouble b = 18.18;//关键字为double他们怎么输出? 像整形有"%d"输出,无符号的整形有"%u"输出。那么double和float又是怎么输出? float使用格式输出"%f" double就使用"%lf"原创 2022-01-31 19:28:05 · 10388 阅读 · 2 评论 -
【C语言】动态申请内存、防止内存泄漏
你知道malloc(0);是啥吗?他不释放会导致内存泄漏吗?一直以来,内存泄漏都是导致程序崩溃的原因,那么我们怎么避免内存泄漏呢?原创 2022-09-21 12:09:34 · 454 阅读 · 0 评论 -
【C语言】标准内容介绍(C99)
1967 年,剑桥大学的马丁·理查兹(Martin Richards)对 CPL(CPL 是一种非常接近硬件的语 言。非常复杂,实现困难)语言进行了简化,设计出了 BCPL(Basic Combined Programming Language,基本组合编程语言)语言。1970 年,肯·汤普森(Ken Thompson)以 BCPL 语言为基础,设计出了 B 语言(BCPL 首字母)。随即用 B 语言写出了 UNIX 操作系统。...原创 2022-09-09 08:00:00 · 5522 阅读 · 0 评论 -
【C语言拓展】预处理
取消宏定义:#undef# define X123 # undef X //取消后面就不能用了条件编译:#if #elif #else #endif# if 0 //假,不执行 int b = 0;# elif 1 //真,执行 int a = 0;# else //其他 int c = 0;//未定义错误 a = 2;//正常 c = 2;//未定义错误0# if 0 //假,不执行 int b = 0;# elif 1 //真,执行 int a = 0;...原创 2022-09-07 07:00:00 · 493 阅读 · 0 评论 -
【C++类】深拷贝、内联函数、数据成员
提示:以下是本篇文章正文内容,下面案例可供参考。原创 2022-09-05 06:00:00 · 258 阅读 · 0 评论 -
【C语言拓展提升】类型转换、内存分区
作用域:整个工程,只需地址传递 空间特点:malloc 申请,我们自己 free 释放。作用域:整个工程 空间特点:自动初始化 0,系统申请,系统释放,无需像栈区一直检测 大小:默认很大,理论上可用的物理内存。生命周期:从 malloc 到 free 当程序结束时,我们忘记 free 了,系统会自动回收空间,最好忘了它。2、a[2]就是该地址起始的空间的名字 a+2 与 2+a 是一样的,所以可以写成 a[2] 2[a]1、a+2 得到偏移后的地址,即要求两个操作数,一个是地址,一个是偏移量。...原创 2022-09-03 20:24:26 · 342 阅读 · 0 评论 -
【C语言拓展】缓冲区、结构体大小计算、命令行参数
本节课主要讲的是缓冲区和结构体大小的计算之谜(二)提示:以下是本篇文章正文内容,下面案例可供参考1、缓冲区有很多:输入缓冲区,输出缓冲区,文件缓冲区,键盘缓冲区,输出双缓冲等等。有时候还叫 buf,爸福。都是一个东西。2、缓冲区本质就是一段连续的空间,比如 char a[40];,a 就是一段连续的 40 字节的空间。3、这个名字是根据它的功能来的,用来处理输入数据的,就叫输入缓冲区,用来处理输出 数据的就叫输出缓冲区,宏观上取个名字,方便程序猿分析使用。4、缓冲具体是什么样的意义?...原创 2022-09-03 00:00:00 · 1350 阅读 · 0 评论