- 博客(29)
- 收藏
- 关注
原创 认识rand, srand, time函数,生成随机数
要完成猜数字游戏,但是rand函数返回的其实是伪随机值,。这个RAND_MAX的⼤⼩是 依赖编译器上实现的,当我们多运行几次,会发现随机值生成都是一样的,这是为什么呢?如果再深⼊了解⼀下,我们就不难发现,,伪随机数不是真正 的随机数,是通过某种算法⽣成的随机数。真正的随机数的是⽆法预测下⼀个值是多少的。⽽rand函 数是对⼀个叫“”的基准值进⾏运算⽣成的随机数。之前生成的随机值都是相同的,那是因为rand默认的种子为1。如果想要改变随机值,那就要改变种子。
2025-03-31 20:16:36
377
原创 了解printf函数
printf的作用是讲参数文本输出到屏幕。它名字里的 f 代表 format(格式化),可以制定输出文本的格式。上⾯命令会在屏幕上输出⼀⾏⽂字“HelloWorld”。printf() 不会在⾏尾⾃动添加换⾏符,运⾏结束后,光标就停留在输出结束的地⽅,不会⾃动换 ⾏。为了让光标移到下⼀⾏的开头,可以在输出⽂本的结尾,。printf() 是在标准库的头⽂件 stdio.h 定义的。使⽤这个函数之前,。
2025-03-14 22:24:36
477
1
原创 基本的算术操作符
在写代码的时候,一定会设计到计算。C语⾔中为了⽅便运算,提供了⼀系列操作符,其中有⼀组操作符叫:算术操作符。分别是:+ 、- 、*、 /、 % ,这些操作符都是双⽬操作符注意:操作符也叫:运算符,是不同的翻译,但是意思是一样。
2025-03-14 16:59:22
819
原创 Linux的基本指令(上) -- 0基础入门
1.Linux中路径用/作为路径分隔符而Windows中用\作路径分隔符2.Linux中,.代表的是当前目录,而..指的是上级目录。3.不管是Linux还是Windows的目录结构,都是树状结构的。之前学过二叉树,而它有一个根结点。这边因为目录结构是树状结构,所以叫根目录。4.4.1从根目录开始,定位一个文件,我们叫做绝对路径!!-->具有唯一性/root/Linux_practice/lesson2因为有绝对路径,所以在Linux中能找到任何文件。4.2当然了,
2025-01-19 20:24:38
812
原创 认识、了解计算机,操作系统和Linux的基本历史
大部分技术->国家->军工->军转民->私有化公司->产品->老百姓接下来计算机在摩尔定律的加持之下呢,计算机就开始蓬勃式的去发展了。而在计算机蓬勃发展的过程中啊,后来呢计算机就到了它自己人生当中的一个转折点。那么后来呢在军转民的背景下呢,有一家公司叫做IBM啊,那么IBM呢他呢就直接开始做一些把计算机技术呢开始进行民用了。那么他呢这个时候呢,就会生产出或者制造出一些大型计算机。那么有一些大型计算机呢,但是呢主要是给谁用的呢?
2025-01-15 12:42:45
736
2
原创 <<零基础C++,了解this指针>>
编译器编译后,类的成员函数默认都会在形参第⼀个位置,增加⼀个当前类类型的指针,叫做this 指针。Date类中有 Init 与 Print 两个成员函数,函数体中没有关于不同对象的区分,那当d1调⽤Init和 Print函数时,该函数是如何知道应该访问的是d1对象还是d2对象呢?类的成员函数中访问成员变量,本质都是通过this指针访问的,如Init函数中给_year赋值,this- >_year = year;
2025-01-02 19:24:32
256
1
原创 <<零基础学C++,了解命名空间>>
定义命名空间,需要使⽤到namespace关键字,后⾯跟命名空间的名字,然后接⼀对{}即可,{}中 即为命名空间的成员。命名空间中可以定义变量/函数/类型等。int data;namespace本质是定义出⼀个域,这个域跟全局域各⾃独⽴,不同的域可以定义同名变量,所以下⾯的rand不在冲突了。int main()//这打印的是头文件展开的rand函数的地址//这打印的是命名空间域的randreturn 0;C++中域有函数局部域,全局域,命名空间域,类域。
2024-12-31 22:54:49
417
原创 <<零基础C++第一期,C++入门基础之引用知识点>>
在生活中,我们可能也会给一些同学起外号,以“张磊”同学为例,我们可以叫他“张三石”,当我们叫到这个外号的时候就会自然而然的想到“张磊”同学,”张三石”就是张磊的别名,而引用也可以这样简单理解:在语法层面上,引用就是取别名。引⽤不是新定义⼀个变量,⽽是给已存在变量取了⼀个别名,编译器不会为引⽤变量开辟内存空间, 它和它引⽤的变量共⽤同⼀块内存空间。来看语法:类型& 引⽤别名 = 引⽤对象; 注:引用类型必须和引用实体是同种类型。一、引⽤在定义时必须初始化正确的示例:错误示例:二、⼀个变量可以
2024-11-11 11:50:12
927
1
原创 <<零基础C++第一期, C++入门基础>>
C++(c plus plus)是一种计算机高级程序设计语言,由C语言扩展升级而产生。C++既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计。C++几乎可以创建任何类型的程序:游戏、设备驱动程序HPC云桌面嵌入式和移动应用等。甚至用于其他编程语言的库和编译器也使用C++编写。
2024-11-10 12:49:04
980
3
原创 深入理解线性表--顺序表
编写代码过程中要勤测试,避免写出⼤量代码后再测试⽽导致出现问题,问题定位⽆从下 ⼿。最后来看一下整体的代码Seqlist.h//静态顺序表//把静态顺序表重命名,创建的时候更容易//{// 有效的个数//}SL;// 单独给他拉出来命名也可以//动态顺序表int size;//有效的个数// 容量大小}SL;//初始化//销毁//尾插//头插//打印//尾删//头删//查找//指定位置插入//指定位置删除Seqlist.c(源文件)
2024-10-13 20:27:37
982
3
原创 深入了解C语言的内核--数据在内存中的存储
前言:新手开始学C语言,首先学习的是语法,在懂语法的基础上,在去思考解决问题的方法。大家应该也听说过c语言是最接近底层的编程语言吧,所以我认为最重要的是要理解C语言的内核--1.栈帧空间的销毁和创建 2.数据在内存中的存储方式。 只有深刻理解这些知识,才能让你不再停留在浅层,让你对C语言的理解更上一层楼。
2024-09-17 14:30:38
1479
原创 qsort的理解--加强对指针的理解
前言:前面我们学习指针变量,数组指针变量,函数指针变量;这些实际上都是变量,实质上是在内存中开辟一块空间;而这些变量存储的都是地址。还有指针数组,函数指针数组,这指的是把多个地址存在数组中,要注意分别。
2024-09-11 22:12:00
1058
原创 深入理解指针(三)--字符指针、数组指针、函数指针、函数指针数组
再看下一种使用方式以上的字符串是常量字符串,并且它是常量,不能被修改。这里大家可能会认为是把字符串“abcdef”存放在字符指针中,其实并不是这样,而是把首元素地址放在指针中这里的常量字符串和数组用法一样,并且存储的地址也是连续的。我们来看一下下面有趣的题目:总结:数组是会创建新的地址保存数据而指针是指向同一个内存的首先,我们来类比一下:整型指针变量:int* p存放的是整型变量的地址,是指向整数数据的指针。字符指针变量:char* p存放的是字符变量的地址,是指向字符数据的指针。
2024-09-07 10:49:29
920
原创 深入了解指针(二)--认识数组名、指针访问数组、二级指针、指针数组
当我们用指针访问数组时,会有上面俩种写法。通过输出结果,我们发现数组名和数组首元素打印出来的结果是一样的,数组名就是数组首元素(第一个元素)的地址。其实数组名就是数组首元素(第一个元素)是对的,但是有俩个例外:sizeof(数组名)&数组名输出的结果是:40。指针的大小根据编译器是4/8字节,而这里就是例外。//指针类型是int*//指针类型是int*//这个类型呢?指针类型决定了指针+-整数时的步长。
2024-09-04 15:42:39
1066
原创 详细认识指针(一) --指针的概念、指针的变量和地址、const修饰指针、指针的运算、野指针的概念、传值和传址的认识
首先,我们知道计算机上CPU(中央处理器)在处理数据的时候,需要的数据是从内存中读取的,处理后的数据也会放回到内存中。这个内存指的是买电脑的运行内存: 8GB/16GB/32GB。在C语言中,内存其实被划分成了一个个的内存单元,每个内存单元的大小占一个字节。其实,每个内存单元,相当于一个学生宿舍。而一个宿舍能放八个学生(因为一个字节等于8个比特位,每个人是一个比特位)然后,每个内存单元都一个编号(这个编号就相当于门牌号),有了这个编号,CPU就能快速找到内存空间。
2024-09-01 17:56:42
1695
原创 了解函数递归
有人可能会问:什么叫递归?大家不用觉得很难,其实递归就是一种解决问题的方法,在C语言中,递归就是函数自己调用自己。递归的好处:1.递归往往只用少量的代码,就完成了大量的计算。2.有些场景下,递归代码写起来非常方便上述就是⼀个简单的递归程序,只不过上⾯的递归只是为了演⽰递归的基本形式,不是为了解决问 题,代码最终也会陷⼊死递归,导致栈溢出这里可能会有小伙伴问:什么叫栈溢出?别着急,后面会娓娓道来。
2024-08-22 21:30:20
708
1
原创 vs的调试技巧
当我们发现程序中存在的问题的时候,那下⼀步就是找到问题,并修复问题。这个找问题的过程叫称为调试,英⽂叫debug(消灭bug)的意思。调试⼀个程序,⾸先是承认出现了问题,然后通过各种⼿段去定位问题的位置,可能是逐过程的调 试,也可能是隔离和屏蔽代码的⽅式,找到问题所的位置,然后确定错误产⽣的原因,再修复代码, 重新测试。
2024-08-20 13:46:50
810
原创 深入了解函数
C语⾔的程序其实是由⽆数个⼩的函数组合⽽成的,也可以说:⼀个⼤的计算任务可以分解成若⼲个较 ⼩的函数(对应较⼩的任务)完成。同时⼀个函数如果能完成某项特定任务的话,这个函数也是可以 复⽤的,提升了开发软件的效率。
2024-08-18 20:43:10
1148
原创 你真的懂数组吗?从0到1的深层理解
从输出的结果来看,每⼀⾏内部的每个元素都是相邻的,地址之间相差4个字节,跨⾏位置处的两个元 素(如:arr[0][4]和arr[1][0])之间也是差4个字节,所以⼆维数组中的每个元素都是连续存放的。在C99标准之前,C语⾔在创建数组的时候,数组⼤⼩的指定只能使⽤常量、常量表达式,或者如果我 们初始化数据的话,可以省略数组⼤⼩。像⼀维数组⼀样,我们如果想研究⼆维数组在内存中的存储⽅式,我们也是可以打印出数组所有元素 的地址的。其实也可以计算数组的大小。变⻓数组的意思是数组的⼤⼩是可以使⽤变量来指定的。
2024-08-17 18:42:36
1108
原创 循环语句和goto语句
在循环执⾏的过程中,如果某些状况发⽣的时候,需要提前终⽌循环,这是⾮常常⻅的现象。前⾯学习了三种循环while,for,do while ,这三种循环往往会嵌套在⼀起才能更好的解决问题,就是我们所说的:循环嵌套,这⾥我们就看⼀个例⼦。C语⾔提供了⼀种⾮常特别的语法,goto 语句和跳转标号就是内跳转到设置好的标号处。首先执行的是表达式1初始化变量,然后判断符不符合表达式二,符合就执行下面的语句,结合之后,在走表达式3,进行变量调整。while语句中循环体是至少执行一次的,这是它特殊的地方。
2024-08-16 20:28:38
805
原创 C语言的选择结构和操作符
C语言是结构化的程序设计语言,这里的结构化指的是顺序结构,选择结构,循环结构。选择结构又叫分支结构,我们可以使用if、switch实现。实现循环结构,使用while、for、do…while.
2024-08-16 19:35:26
766
原创 深入了解scanf函数
当我们有一个变量,想给变量输入值就可以使用scanf函数。int main()printf("请输入你的成绩:>");printf("你的成绩为:%d", score);return 0;
2024-08-15 16:51:42
1051
原创 细讲C语言数据结构和变量
C语言有丰富的数据类型。使用整型类型int 表示整数,字符类型char表示字符,浮点数float表示小数。下面给给大家盘点以下C语言的各种数据类型。今天主要讲内置数据类型。
2024-08-14 18:10:31
1073
原创 小白也能懂的C语言常见概念,从0到1的大局领略
1.创建项目2.创建源文件–xxx.c3.写代码大家要记住,c语言中 .c为后缀的文件称为源文件,把 .h为后缀的称为头文件在C语言中,main函数就相当于一个入口,然后一行一行的执行代码,所以main函数又叫主函数。那main函数前面的int又表示什么意思呢?这其实是函数执行结束完之后要返回一个整型类型的值,所以我们要在最后加上return 0;正是我前面说的相呼应。1.main被写成了mian2.main后面的()漏掉了3.代码中不能使用中文符号,比如括号和分号。
2024-08-13 18:53:16
1159
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人