自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(125)
  • 收藏
  • 关注

原创 C#.NET Framewrok使用IronPython执行Py程序,实现serial收发

C# 使用 IronPython 调用Python脚本,执行Python脚本中的串口功能,发送数据。

2024-11-12 11:22:55 248 1

原创 C#—DataGridView绑定List集合

将list作为控件的数据源;创建一个Student类,包含三个属性Name,Age,Gender;DataPropetyName中填写对应的类的属性名;

2023-03-07 20:45:49 2785

原创 C#类与对象

class Student:创建一个学生类,通过抽取学生的相同特征和动作,创建一个模型,在 通过这个模型创建一个或多个对象;每个new的新对象在内存中存放在不同的位置,互相之间各自独立;

2023-03-05 19:42:54 342

原创 C#枚举Enum

通过枚举限定选项,Today(DayOfWeek dayOfWeek)的参数是一个枚举,那么传递过去的参数也要是定义的枚举中的变量。枚举要定义在类的外面。

2023-03-05 19:25:18 377

原创 C#数组Array

数组:存储相同数据类型的数据。根据元素个数自动分配空间。确定数组元素的数量。

2023-03-05 19:13:48 115

原创 C#条件判断

if适用于判断区间是否满足的情况,switch适用于判断与条件相同的情况。当switch的条件与case中完成相同时,执行对应的case中的代码。

2023-03-05 18:11:24 646

原创 C#循环的应用

而do-while,先执行循环体的代码,在判断while的条件是否满足,所以至少执行一次。continue:跳过本次循环,不向下执行,重新执行下一次循环;while先判断条件是否满足,满足则执行循环体里的代码,break:中止循环,当执行到break跳出当前循环体;循环次数不固定时,选择while或dowhile循环。循环次数可以确定时,选择for循环。

2023-03-05 17:49:31 111

原创 C#字符串方法

email.IndexOf("@"), 参数字符串中 @在字符串email中出现的位置为6,字符串和数组一样,都是从0开始,所以@出现在字符串中第7个字符的位置。IndexOf:获取符合参数的字符串条件的第一个索引位置。Length:获取字符串的长度。如果没有找到会返回-1。

2023-03-05 17:15:07 71

原创 C#控制台输入输出

Console.WriteLine("欢迎" + name + "!" + gender + "宾一位!Console.WriteLine("欢迎{0}!Console.WriteLine($"欢迎{name}!{gender}宾一位!Console.WriteLine():输出字符串,并自动换行;在字符串前加 $符号,字符串里用{}扩起变量名来实现格式化。通过占位符,将变量的值替换到占位符的位置,占位符从0开始。Console.Write():直接输出字符串,不换行;

2023-03-05 16:50:28 1454

原创 台达DVP50MC和台达DOP-110WS通信设置

或者在PLC软件中,将PLC的地址设置设置同PC一个网段,192.168.2.X,最后一位不可重复;弹出的通信设置对话框,点击广播搜索;如果知道IP,就输入IP地址,点击搜索;弹出的密码框,默认密码0000,输入后点击确定;在PLC编写一段梯形图,并将PLC和人机界面的Ethercat用网线连接;在网络连接中,将本地IP修改和PLC同一网段,不重复的IP地址;通信连接失败,一般都是PC和PLC的IP网段不一致;弹出的对话框,选择正确的人机型号,点击下一步;测试点击人机界面的按钮,PLC接收到正确信息;

2023-01-04 21:14:44 2937

原创 C语言—文件操作

关闭文件:fclose函数,参数是fopen返回的文件指针;调用关闭函数后,系统才会将缓冲区的数据写入文件中,并释放相关资源,关闭成功返回0,关闭失败返回EOF,关闭后文件指针就无效了。打开文件:fopen_s函数,第一个参数是FILE类型数据的指针变量的地址,第二个参数是文件路径及文件名,第三个参数是打开模式;打开文件成功返回0,失败返回非0。在解决方案里,右键点击项目,在文件资源管理器中打开文件夹,并建立一个a.txt文件;如果当前目录下不存在a.txt文件,就会提示“文件打开失败”;

2022-12-28 21:18:13 259 1

原创 C语言—typedef与结构体

正常每次使用结构体的时候都需要使用 struct **** ***** 的方式,但是struct是多余的,但是不加struct编译器就会报错;还可以定义一个指针别名*PtrPerosn;在需要使用struct Person * 的结构体指针的时候,直接使用PtrPerosn这个名称;在定义结构体的时候,在前面加上typedef,就可以在使用的时候不用加struct了;

2022-12-28 06:00:00 397

原创 C语言—typedef

int类型的指针数组,别名PTR_INT_ARR,指向一个拥有3个整型数据的数组;给数据类型int起了一个别名叫做INTEGER,int和INTEGER就是相同的数据类型;无参无返回值的函数指针,别名为PTR_TO_FUC;typedef用来给变量起一个更容易记住的或意义明确的别名;的时候,等价与 int* b = &a;

2022-12-27 22:47:53 377

原创 C语言—动态申请结构体

使用malloc申请一个sizeof(struct Person)大小的内存空间,并将malloc返回的指针地址强转为(struct Person *)类型;定义结构体Person类型的指针struct Person *person;

2022-12-27 21:44:58 844

原创 C语言—结构体指针做为函数的参数

【代码】C语言—结构体指针做为函数的参数。

2022-12-27 21:36:44 253

原创 C语言—结构体做为函数的参数

将结构体变量person作为参数传递给inputPerson,在用结构体变量person接收inputPerson的返回值;将结构体变量person作为实参传递给printPerson函数的形参p,在printPerson函数内打印形参p的内容;将结构体类型struct Person 作为函数的返回值类型,将inputPerson的形参p的值作为返回值,返回给调用者;将定义的结构体变量person传递给inputPerson,相当于把实参赋值给形参,实参是不会被修改的;

2022-12-27 21:10:29 1335

原创 C语言—结构体

结构体指针,将结构体的地址赋值给结构体指针,通过(*结构体指针变量名) (.)点号 成员 的方式进行访问;因为 (.)点号 的优先级比 (*)型号 高,所以要用(*结构体指针变量名)进行解引用,让它变成结构体变量,在用 点号 访问其成员;结构体变量名 (.)点号 结构体变量名 (.)点号 结构体成员,如果多层嵌套就需要一级一级的向下找。结构体数组,当需要定义多个人的数据的时候,就可以定义成结构体数组,和普通数组一样的使用方式;访问结构体成员时,通过定义的结构体变量 加 点号,访问其中结构体的成员;

2022-12-25 20:23:09 395

原创 C语言—预处理运算符#和##

在带参的宏定义中,#运算符后面应该跟一个参数,预处理会把这个参数转换成一个字符串;如果参数有双引号,会被替换成/“。#号会把传递的参数转换成字符串;##记号连接运算符,连接两个参数;

2022-12-25 19:27:55 188

原创 C语言—宏定义

宏定义的作用范围从定义的位置开始,到整个程序结束。也可以用#undef终止宏定义的作用域;带参的宏定义,宏定义中的参数是形参,宏调用时的参数是实参,和函数类似;宏定义的作用是替换,再复杂也只能替换,不能用做计算;把程序中出现的PI在预处理时全部替换成3.14;宏的名字用大写字母组成,宏定义末尾不需要加分号;一个源文件将另一个源文件的全部内容包含进来;宏定义的嵌套,一个宏中使用另外一个宏;在宏定义时,加上小括号就不容易出错;尽量不要用宏定义代替函数或表达式;宏定义只能做简单的替换;

2022-12-25 19:06:54 459

原创 C语言—malloc动态内存管理

mallcon:申请动态内存空间,(int *)malloc(100)申请100个字节的int类型的空间;函数调用成功会返回一个(void *)类型的指针,它可以被转换成任何类型的数据,所以要用(int *)强制类型转换。free:当不需要这块内存的时候,要手动释放,不然可能会造成内存泄漏。malloc不会初始化申请的内存空间,需要手动初始化;

2022-12-25 17:49:45 1018

原创 C语言—链接

链接:当一个程序由多个源文件构成的时候;一个程序有三个源文件;

2022-12-22 20:28:50 94

原创 C语言—局部变量和全局变量

全局变量会占用更多的内存,程序结束时全局变量才会被释放,而局部的使用完就会被释放,当局部变量和全局变量过多的同名时,不易区分,当函数之间使用同一个全局变量的时候,当修改全局变量的时候,会对所有使用它的函数造成影响;所以在c中定义了一个count变量,这个时候在c中对count进行操作,并不是对全局变量count进行修改,而且修改函数c中的局部变量count;在for循环中定义了和mian函数中相同变量名的变量,那么在for循环内部使用的是在for中定义的i;全局变量要定义在使用它的函数之前;

2022-12-22 20:14:15 883

原创 C语言—函数指针作为返回值

Sel函数是一个返回值为int,并且带两个int类型参数的函数指针;char op是调用函数所需要的参数;通过调用Sel函数,如果传递的参数‘+’号就返回函数add,如果时‘-’号就返回函数sub;返回值是一个函数指针,其实就是返回的是一个函数;

2022-12-21 21:26:47 727

原创 C语言—函数指针

定义一个计算的参数,这个函数的第一个参数是一个函数指针,这个函数指针用来接收一个函数作为参数,后面两个int类型的参数,用来进行计算的值;调用Cal函数,并把函数add作为参数传递给Cal;调用Cal函数,并把函数sub作为参数传递给Cal;将函数指针作为一个函数的参数,那么这个参数要传递的是一个相同返回值和参数的函数;定义一个函数指针并指向了一个函数,那么就可以通过该指针调用这个函数了;定义的函数指针要和指向的函数的返回值类型和参数类型个数保持一致;定义两个函数,一个返回两个数的和,一个返回两个数的差;

2022-12-21 21:15:20 346

原创 C语言—可变参数的函数

当函数的参数个数不固定时,可以使用可变参数作为函数参数;要引用 这个头文件;

2022-12-20 21:45:29 179

原创 C语言—函数

因为程序的编译是从上到下执行的,先编译Main的时候,还没有定义函数MyPrint,所以在编译过程中就会找不到这个函数;想对实参进行修改,就要传递地址,这里需要使用指针,调用者将它实参的地址传递给被调用者的形参,那么被调用者在使用形参的时候,是对实参的地址中的内容进行修改;当数组作为函数的参数时,是传递的数组的首地址;函数:将代码块封装成一个个不同的函数,在使用时可以多次的调用,不需要关心内部的实现;实参和形参:调用函数时给的参数时实参,调用的函数在执行时的使用参数是形参;一个函数,在程序中可以随意调用;

2022-12-20 21:32:34 606

原创 C语言—指针数组

指针数组的使用方式和数组是一样的;其他数据类型的可能存放的是一个整数或浮点数,指针数组是用来存放一个地址,通过*取值符来获取地址中的值;指针数组在内存中开辟一片连续的内存空间,用来保存指针变量,也就是地址;所以指针的地址,与指针存储的地址是两个不同地址;通过字符指针数组,存放多个字符串,通过指针下标来打印出元素的值;创建一个指针数组,指针数组中的每个元素可以存放一个指针变量;

2022-12-20 20:42:23 463

原创 C语言—数组与指针

使用指针可以访问内存中任意的一个地址中的值,p-1,是数组a[0]上一个地址中值,这个地址中值是没有定义和初始化的值,这个地址可能是被系统中其他程序所使用的,如果修改的这个值,就有可能造成其他程序出现问题;double类型的值,在内存中占8个字节,地址以十六进制显示,如果第一个double类型的元素在内存中的地址是000,那么第二个元素在内存的地址是008,第三个是010以此类推;指针的值是可以修改的,通过自加的方式,在结束的时候,指针中所存放的地址已经更改了;数组名是一个地址常量,是不可以进行修改的;

2022-12-20 20:11:38 724

原创 C语言—指针

int *pa = &a,就是将a的地址0000004A7B15F604存放在指针变量pa的地址0000004A7B15F648里;取 *pa 中的值的时候,就是先找到pa的地址,在从pa的地址里读取到a的地址,在从a的地址里,读取a的值;当声明变量未对其赋值的时候,编译器会报错,变量a的地址随机的,有可能对这个地址赋值或修改的时候是对一个危险的区域进行操作;不同数据类型所占用的内存空间大小不同,如果指针类型和要存放地址的变量类型不一致,指针所指向的数据就会出错;指针的类型就是要存放地址的变量的数据类型;

2022-12-19 20:43:37 1272

原创 C语言—数组

定义一个int类型数组a,数组长度为10,可以存放10个int类型的值;数组的下标,是从0开始的,通过下标获取数组中的某一个元素;当保存一组相同数据类型的数据时就可以通过数组才存储;简单统计学生成绩,并计算学生的总成绩和平均成绩;通过for循环对数组赋值;

2022-12-18 20:43:31 1175

原创 C语言—for语句

执行时,先对i赋值0,判断i是否大于10,不大于10,则执行循环体内的代码,当i=10时,表达式不满足,跳出for循环;使用if判断,当i为单数时,continue跳过本次循环,不执行后面的语句,当i为双数时,if不满足,则打印i的值;for循环也可以使用break结束循环,当i等于5的时候,结束循环,并且print函数也不会执行;当确认循环次数的时候,可以用for循环,不确认循环次数的时候用while循环;每次执行完for循环,i自加1,j自减1;在判断表达式是否满足条件;

2022-12-18 19:52:45 166

原创 C语言—while语句

也可以通过continue,跳过本次循环,当i的值模2不等于0,即i的值为单数时,跳过本次循环,不向下执行,循环体在重新执行;每次循环的时候,如果i模2等于0,即i的值为双数的时候,打印i的值,否则什么都不做;while循环里,嵌套if语句,当达到某条件后,执行break,跳出循环;打印0到99后,i等于100的时候,不满足条件,跳出循环;while循环,当i等于11时,跳出循环体;只要表达式为真就一直执行循环体里的语句;当i

2022-12-18 19:32:22 1533

原创 C语言—if语句嵌套

询问周末是否加班时,输入Y或y执行if中的语句,其他则执行else中的语句;printf("是否出门(Y/N)");printf("在家待着吧");如果 询问周末是否加班时,输入Y或y执行if中的语句。printf("出门吧");printf("加班吧");在判断是是否在出门;

2022-12-18 17:50:38 567

原创 C语言—switch语句

switch:多分支选择语句;当输出项和case中符合,就指定case到break之间的语句,一项都不符合就执行default到break之间的语句;不管是输入大写A和小写a时,都会执行到它们下面break之前的语句;当输入小写a的时候,没有符合的就会执行default中的语句;当需要大写A和小写a都执行大于优秀时;

2022-12-18 17:34:01 508

原创 C语言—if语句

当年龄大于等于18并且小于等于100时,执行if中的语句;但是当输入的年龄需要符合现实情况时,需要在另外加判断;大于0并且小于18时,执行else if中的语句;当输入的值大于等于18时,执行if中的语句;当输入小于18的值,执行else中的语句;其他的情况执行else中的语句;

2022-12-18 17:20:25 1010

原创 C语言—字符串

运行的结果,会出现乱码,因为定义字符串结尾的要加\0表示字符串的结束,不然编译器会把数组后面空的内存空间也算在内;其他方式定义字符串;这种方式编译器会自动加上\0;是通过char string[100];数组的方式存放一串字符类型的变量;加上\0,就告诉编译器,字符串到这里结束;C语言中没有存储字符串的数据类型;

2022-12-18 16:26:37 72

原创 C语言—数据类型

一个int数据类型占4个字节,就是32位,当有符号变量时,32位中的最高位通过1或0代表这个数据是正数还是负数,所以有符号数据的数据位是31位,所以最大值是 2147483647;vs2022中,sizeof运算符返回的结果是一个64位 (8bytes)的无符号整型的值,所以占位符要使用%lld;signed有符号限定符,默认数据类型是有符号的,int 等于 signed int;有符号和无符号,所存放的数据是否带负号,如果有正负就有符号,如果只有正数则无符号;显示无符号整数数据的占位符是%u;

2022-12-18 16:14:00 656

原创 C语言—变量与常量

根据存放的数据的不同,需要指定数据的类型,如果数据类型和要存放的数据不一致,会得到不是自己想要的结果,或是小数据放在一个大的数据类型里,会造成浪费,想存储一个数据时,都会在内存中开辟一个空间,这个空间会有一个地址;变量是在程序运行中,可以随时被改变,常量在程序运行中,不可以改变;每个数据类型开辟空间的大小,根据编译器和环境的不同,会有不同;变量i的值会在%d的位置被显示,变量d的值会在%f的位置被显示。一个大的数据,放在一个小的数据类型里,就放不进去;常量一般放一个固定的值,在程序中只使用,不修改;

2022-12-18 15:27:48 365

原创 C语言—printf函数

printf函数:把指定的内容打印到屏幕上,print打印f是formatted的缩写,格式化输出函数;转义字符\r :将当前位置移动到本行开头,如果不加\r第二行打印的内容会加上前面的空格;当代码分多行书写时,直接回车换行时会报错的,需要在换行前加一个反斜杠;转义字符用一个反斜杠(\)加其他字符表示一些特殊含义的内容;在字符串中要换行或显示双引号等需要使用转义字符;用双引号扩起来的内容是字符串,文本内容;

2022-12-18 14:35:55 727

原创 C语言—使用VS2022创建C项目

打开Visual Studio 2022,点击创建新项目;弹出添加新项对话框,选择C++文件,输入名称,点击添加;输入项目名称,选择保存位置,点击创建;在控制台中打印Hello abc。点击本地Windows调试器;选择C++/Windows/在资源管理器里,右键源文件;在新建的C++文件中输入代码;点击空项目 ——下一步;

2022-12-18 14:18:01 5153

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除