- 博客(32)
- 收藏
- 关注
原创 java中的算数运算符
简单数字的相加对于byte.short.char.int类型数字相加时进行整形提升至int,对于数据类型大于int的long.float.double数据类型有参与计算时,需要进行整形提升至最高的数据类型。有字符串类型的相加,将数字视为字符串进行字符串的相加减得到相应的结果。如果有字符的参与,根据ASSIC码表进行相应的替换得到数字进行参与计算。
2025-01-28 00:00:00
354
原创 python——文件存储与写入path
path方法常常用来访问一个文件所在的地址,然后将地址储存在变量中。然后有不同的方法将文件内容进行处理,还可以将文件进行创建。
2024-10-27 21:57:31
1257
1
原创 C语言进阶(10)
条件编译就是以一定的条件才进行编译,如果文件满足这个条件就进行编译下面代码,如果不满足就跳过此进行下面的编译(这些都是在预处理过程中进行的)。条件编译在效果上和if语句类似,其格式是如果#if后面为真就会执行下面的语句,与if语句不同的是在结束我们一定要添加#endif否则就会达不成我们想要的效果。条件编译可以实现类似if else语句的形式,比如条件编译还可以判断是否被定义,比如#if defined(symbol)和 #ifdef symbol 是判断符号是否被定义,如果被定义就执行下面的语句。
2024-08-15 20:50:49
614
原创 C语言进阶(9)
define可以定义常量,代码等,本质上是替换,将定义的替换成原来的,在进行汇编。如下宏就是一种类似函数形式,本质上是将宏参在文本中进行替换。然后将文本在主函数中进行替换后运算。宏的声明方式是#define name( parament-list ) stuff,其中parament-list是宏参,是传给宏的参数,stuff是文本,然后就会进行文本宏参的替换和代码的替换。下面是使用示例:经过替换后可以写成int main()return 0;经过完整的替换,文本是什么样就替换成什么样。
2024-08-14 22:05:37
1372
原创 C语言进阶(7)
(1)mallocmalloc是向内存的堆区申请一片空间(局部变量申请的空间是堆区),库函数中size是申请空间的大小,返回值是这一片空间的第一个字节的地址,返回时我们要强制类型转换,如果返回是NULL,那么就是开辟失败。下面是使用示例使用mallco时我们要进行检查,确认是否返回的值是否是NULL;我们在结束使用时,为了防止内存丢失,我们要及时释放内存,防止形成内存泄漏,在我们释放内存后为了防止形成野指针,我们要将其赋成NULL。(2)calloc。
2024-08-12 22:13:55
1103
原创 C语言进阶(6)
结构体是一堆数据类型的集合体(与数组不同的是它可以是不同的数据类型)。结构体声明的是一个图纸,并不向内存申请空间,只有在设置变量的时候我们才进行划分空间给变量。结构体的变量数据类型可以理解成struct (结构体名),在初始化时我们就要牢记这个原则。下面是结构体变量的初始化和建立有两种,第一种优点是简单,缺点是这种变量是全局变量;第二种优点是局部变量,缺点是书写较复杂,推荐第二种。还有一种特别的声明可以忽略其结构体标签,只能使用上面第一种的形式来初始化变量,还有只能这种结构体使用一次。下面是使用示例。
2024-08-10 22:57:37
1285
原创 C语言进阶(5)
strerror是将错误代码输出成可识别的文字errnum在C语言中有一个全局变量专门存储错误信息,就可以使用这个库函数然后将返回值打印出来就可以知道错误信息了。返回值就是错误信息。使用示例如下专门存储错误信息的变量是errno,头文件是errno.h。
2024-08-09 21:29:45
926
原创 C语言进阶(3)
一维数组传参的时候使用数组名,代表数组首元素的地址;函数接受时形参可以是数组形式,也可能是指针形式,数组形式比较简单数组怎么写,函数接受是就怎么接受,使用指针就要将指针类型写清楚,如下二维数组传参时使用数组名,由于;因此在接参的时候使用数组要将二维数组的列表达出来,使用指针要注意数组名的实际含义,使用数组指针,如下。
2024-08-07 22:39:05
677
原创 C语言进阶(2)
这种形式是将字符串的值属性就是首字母的地址赋给指针a,字符串的类型属性是char *(表达式都有值属性和类型属性),上面的字符串是常量字符串是具有常量属性,不能修改,最好在char*前面加上const,防止更改,常量字符串在内存存储时在只读数据区,通常只创建一个,如果两个指针指向一个字符串就会是同一个地址 ,如图。数据类型是void(*)(int,int)有点类似函数声明,只要写出函数参数类型,void是函数返回类型,(*)代表都是指针,(int,int)是函数参数类型。数组指针的步长是整个数组。
2024-08-06 23:57:22
336
原创 C语言进阶(1)·
(1)整形类型有char 向内存申请1个字节空间,反映char能访问的权限是一个字节,char分为 unsigned char和signed char两种类型在无特殊声明的情况下默认是那种类型取决于编译器(VS是signed char),由于char类型在内存中是以ASSIC码值的形式进行存储,所以被归为整形。
2024-08-05 21:26:05
1328
原创 C语言初阶(12)
调试是发现并解决C语言编译的bug的方法。调试基本步骤是1.发现程序错误的存在 2.以隔离、消除等方式对错误进行定位 3.确定错误产生的原因 4.提出纠正错误的解决办法 5.对程序错误予以改正,重新测试编译版本release和debug版本,release比较debug版本文件大小更加小和优化更加好是对用户发布的版本;debug是程序员的调试版本,对于程序员更加容易去检查和调试vs编译器的调试快捷键F10开始调试F11进行单条语句(较F10调试更加详细)大多用于进入函数F9用于设置断点。
2024-08-04 22:42:40
1591
原创 C语言初阶(10)
野指针就是指向未知空间的指针,有以下几种情况(1)指针未初始化上面指针就是没有初始化,形成一种指向一个随机空间的地址的指针,我们可以修改成(2)数组越界访问数组下标超过数组本身下标时就会造成形成野指针上面b就是野指针,野指针指向数组后未知的数据(3)局部变量的指针非主函数局部变量的地址存在主函数指针中就会形成野指针,由于指针指向的空间是有可能被销毁和未知,和不属于程序还给操作系统,如下例上面就说明野指针的危害总结:野指针种类有许多,只要不确定和不受我们掌控的指针我们就可以归类成野指针。
2024-08-02 21:38:43
1013
原创 C语言初阶(8)
- *就是加减乘非常简单,/除法操作符在两个操作数都是整数时执行整数除法,只要有一个是浮点数就执行小数除法,%取模操作符两个操作数必须是整数,得到的结果是除法的余数,
2024-07-31 21:41:34
1355
原创 游戏——扫雷
在我们返回排查点周围雷的数量时我们可以使用mine[a - 1][b - 1] + mine[a - 1][b] + mine[a - 1][b + 1] + mine[a][b - 1] + mine[a][b + 1] + mine[a + 1][b - 1] + mine[a + 1][b] + mine[a + 1][b + 1]的形式去表示,得到的值是对应的ASII码值,我们可以减去8个’0‘得到就是周围雷的数量。(1)我们可以添加标记雷的位置的功能。
2024-07-30 22:28:41
227
原创 游戏:三子棋
在我们判断输赢时我们可以将哪一方判断字符传输过去,这样在返回时就更加简便;的格式可以打印时少输入一行或一列;在我们使用ROW,COL我们在后续想要修改棋盘大小时我们修改更加简便(但是我不知道怎么将判断部分怎么修改成可以修改的形式,望指教)。先初始化数组,然后是将数组打印出来,接下来就是进入循环:玩家下棋,打印棋盘,判断输赢,电脑下棋,打印棋盘,判断输赢,直到出现一方获胜或平局,退出循环,就是这样的操作流程。三子棋游戏整体结构就是根据菜单,你输入相关游戏的选择,来进入游戏还是退出游戏 ,几乎可以通用。
2024-07-29 22:54:17
468
原创 C语言初阶(7)
一维数组的创建是格式是type-t是数组的数据类型,arr-name是数组名,[]是数组创建的大小,中括号内是常量(在C99语法中可以为变量,但是不能初始化)。如下面的例子数组的初始化和变量的初始化类似数组还有不完全初始化,数组中第三个位置初始化成0。
2024-07-28 23:04:09
776
原创 C语言初阶(6)
程序调用自身的编程技巧称为递归。递归做为一种算法在程序设计语言中广泛应用。一个过程或函数在其定义或说明中有直接或间接 调用自身的 一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解, 递归策略 只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的主要思考方式在于:把大事化小函数递归实际上是一种思想方法,是将函数重复调用自身的操作。需要我们不断练习。
2024-07-27 22:28:09
600
原创 C语言初阶(5)
函数声明顾名思义就是向编译器传递信息告诉这个函数,它包含了函数的返回类型,函数名函数参数类型如:int a(int,int)。函数声明必须要放在函数使用之前,先声明再使用。函数声明可以放在头文件中,在使用时要引用#include“头文件名”本质上相当于代替了。当函数在别的.c文件时,函数声明和external发挥相同作用。函数定义包含了函数参数,函数名,函数返回值,函数体。就是函数的具体实现。
2024-07-26 21:20:59
492
原创 C语言初阶(4)
自定义函数顾名思义由程序员自己编写函数,同样包含返回类型,函数名,函数参数和最重要的函数体,函数在一定程度上简便了代码的书写,最重要的是函数单一化作用极大的提高可操作性,同时可以使代码更加复杂化和多元化。函数参数分为实际参数(实参)和形式参数(形参)。实际参数就是传给函数的参数,有常量,变量,表达式,函数等,但是无论是什么形式,实参必须是一个确定的值;形参就是函数参数,在函数调用时,才分配内存,在函数结束时销毁,最重要的一点是函数调用时,形参是实参的临时拷贝,对于形参的改变不影响实参。如图1。
2024-07-25 22:23:06
739
原创 C语言初阶(3)
它只能从最内层循环退出到上一层的循环。rand()获取一个随机数范围是0-RAND_MAX 0x7fff,头文件是#include<stdlib.h>但是某些场合下goto语句还是用得着的,最常见的用法就是终止程序在某些深度嵌套的结构的处理过 程。Sleep(整形) 可以使程序停止整型ms,头文件是#include<stdlib.h>time(地址)根据时间戳获取随机数,头文件是#include<stdlib.h>srand()规定rand的起点,头文件是#include<stdlib.h>
2024-07-24 22:36:22
397
原创 C语言初阶(3)
do....while循环较其他循环不同的是,无论while是否判断为真都至少循环一次。do....while循环语法结构do......while同其他循环语句类似,均有break是终止整个循环,continue是跳过此次循环后面的语句,如下图;do...while语句应用场景有限,使用非常少。下面介绍循环实例。
2024-07-23 22:29:41
479
原创 C语言初阶(2)
while和if语句有一定相似,while语句结构:if(表达式)循环语句;他们都是判断表达式是否为真,但是if语句只是执行一次,while只要真就一直能够执行下去,如图同样的在不加大括号的情况下,一个while语句只能跟一个语句。要打印0-9十个数我们可以写出以下代码在while循环中,break是用于永久的停止循环,如图1;continue是跳过此次循环后面的语句,如图3,直接去判断部分,如图2。图1图2图3下面介绍一个while的应用实例。
2024-07-22 21:44:30
467
原创 C语言初阶(1)
(1)表达式语句(2)函数调用语句(3)控制语句(4)复合语句(5)空语句控制语句可以分为以下几类分支语句:if switch循环语句:while for do....while转向语句:goto语句,break语句,continue语句,return语句控制语句是控制程序的执行流程,以实现程序各种结构方式,它们由特定语句定义符组成。C语言作为一种结构化的语言,是因为包含生活中所有问题的结构,因为生活中是顺序结构,分支结构,循环结构中一种或多种组合而成。
2024-07-21 21:58:23
613
原创 C语言入门(4)
define可以定义一个常量,不可改变。#define定义宏#define可以定义宏,宏是完成替换的在上图中M是宏名,(x,y)是宏的参数,参数是无类型的,((x)*(y))是宏体。宏的具体原理是int c =((a)*(b))。
2024-07-20 22:54:35
914
原创 c语言入门(3)
-前置后置-- 前置,后置--例如 int a=0,int b=--a的意思是先a=a-1,再将a的值赋给b。== 用于测试相等 注意if(a=1)和if(a==1)效果不同前者a为真进入,后者判断a为1时进入,极易混淆。exp2:exp3 exp是表达式的意思。赋值操作符= += -= *= /= &= ^= |= >>=
2024-07-19 22:00:39
1164
原创 c语言入门(2)
详细说明一下上面函数:int是返回类型,d是函数名(想怎么设置就怎么设置),(int x,int y)是函数参数,下面的大括号部分是函数体。当下面运行到c=d(a,b)行时,上面函数会向内存申请空间来存储你输入的a和b值,进行下面代码,这个函数主体只有一行,直接写成return x+y返回至int d这个主体上然后进行下面代码,从而使c能够输出。C语言中有两种方式注释://和/* */二者各有优点和缺点。其中数组有自己的编号相当于下标从0开始,以后来类推的。上面是一个经典的例子。
2024-07-18 22:05:54
545
原创 c语言入门(1)
值得注意是字符串是以\0进行结尾的,\0作为结尾标志。在(“abcd”)这种结尾自带一个\0结尾,如果是{“a”,“b”,“c”,“d”}打印时出现一个随机值,什么时候出现\0时停止。这个主要是防止三字母词被识别这个基本用不上现在的计算机编译器基本没有三字母符的使用。=] 如果加入((\?他们代表了程序向内存申请不同的大小存储空间,此外,sizeof是计算占用上述空间大小的函数。\ddd1-3个八进制数字,输出时自动转化成十进制,根据ASCII表进行对照打印出相应的字符。\\效果是让\作为反斜杠单独出来。
2024-07-17 21:50:33
204
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅