- 博客(37)
- 收藏
- 关注
原创 C++零基础入门
熟悉了C语言后我们现在要学习一下C++了,C++是C语言的基础之上而建立的语言。学习目标:1、知道C语言的一些不足,以及C++是如何对C语言设计不合理的地方进行优化的。比如:作用域方面、IO方面、函数方面、指针方面、宏方面等2、为后续类和对象打下基础需要使用到namespace关键字后面跟命名空间的名字然后接一对{}就可以了,{}中为成员。1、命名空间的定义//namespace 命名空间的定义关键字 作用:防止命名冲突//命名空间中可以定义变量/函数/类型struct top。
2024-04-09 18:40:33
849
7
原创 C语言——如何进行文件操作
假设没有文件,那么我们写的程序的数据是储存子啊电脑的内存上,如果程序退出,内存回收,数据就会丢失了,等再次运行程序,是看不到上次程序的数据的,如果将数据进行持久化的保存,我们就可以使用文件。本次学习的是数据文件。在之前我们所以的处理数据的输入输出都是以终端为对象的,即从终端的键盘输入数据,运行结果显示到显示器上。其实有时候我们会把信息输出到磁盘上,当需要的时候再从磁盘上把数据读取到内存中使用,这里处理的就是磁盘上的文件。其实磁盘上的文件就是文件。程序文件,数据文件(从文件功能的角度来分类的 )。
2024-01-30 11:43:25
942
7
原创 C语言——动态内存管理
为什么要有动态内存管理???int a=10;//在栈空间上开辟4个字节//在栈空间上开辟10个字节的连续空间这样开辟的空间有两个弊端:1、空间开辟是固定不变的2、数组在申明的时候,必须指定数组的长度,数组空间一旦确定了大小不能调整我们会遇到很多情况,有时候我们需要的空间大小在程序运行的时候才知道,这时开劈好的空间会不能满足,或者开辟多了,会导致大量的空间浪费。这就有了动态内存开辟,让程序员可以自己申请需要的空间和释放不需要的空间,这就比较灵活了。
2024-01-27 13:59:43
1083
7
原创 C语言——结构体
结构体是一些值的集合,这些被称为成员变量。结构体的每个成员可以是不同类型的变量。1.位段的成员必须是:int unsigned int或 signed int。(在C99中位段成员的类型也可以是其他类型)2、位段的成员名后边有一个冒号和数字。//分配2bit空间int _b : 5;//分配5bit空间里面的A就是一个位段。A所占的空间与成员有关。
2024-01-10 21:02:27
2225
9
原创 C语言——关于数据在内存中存储的练习
练习1:根据大小端的概念,设计一个小程序来判断当前机器的字节序——百度笔试题。浮点数9.0,为什么整数打印是 1091567616?signed char 的取值范围:-128——127。unsigned char 的取值范围:0——255。
2023-12-24 16:13:27
781
4
原创 C语言——数据在内存中的存储
其实当超过一个字节的数据在内存中存储的时候,就会存在顺序问题,按照不同的存储顺序,我们把它分为大端字节存储和小端字节存储。大端存储(模式):数据的低位字节内容保存在内存的高地址处,而数据的高位字节内容,保存在内存的低地址处。小端存储(模式):数据的低位字节内容保存在内存的低地址处,而数据的高位字节内容,保存在内存的高地址处。
2023-12-21 12:53:34
837
1
原创 C语言--字符函数与字符串函数
在不同的系统和C语⾔标准库的实现中都规定了⼀些错误码,⼀般是放在 errno.h 这个头⽂件中说明 的,C语⾔程序启动的时候就会使⽤⼀个全⾯的变量errno来记录程序的当前错误码,只不过程序启动 的时候errno是0,表⽰没有错误,当我们在使⽤标准库中的函数的时候发⽣了某种错误,就会讲对应 的错误码,存放在errno中,而⼀个错误码的数字是整数很难理解是什么意思,所以每⼀个错误码都是 有对应的错误信息的。3.strtok函数找到str中的下⼀个标记,并将其⽤ \0 结尾,返回⼀个指向这个标记的指针。
2023-12-19 13:17:59
955
6
原创 C语言——深入理解指针(5)
strlen 统计的是字符串开始到 \0 之前的字符串的字符个数。1. sizeof(数组名),数组名表示整个数组,计算的是整个数组的大小,单位是字节;3. 关注内存中是否有 \0 如果没有 \0 ,就会持续往后找,可能会越界。2. strlen 是求字符串长度的,统计的是\0 之前字符的间隔个数。如果操作数是类型的话,计算的是使用类型创建的变量所占内存空间的大小。2. &数组名,数组名表示整个数组,取出的数组的地址;除此之外,所有遇到的数组都是数组首元素的地址。首先我们先来补充一个知识点。
2023-12-04 18:46:35
257
20
原创 C语言——深入理解指针(4)
你把函数的地址作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,被调用的函数就是回调函数。该函数不是自己直接调用自己,而是在特点的事件或条件发生时由另外的⼀⽅调⽤的,⽤于对该事件或条件进行响应。qsort是库函数,这个函数可以完成任意类型数据的排序。回调函数使用条件: 这些函数的的函数类型都基本一致,只是函数内容上有差距。使⽤回调函数,模拟实现qsort(采⽤冒泡的⽅式)。回调函数就是通过一个函数指针调用的函数。3. qsort 函数的模拟实现。2. qsort 函数的使用。
2023-12-02 18:23:04
210
11
原创 C语言——深入理解指针(3)
在指针的类型中有一种指针类型为字符指针char* 数组指针其实跟指针数组不同,数组指针是:指针变量。我们回忆一下指针之前的一些指针变量:整形指针变量: int * p1; 存放的是整形变量的地址,能够指向整形数据的指针。浮点型指针变量: float * p2; 存放浮点型变量的地址,能够指向浮点型数据的指针。那么数组指针变量就应该是:存放的是数组的地址,能够指向数组的指针变量。函数是有地址的,且函数名就是函数的地址,我们可以通过&函数来获得函数的地址。要存地址,那就要用到指针,存函数的地址,就要用函
2023-11-29 20:14:16
617
11
原创 C语言——深入理解指针(2)
1. sizeof(数组名),sizeof中单独放数组名,这里的数组名表示的是整个数组,计算的是整个数组的大小,单位为字节;2. &数组名,这里的数组名表示的是整个数组,取出的是整个数组的地址(整个数组的地址和数组⾸元素的地址是有区别的)知道这些后我们来看一下下面的代码,来充分理解一下。&arr[0] 和 arr 都是 ⾸元素的地址,+1就是跳过⼀个元素&arr是数组的地址,+1 操作是跳过整个数组的。
2023-11-26 17:17:26
1854
10
原创 C语言——深入理解指针(1)
在这之前我们先说一下生活中的一些与内存非常像的例子生活中有很多高楼,假设楼里有100个房间,你就住在其中一个,你的朋友要来找你,如果房间没有编号,那么就要一间一间去找,这样等你的朋友找到你,大概也天黑了,但是如果每个房间都有自己的编号,如:一楼:101,102....... 二楼:201,202.....以此类推,这样你的朋友就可以快速找到你。其实计算机中的内存也是通过这样管理的,我们知道计算机CPU在处理数据的时候,需要的数据是在内存中读取的,用完了在放回内存中。
2023-11-23 18:45:36
808
17
原创 C语言---操作符的详解(下)
C语言中提供了许多内置类型,如:char、short、int、long、float、double等,但是只要这些是远远不够的,C语⾔为了解决,增加了结构体这种⾃定义的数据类型,让程序员可以⾃⼰创造适合的类型。注意:即使有了操作符的优先级和结合性,我们写出的表达式依然有可能不能通过操作符的属性确定唯⼀的计算路径,那这个表达式就是存在潜在⻛险的,建议不要写出特别负责的表达式。如果某个操作符的各个操作数属于不同的类型,那么除⾮其中⼀个操作数的转换为另⼀个操作数的类型,否则操作就⽆法进⾏。这时就要用到间接访问。
2023-11-22 21:36:43
126
2
原创 C语言--操作符的详解(上)
算术操作符: + 、- 、* 、/ 、%移位操作符: >位操作符: & | ^ `赋值操作符: = 、+= 、 -= 、 *= 、 /= 、%= 、>= 、&= 、|= 、^=• 单⽬操作符: !、++、--、&、*、+、-、~ 、sizeof、(类型) 关系操作符: > 、>= 、< 、上面的这些操作符中,我们在前面的博客已经讲过算术操作符
2023-11-16 17:21:21
99
13
原创 C语言-函数递归
递归是⼀种解决问题的⽅法,在C语⾔中,递归就是上面这个就是一个简单的递归,只是这个递归只是为了让你理解递归的基本类型,不是为了解决问题的,代码运行起来会陷入死递归,导致栈溢出。把一个大型并且复杂的问题层层转化为一个与原问题相似,但是规模较小的子问题来解决;直到子问题不能被拆分,,递归就结束了。。(递归中的的意思,的意思,接下来慢慢来体会。
2023-11-13 13:48:57
142
11
原创 扫雷游戏-【C语言数组和函数的实践】
扫雷游戏--C语言的实现扫雷游戏分析和设计(1)使用控制台实现经典的扫雷(2)游戏可以通过选择实现继续或者退出游戏(3)扫雷的棋盘是9*9的格子(4)默认情况下布置10个雷(5)可以排雷:如果位置不是雷,就显示周围有几个雷; 如果位置是雷,游戏就结束; 把除10个雷之外的所有雷都找出来,排雷成功,游戏结束;
2023-11-10 21:24:32
158
3
原创 C语言——关于static和extern的使用
1.前言1.前言首先我们在学习前先补充一下,关于作用域和生命周期。1.1 什么是作业域(scope)是程序设计概念,通常来说,就是⼀段程序代码中所⽤到的名字并不总是有效(可⽤)的,⽽限定这个名字的可⽤性的代码范围就是这个名字的作⽤域。1. 局部变量的作⽤域是变量所在的局部范围。2. 全局变量的作⽤域是整个⼯程(项⽬)。1.2 什么是生命周期指的是变量的创建(申请内存)到变量的销毁(收回内存)之间的⼀个时间段。1. 局部变量的⽣命周期是:进⼊作⽤域变量创建,⽣命周期开始,出作⽤域⽣命周期结束。
2023-11-08 21:25:56
134
1
原创 C语言--函数
了解了库函数,我们的关注度应该聚焦在⾃定义函数上,⾃定义函数其实更加重要,也能给程序员写 代码更多的创造性。⼀般我们在使⽤函数的时候,直接将函数写在前面就使⽤了。⽐如:我们要写⼀个函数判断⼀年是否是闰年。//判断⼀年是不是闰年return 1;if(r == 1)printf("闰年\n");elseprintf("⾮闰年\n");return 0;这种场景下是函数的定义在函数调⽤之前,没啥问题。
2023-11-04 16:34:21
149
6
原创 【C语言】数组
数组的概念——一维数组的创建和初始化——一维数组的使用-一维数组在内存中的存储——sizeof 计算数组元素个数——二维数组的创建——⼆维数组的使⽤——⼆维数组在内存中的存储
2023-10-28 21:18:09
73
1
原创 猜数字游戏【C语言】
掌握了前⾯学习的这些知识,我们就可以写⼀些稍微有趣的代码了。游戏内容:1.电脑自动生成1-100的随机数2.玩家猜数字,猜数字的过程中,根据猜测数的大小给出大了或小了的反馈,直到猜对为止
2023-10-24 23:50:20
81
1
原创 C语言分支和循环语句的实践和练习
练习:输⼊任意⼀个整数值,计算除3之后的余数对比if 语句和switch 语句使用if 语句结果:测试结果: 输⼊⼀个1~7的数字,打印对应的星期⼏ 例如: 输⼊:1 输出:星期⼀ 输⼊:2 输出:星期⼆ 输⼊:3 输出:星期三 输⼊:4 输出:星期四 输⼊:5 输出:星期五 输⼊:6 输出:星期六 输⼊:7 输出:星期天测试结果: 如果需求发⽣变化,变为: 1. 输⼊1-5,输出的是“⼯作⽇”; 2. 输⼊6-7,输出“休息⽇”上⾯的练习中,我们发现应该根据实际的情况,来在代码中觉
2023-10-19 23:41:03
60
1
原创 C语言的分之和循环语句
C语⾔是结构化的程序设计语⾔,这⾥的结构指的是顺序结构、选择结构、循环结构,C语⾔是能够实 现这三种结构的,其实我们如果仔细分析,我们⽇常所⻅的事情都可以拆分为这三种结构或者这三种 结构的组合。 我们可以使⽤ if 、 switch 实现分⽀结构,使⽤ for 、 while 、 do while 实现循环结构。
2023-10-18 20:48:00
139
1
原创 C语言的输入和输出
printf() 是在标准库的头⽂件 stdio.h 定义的。使⽤这个函数之前,必须在源码⽂件头部引⼊这 个头⽂件。基本用法:printf() 的作⽤是将参数⽂本输出到屏幕。它名字⾥⾯的 f 代表 format (格式化),表⽰可以 定制输出⽂本的格式。给变量输⼊值就可以使⽤ scanf 函数,如果需要将变量的值输出在屏幕上 的时候可以使⽤ prinf 函数,
2023-10-16 21:13:29
317
1
原创 C语言各种运算符(操作符)的详细讲解
我们在写代码时,少不了用这些运算符。+、-、*、/、%————这些又叫做双目运算符(注:操作符也被叫做:运算符,是不同的翻译,意思是⼀样的。有两个运算数的,即位于运算符两端的就是运算数,的运算符。
2023-10-14 14:03:00
1147
1
原创 C语言常见的概念(2)
在前面的代码中我门也看到过\n\0不知道这是什么,其实这就是我们要说的n,在字符串中打印的时候自然能打印出这个字符。如图运行结果:我们想一下如果我们把 n 改为 \n 会怎么样呢?输出结果我们可以看到在修改后,代码的输出结果,已经大不相同了,那这又是因为什么呢?这就是我们要来看的转义字符的问题,\n是一个转义字符它表示的是的意思,我们可以简单的认为 \ 让 n 的意思改变了,n 本来是一个普通的字符,但有了 \ 后就被转义成立换行的意思。
2023-10-11 21:29:00
57
原创 C语言的基础知识点
1.main被写成了mian;2.main后面的()漏掉了3.代码中不能使用中文符号,比如括号和分号4.一条语句结束后要有分号5.每句语句的结尾分号一定要把该打上的都打上,有的语句不用打(后面会讲到)C语言中有一批保留的名字的符号,比如:int、if、return、这些符号被称为保留字或者关键字关键字都有特色的意义,是保留给c语言使用的程序员自己在创建标识符的时候是不能和关键字重复的关键字有是不能自己创建的。
2023-10-09 23:01:50
95
1
原创 给定一个非空整形数组,除了某个元素只出现一次以外,其于每个出现两次,找出出现一次的元素
【代码】给定一个非空整形数组,除了某个元素只出现一次以外,其于每个出现两次,找出出现一次的元素。
2023-10-01 18:20:58
51
原创 零基础初学C语言的基本认知
初学者的认知是C语言是一门程序语言,是通过打出执行正确代码来解决生活中的一些问题,感觉比较高级。比如:用程序输出你好程序输出。
2023-09-30 12:26:42
85
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人