-
C语言初阶 – 指针
一、指针是什么? 指针是什么? 指针理解的2个要点: 1、指针是内存中一个最小单元(内存单元)的编号,也就是地址 2、平时口语中说的指针,通常是指针变量,用来存放内存地址的变量 总结:指针就是地址,口语中说的指针通常指的是指针变量 那么我们就这样理解:内存 指针变量 我们可以通过&(取地址操作符)取出变量的内存地址,把地址可以存放到一个变量中,这个变…
-
09 通讯录管理系统
通讯录管理系统 1、系统需求 通讯录是一个可以记录亲人、好友信息的工具。 本教程主要利用C++来实现一个通讯录管理系统 系统中需要实现的功能如下: 2、创建项目 创建项目步骤如下: 2.1 创建项目 打开vs2017后,点击创建新项目,创建新的C++项目 填写项目名称,选择项目路径 2.2添加文件 添加成功后,效果如图: 至此,项目已创建完毕 3、菜单功能 …
-
08 结构体
8 结构体 8.1 结构体基本概念 结构体属于用户自定义的数据类型,允许用户存储不同的数据类型 8.2 结构体定义和使用 语法:struct 结构体名 { 结构体成员列表 }; 通过结构体创建变量的方式有三种: 示例: 总结1:定义结构体时的关键字是struct,不可省略 总结2:创建结构体变量时,关键字struct可以省略 总结3:结构体变量利用操作符 &…
-
07 指针
7.1 指针的基本概念 指针的作用: 可以通过指针间接访问内存 7.2 指针变量的定义和使用 指针变量定义语法: 数据类型 * 变量名; 示例: 指针变量和普通变量的区别 总结1: 我们可以通过 & 符号 获取变量的地址 总结2:利用指针可以记录地址 总结3:对指针变量解引用,可以操作指针指向的内存 7.3 指针所占内存空间 提问:指针也是种数据类型…
-
第2章 C语言概述
一、复习题 1、C语言的基本模块是什么? 它们都叫函数 2、什么是语法错误?写一个英语例子和C语言例子 3、什么是语义错误?写一个英语例子和C语言例子 4、Indiana Sloth编写了下面的程序,并征求你的意见。请帮助他评定 第一行没有加<> 赋值语句错误 函数错误应该是printf 花括号不齐全 二、编程练习 2.1 2.2 2.3 编写一…
-
第1章 初识 C 语言
C的历史和特性 编写程序的步骤 编译器和链接器的一些知识 C标准 一、复习题 1.对编程而言,可移植性意味着什么? 完美的可移植的程序是,其源代码无需修改就能在不同计算机系统中成功编译的程序 2.解释源代码文件、目标代码文件和可执行文件有什么区别? 源代码文件:包含程序员使用的任何编程语言编写的代码 目标代码文件:包含机器语言代码,它不必是完整的程序代码 可…
-
06 函数
6.1 概述 作用:将一段经常使用的代码封装起来,减少重复代码 一个较大的程序,一般分为若干个程序块,每个模块实现特定的功能。 6.2 函数的定义 函数的定义一般主要有5个步骤: 1、返回值类型 2、函数名 3、参数表列 4、函数体语句 5、return 表达式 语法: 示例:定义一个加法函数,实现两个数相加 6.3 函数的调用 功能:使用定义好的函数 语法…
-
C语言初阶 – 操作符
一、操作符分类 1、算术操作符 2、移位操作符 3、位操作符 4、赋值操作符 5、单目操作符 6、关系操作符 7、逻辑操作符 8、条件操作符 9、逗号操作符 10、下标引用、函数调用和结构成员 二、算术操作符 1、+ 2、- 3、* 4、/ 5、% 结论: 除了%操作符,其他的操作符可以作用于整数和浮点数 对于 / 操作符如果两个操作数都为整数,执行整数除法…
-
第二章数据结构线性表 – 单链表动画演示
一、带头结点单链表 1、头插法创建-动画演示 2、尾插法创建-动画演示 3、插入操作 插入表头 插入中间 插入表尾
-
第二章数据结构线性表 – 单链表的插入和删除操作
一、知识要点 1.1 按位序插入 – 带头结点 1.2 按位序插入 – 不带头结点 1.3 指定结点的后插操作 1.4 指定结点的前插操作 1.5 按位序删除(带头结点) 1.6 指定结点删除 1.7 封装的好处 二、单链表 – 插入操作 3.1 按位序插入(带头结点) – ListInsert(&L,…
-
05 数组
5.1 概述 所谓数组,就是一个集合,里面存放了相同类型的数据元素 特点1:数组中的每个数据元素都是相同的数据类型 特点2:数组是由连续的内存位置组成的 5.2 一维数组 5.2.1 一维数组定义方式 一维数组定义的三种方式: 示例 示例 总结1:数组名的命名规范与变量名命名规范一致,不要和变量重名 总结2:数组中下标是从0开始索引 5.2.2 一维数组数组…
-
第二章数据结构线性表 – 单链表的定义与初始化
一、单链表的定义和表示 – 知识要点 1.1 定义单链表 1.2 带头结点单链表的初始化 二、单链表 – 定义与初始化 1.1 带头结点代码实现 1.1.1 C语言实现 实现算法实现 测试主函数 运行结果 运行过程 带头结点单链表的初始化的注意点 1.1.2 C++单链表定义及初始化 运行结果 1.2 不带头结点代码实现 1.2.1 …
-
第二章数据结构线性表 – 单链表概念
一、引言 1.1 知识框架 1.2 有了数组为什么还要链表? 在前面我们介绍过数组,数组中元素是存储在连续的内存位置在声明数组时,我们可以指定数组的大小,但这将限制数组可以存储的元素数量 例如我们声明的是 int arr[10],那么arr数组最多可以存储10个数据元素 但是我们事先不知道元素的大小呢? 我们该如何去做? 当然首先想到的是申请一个足够大的数组…
-
04 程序流程结构
C/C++支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构 循环结构:依据条件是否满足,循环多次执行某段代码 顺序结构:程序按顺序执行,不发生跳转 选择结构:依据条件是否满足,有选择的执行相应功能 4.1 选择结构 4.1.1 if语句 作用:执行满足条件的语句 if语句的三种形式 示例: 注意:if条件表达式后不要加分号 示例: 示例: 嵌套if…
-
初始C语言01
0、什么是C语言? C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MC…
-
01 你好Python
一、课件
-
03 运算符
作用:用于执行代码的运算 本章我们主要讲解以下几类运算符: 运算符类型 作用 算术运算符 用于处理四则运算 赋值运算符 用于将表达式的值赋给变量 比较运算符 用于表达式的比较,并返回一个真值或假值 逻辑运算符 用于根据表达式的值返回真值或假值 3.1 算术运算符 作用:用于处理四则运算 算术运算符包括以下符号: 运算符 术语 示例 结果 + 正号 +3 3 …
-
02 数据类型
C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存 数据类型存在意义:给变量分配合适的内存空间 2.1 整型 作用:整型变量表示的是整数类型的数据 C++中能够表示整型的类型有以下几种方式,区别在于所占内存空间不同: 数据类型 占用空间 取值范围 short(短整型) 2字节 (-2^15 ~ 2^15-1) = -327…
-
08 – 数据结构基础知识补充
内存分类 一、静态 / 全局内存(程序运行期间一直存在) 特点:全局变量和静态变量(用static声明)的内存,在程序启动时分配,程序结束才释放。通俗理解:像「公共仓库」,一旦创建就一直存在,所有需要的地方都能访问(全局变量),或在特定范围内持续保留(静态变量)。 解释: 二、自动内存(栈内存,函数调用时临时创建) 特点:函数内的普通局部变量(不用stati…
-
01 C++初识
1.1 第一个C++程序 编写一个C++程序总共分为4个步骤 1.1.1 创建项目 Visual Studio是我们用来编写C++程序的主要工具,我们先将它打开 1.1.2 创建文件 右键源文件,选择添加->新建项 给C++文件起个名称,然后点击添加即可。 1.1.3 编写代码 1.1.4 运行程序 1.2 注释 作用:在代码中加一些说明和解释,方便自…
-
C语言练习07(数组)
No1 No2 No3 No4 输出结果: No5 No6 No7 No8 No9 编程题 No10 代码结构
-
03 进制转换详解
二进制转十六进制的详细步骤
-
02 溢出详解
二进制转十六进制的详细步骤
-
01 C语言的整数类型及类型转换
二进制转十六进制的详细步骤
-
C语言练习06(递归)
第一题 第二题 第三题 第四题逆序打印字符串 方法一 方法二:递归的方式逆序打印字符串(一个参数) 方法三:递归多个参数 题目5:计算一个数的每位之和 题目5:递归实现n的k次方
-
第 1 章 计算机系统概述02 – 操作系统的发展历程
一、选择题 二、综合题
-
第 1 章 计算机系统概述01 – 操作系统的基本概念
一、选择题 在计算机系统中,通道(Channel)是一种专门负责管理输入输出(I/O)操作的硬件部件,可以视为 “辅助处理器”。它的核心作用是分担中央处理器(CPU)的 I/O 负载,使 CPU 专注于数据处理,同时让外设(如磁盘、打印机等)与内存之间直接进行高效的数据传输,从而提升整个系统的性能和并行处理能力。 二、综合题
-
C语言练习05(逆序实现)
代码说明: 代码说明:
-
07 – 第二章数据结构线性表 – 顺序表总结
顺序表代码实现 一、动态分配方式实现的所有功能 dynamic_list.c dynamic_list.h relloc函数 realloc 是 C 语言标准库中用于重新调整已分配内存块大小的函数,主要用于动态内存管理(头文件 <stdlib.h>)。 ptr:指向待调整大小的原内存块的指针(若为 NULL,效果等价于 malloc…
-
C语言练习04(查找数组最大值和最小值)
要实现数组元素大小比较(例如查找最大值或最小值),其最小时间复杂度为 O (n)(线性时间复杂度),因为必须遍历所有元素至少一次才能确定最值。以下是 C 语言实现查找数组最大值和最小值的示例代码: 代码说明 扩展说明
-
06 – 线性表 – 顺序表 – 综合题
题目1 从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删元素的值。空出的位置由最后一个元素填补,若顺序表为空,则显示出错信息并退出运行。 本题算法代码如下(类C语言): 代码(C语言): 优化内容: 主要优化说明: 注:若需要严格保持 C++ 引用语法(原代码的&),可将参数改回SqList &L, ElemType &va…
-
02 电子计算 Electronic Computing
1. 早期计算设备的局限性 2. 真空管的革命性替代 3. 晶体管的诞生与计算机新时代 4. 关键转折点 阶段 核心技术 代表设备 里程碑意义 机电时代 继电器 哈佛Mark I 首次大规模自动化计算,但效率低下 电子管时代 真空管 Colossus、ENIAC 可编程电子计算机诞生,速度提升 晶体管时代 晶体管 IBM 608 计算机小型化、普及化开端
-
01 计算机早期历史 Early Computing
一、课程概述:计算机科学的重要性与目标 二、计算工具的起源:从算盘到机械计算器 三、通用计算机的先驱:巴贝奇与分析机 四、商业应用的开端:打孔卡片与 IBM 的诞生 五、总结:从机械到电子的过渡
-
05 – 线性表 – 顺序表 – 选择题
1、线性表是具有n个数据元素的有限序列 2、顺序存储结构特点 3、区别顺序表和一维数组 4、线性表的顺序存储结构是一种随机存取结构(读写方式),注意:容易混淆顺序存取的存储结构 5、顺序表的随机存取特性指的是什么? 6、顺序表所占用的存储空间大小与什么有关 7、在顺序表上比在链表上效率高的多的操作是什么? 8、在一个长度为n的顺序表中删除第 i 个元素,则需…
-
06 – 第二章数据结构线性表 – 顺序表代码实现(顺序表查找操作)
线性表的基本操作(GetElem&LocateElem) 一、GetElem(L,i,&e) 按位查找:获取表L中第 i 个位置元素的值 代码实现1 – 静态分配方式 运行结果: 代码实现2 – 动态分配方式 运行结果: 代码说明: 注意点: 动态顺序表(SeqList) 静态顺序表(SqList) 二、LocateE…
-
1.两数之和(哈希)
一、题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。 你可以按任意顺序返回答案。 示例 1: 输入:num…
-
C语言练习03
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 方法一:暴力枚举法 以下是代码运行结果: 方法二 以下是运行结果
-
05 – 第二章数据结构线性表 – 顺序表代码实现(插入和删除操作)
线性表的基本操作(ListInsert&ListDelete) 1、ListInsert(&L,i,e) 功能:1、插入操作实现,在表L中的第i个位置上插入指定元素e。2、静态分配方式插入操作 定义插入操作关键步骤1. 检查表是否已满(静态分配的核心限制)2. 检查插入位置有效性(i的合法范围:1 ≤ i ≤ length+1)3. 从最后一…
-
04 – 第二章数据结构线性表 – 顺序表代码实现(初始化线性表和销毁操作)
线性表的基本操作(InitList&DestroyList) 1、InitList(&L) 功能:初始化表,构造一个空的线性表L,分配空间 运行结果: 2、DestroyList(&L) 销毁操作。销毁线性表,并释放线性表L所占用的内存空间 运行结果: 注意点: 操作符 L 的类型 示例代码 等价写法 -> 结构体指针 SeqL…
-
03 – 第二章数据结构线性表 – 顺序表
2.1 线性表的定义和基本操作 2.1.1 线性表的定义 2.1.2 线性表的基础操作 InitList(&L) 初始化表。构造一个空的线性表L,分配内存空间。 DestroyList(&L) 销毁操作。销毁线性表,并释放线性表L所占用的内存空间 ListInsert(&L;i,e) 插入操作。在表L中的第i个位置上插入指定元素e。 …
-
04 – 时间复杂度相关的题
一、常见题型 题目1、在数组A[0….n-1]中,查找给定值k的算法 以下是代码运行结果 题目2:计算下列代码的时间复杂度 时间复杂度计算 结论 此算法的时间复杂度是O(n^(1/3))。 以下是代码运行结果: 题目3:冒泡排序 – 计算下列代码的最坏时间复杂度 时间复杂度推导 关键结论 补充说明 题目4:另一种形式的冒泡排序 1. …
-
03 – 刷题心得 第一章绪论
一、数据结构的基本概念(王道) 1、可以用抽象数据类型定义一个完整的数据结构 2、非线性数据结构 – 树和图、集合;线性数据结构 – 一般线性表、栈、队列、串、数组 3、顺序表、哈希表、单链表 – 既描述数据结构,又描述存储结构和运算; 有序表属于逻辑结构仅描述元素之间的逻辑关系,既可以链式存储,也可以顺序存储 4、数据结…
-
02 – 算法的空间复杂度案例
一、什么是空间复杂度? 算法效率的度量 = 时间复杂度 + 空间复杂度 其中空间复杂度就是用于衡量算法在运行过程中所需占用的额外存储空间,即空间开销(内存开销) 空间复杂度表示方法:S(n) 二、 案例汇总 案例1:空间复杂度S(n) =O(1) 案例2:空间复杂度S(n) =O(n) 这段代码创建了一个大小为 n 的整数数组,对其进行初始化并计算所有元素的…
-
01 – 算法的时间复杂度案例
一、时间复杂度案例 时间复杂度-事前预估算法时间开销与问题规模的关系 算法1:逐步递增型 以下是部分代码执行结果: 注意点:这里判断语句while要比printf()多执行一句,时间复杂度T(3000)= 1+3001+2*3000+1,用大O表示法:T(n) = O(n)。 算法2:嵌套循环型 以下是部分代码执行结果: 注意点:这里的时间规模T(n) = …
-
C语言练习02
题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%;高于100…
-
C语言练习01
题目:有 1、2、3、4 四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 程序分析:可填在百位、十位、个位的数字都是 1、2、3、4,组成所有的排列后再去掉不满足条件的排列。
-
02 – 第一章数据结构绪论
2.1 数据结构的基本概念 举例需要理解几点: 2.2 数据结构的三要素 2.2.1. 数据的逻辑结构 逻辑结构是指数据元素之间的逻辑关系,即从逻辑关系上描述数据。 逻辑结构包括: 2.2.2. 数据的存储结构(物理结构) 如何用计算机表示数据元素的逻关系? 存储结构是指数据结构在计算机中的表示(又称映像),也称物理结构。 存储结构包括: 2.2.3. 数据…
-
01 – 数据结构引言
为什么数据结构和算法如此重要? 因为:程序=数据结构+算法 数据结构是一组数据的存储结构和组织方式,使得该组数据便于访问、修改、存储。 算法是操作数据的一组方法,解决问题的一系列步骤。
-
尼尔森:中国的白酒市场从渠道驱动转型为消费驱动
随着茅台、五粮液的降价,未来高端白酒价格将进入下行通道,同时白酒行业也将迎来新的变化,白酒行业可能会像乳品、啤酒等行业一样进入整合阶段,受到更多人的追捧。
-
人工智能创业的两种形态三大规律
我们需要的是人性化、情感化、品质化的产品和服务。
-
从资讯到企业资产,“企业头条”要打造To B的今日头条
公司于2016年5月完成千万元Pre-A轮融资,投资方为银杏谷资本和用友幸福投资。
-
被夸大了的失败经验,无非是变相的成功学
研究了那么多失败的案例,仍然做不好一家企业
-
从设计师到创业者,中间的差别是什么?
从设计师到创业者,这中间的差别是什么,我需要做什么准备?