C语言基础语法-教案11(从小白到劝退之函数)

C语言入门45道递进式练习题:从语法到算法实战训练路径 在编程学习过程中,掌握一门语言的语法基础与核心概念是构建编程思维的第一步。C语言作为一门贴近底层、高效灵活的系统级编程语言,其核心在于对内存、指针和程序控制流的深入理解。理解变量、函数、数组等基础概念是入门的关键,而指针作为C语言的灵魂,其本质是内存地址的抽象,是实现高效数据操作和内存管理的核心技术。从工程实践角度看,这些基础概念的价值在于能够帮助开发者编写出高效、可控的系统软件和嵌入式程序,广泛应用于操作系统、驱动开发、物联网设备等场景。本文围绕C语言学习中的常见难点,如指针操作、数组越界、函数值传递等, 阅读详情

函数入门

        在C语言中,函数意味着功能模块。一个典型的C语言程序,就是由一个个的功能模块拼接起来的整体。也因为如此,C语言被称为模块化语言。

        对于函数的使用者,可以简单地将函数理解为一个黑箱,使用者只管按照规定给黑箱一些输入,就会得到一些输出,而不必理会黑箱内部的运行细节。

        日常使用的电视机可以被理解为一个典型的黑箱,它有一些公开的接口提供给使用者操作,比如开关、音量、频道等,使用者不需要理会其内部电路,更不需要管电视机的工作原理,只需按照规定的接口操作接口得到结果。

        对于函数的设计者,最重要的工作是封装,封装意味着对外提供服务并隐藏细节。对于一个封装良好的函数而言,其对外提供服务的接口应当是简洁的,内部功能应当是明确的。

函数的定义

  • 函数头:函数对外的公开接口
  1. 函数名称:命名规则与跟变量一致,一般取与函数实际功能相符合的、顾名思义的名称。
  2. 参数列表:即黑箱的输入数据列表,一个函数可有一个或多个参数,也可以不需要参数。
  3. 返回类型:即黑箱的输出数据类型,一个函数可不返回数据,但最多只能返回一个数据。
  • 函数体:函数功能的内部实现
  • 语法说明:
返回类型 函数名称(参数1, 参数2, ……)
{
    函数体
}
  • 函数示例1:求两个给定整数的最大值
int max(int x, int y) // 该函数接收两个整型参数,并返回一个整型数据
{
    int z;
    z = x>y ? x : y;
    return z;
} 
  • 函数示例2:交换两个浮点数
void swap(double *p1, double *p2) // 该函数接收两个浮点指针参数,不返回数据
{
    if(p1 == NULL || p2 == NULL)
        return;
        
    double tmp;
    tmp = *p1;
    *p1 = *p2;
    *p2 = tmp;
} 
  • 函数示例3:初始化液晶屏,获取显存入口指针
char * initLCD(void) // 该函数不接受参数,返回一个字符指针
{
    int lcd = open("/dev/fb0", O_RDWR);
    
    struct fb_var_screeninfo vinfo;
    ioctl(lcd, FBIOGET_VSCREENINFO, &vinfo);
    int bpp  = vinfo.bits_per_pixel;
    int size = vinfo.xres * vinfo.yres * bpp/8;
    
   char * fbmem = mmap(NULL, size, PROT_READ, MAP_SHARED, lcd, 0);
   return fbmem;
} 
  • 语法汇总:
  1. 当函数的参数列表为 void 时,表示该函数不需要任何参数。
  2. 当函数的返回类型为 void 时,表示该函数不返回任何数据。
  3. 关键字 return 表示退出函数。①若函数头中规定有返回数据类型,则 return 需携带一个类型与之匹配的数据;②若函数头中规定返回类型为 void,则 return 不需携带参数。

实参与形参

  • 概念:
    • 函数调用中的参数,被称为实参,即 arguments
    • 函数定义中的参数,被称为形参,即 parameters
  • 实参与形参的关系:
    • 实参于形参的类型和个数必须一一对应。
    • 形参的值由实参初始化。
    • 形参与实参位于不同的内存区域,彼此独立。
  • 示例:
// 函数定义中,x、y都属于形参,位于函数 max 的栈内存中
// 它们的值由实参一一对应初始化
int max(int x, int y)
{
    int z;
    z = x>y ? x : y;
    return z;
}

int main(void)
{
    int a = 1;
    int b = 2;
    int m;
        
    // 函数调用中,a、b都属于实参,存储于主函数 main 的栈内存中
    m = max(a, b);    
}

函数调用的流程

  • 函数调用时,进程的上下文会切换到被调函数,当被调函数执行完毕之后再切换回去。

局部变量与栈内存

  • 局部变量概念:凡是被一对花括号包含的变量,称为局部变量
  • 局部变量特点:
    • 某一函数内部的局部变量,存储在该函数特定的栈内存中
    • 局部变量只能在该函数内可见,在该函数外部不可见
    • 当该函数退出后,局部变量所占的内存立即被系统回收,因此局部变量也称为临时变量
    • 函数的形参虽然不被花括号所包含,但依然属于该函数的局部变量
  • 栈内存特点:
    • 每当一个函数被调用时,系统将自动分配一段栈内存给该函数,用于存放其局部变量
    • 每当一个函数退出时,系统将自动回收其栈内存
    • 系统为函数分配栈内存时,遵循从上(高地址)往下(低地址)分配的原则
  • 示例代码:
int max(int x, int y) // 变量 x 和 y 存储在max()函数的栈中
{
    int z;            // 变量 z 存储在max()函数的栈中
    z = x>y ? x : y;
    return z;         // 函数退出后,栈中的x、y 和 z 被系统回收
}

int main(void)
{
    int a = 1; // 变量 a 存储在main()函数的栈中
    int b = 2; // 变量 b 存储在main()函数的栈中
    int m;     // 变量 m 存储在main()函数的栈中,未赋值因此其值为随机值
    
    m = max(a, b);
}

  • 技术要点:
    • 栈内存相对而言是比较小的,不适合用来分配尺寸太大的变量。
    • return 之后不可再访问函数的局部变量,因此返回一个局部变量的地址通常是错误的。
C语言程序设计教案全解析:从备课到考试的完整教学方案 编程入门的第一步往往是选择一门能打牢地基的语言,而C语言凭借其贴近底层、语法严谨、应用广泛等特点,长期作为计算机教育的基础课程。掌握数据类型、流程控制、数组、指针等核心概念,不仅是后续学习操作系统、嵌入式开发等方向的前提,也是培养结构化编程思维的关键。在高校或培训机构的教学场景中,如何高效组织课时、设计实验、布置作业与考试,是每一位教师面临的现实问题。谭浩强《C语言程序设计》作为经典入门教材,其知识体系覆盖了C语言的核心语法与典型应用,结合分层次实验、代码答辩、程序填空等教学手段,能够帮助初学者从概念理解走 阅读详情

相关推荐

C Primer Plus第六版高清PDF:从C语言基础到C11泛型编程的完整学习路径

C语言作为嵌入式开发和系统编程的基石,入门教材的选择直接影响学习效率。传统扫描版PDF常因代码模糊、目录缺失而让初学者寸步难行。本文从C语言学习的基础概念出发,梳理了《C Primer Plus》第六版的高清电子版优势:完整覆盖C99/C11标准,示例短小精悍,每章配有复习题与编程练习,并且自带可跳转的目录标签。通过gcc编译环境的搭建、三周阅读计划的执行,以及数组、指针、字符串等核心知识的对照实验,帮助读者建立从语法到内存管理的完整认知。文章同时聚焦C11新增的_Generic泛型编程特性,用实际代码演示

weixin_33980459的博客 326

c语言程序设计一维数组教案,《C语言程序设计》-任正云-电子教案 第7章数组

1、第七章 数组,The C Programming Language Chapter 7 Arrays,构造数据类型; 有序数据的集合; 可以看成是具有相同名字不同下标的同一数据类型的简单变量的集合.,一维数组 二维数组 字符数组,7.1 一维数组 定义: 类型说明 数组名正整型常量表达式;,定义数组名,数组中元素的个数;, :下标的界定符,不能用 ( ),注意事项: 数组必须先定义后使用; 只...

weixin_35968185的博客 576

C++从入门到实战:电子教案、开发环境与避坑指南

编程学习中,理论概念与动手实践往往存在鸿沟,C++尤为明显。指针、内存管理、数组边界等基础概念,不仅是考试重点,更是构建工程能力的基石。通过系统化的电子教案梳理知识骨架,结合现代开发工具如VS Code与Visual Studio,能有效降低上手门槛。理解数组名与指针的关系、字符串初始化细节、结构体链表逻辑,再到利用冒泡排序训练算法思维,每一步都需要刻意练习。进阶阶段,回调函数、std::function、多线程与网络通信等特性,进一步拓展了C++的应用场景。然而,旧教材代码常因标准版本过时导致编译失败,识

weixin_31742871的博客 296

C语言函数一章教学,【教案】第3章 函数 (自学为主 ,结合、对比C语言)

【例1】定义判素数的函数prime(),用数组元素作函数实参,判断数组各元素值是否为素数。若不是素则清0。最后输出数组中的素数。分析:算法设计:3.4.2 数组名作函数参数(1)实参与形参:数组名(2)传送方式:传地址实参数组的首地址传送给形参数组,使形参数组与实参数组共用同一数组空间。数组名作函数参数时,实参和形参都应为数组名,此时,实参与形参的传送为“传地址”,所谓传地址是指在调用函数时,系统...

weixin_33498603的博客 333

人工智能导论教案拆解:从知识表示到搜索算法的教学蓝图

人工智能课程教学是当前高校计算机相关专业的热点话题。要讲好人工智能导论,关键在于把握从知识表示到搜索算法这条主线。谓词逻辑、产生式系统等知识表示方法为状态空间建模奠定基础,而盲目搜索与启发式搜索(如BFS和A*)则是求解问题的核心算法。理解搜索原理与技术价值,能帮助教师设计出既有理论深度又有实践环节的课堂。在通识课、计算机专业课或培训场景中,教案的课时分配、例题选取和上机实验直接决定教学效果。现实中,一份成熟的人工智能导论教案不仅提供教学逻辑顺序,还包含可执行的16周教学日历与实验验收标准。通过拆解教案结构

weixin_34216107的博客 300

计算机程序设计(C语言)教案.doc

计算机程序设计(C语言)教案 " "计算机 "总学时 " " "程序设计 " " " " " " " " " " " " " " "简要回 "讲解实验四 "通过讲解实 " "顾 "复习printf和scanf函数,getchar()和putchar函数的用"验四回顾顺 " " "法 "序结构程序 " " " "设计方法 " "阐述主 "关系运算符和关系表达式 "强调重点和 " "题 "逻辑运算符和逻辑表达式 "难点 " " "条件运算符 " " " "if语句(重点、难点) " " " "switch语句(重点、难点) " " "关系运 "关系运算实际上是比较运算,两个值进行比较,判断比较 "强调关系运 " "算符和 "的结果是否符合给定的条件,如果符合比较的结果为真, "算符中等于 " "关系表 "否则结果为假。 "用==表示, " "达式 "用关系运算符将两个表达式(可以是算术表达式、关系表"注意与=的区" " "达式、逻辑表达式、赋值表达式、字符表达式)连接起 "别 " " "来的式子叫关系表达式。 " " " "关系运算符与其它运算符的优先次序。 " " " "C语言提供六种关系运算符: " " " " < 小于 " " " " <= 小于等于 " " " " > 大于 " " " " >= 大于等于 " " " " == 等于 " " " " != 不等于 " " "逻辑运 "用逻辑运算符将关系表达式或逻辑量连接起来就是逻辑 "强调在逻辑 " "算符和 "表达式。 "表达式的求 " "逻辑表 "逻辑运算符与其它运算符的优先次序。 "解中,并不是" "达式 "逻辑表达式的值应该是一个逻辑量"真"或"假",以数值"1"所有的逻辑 " " ""或"0"表示.而在判断一个量是否为"真"时,以"0"代表假"运算都被执 " " ",以非"0"代表真。 "行。 " " "在逻辑表达式的求解中,并不是所有的逻辑运算都被执行" " " "。 " " " "&&逻辑与 " " " "" "逻辑或 " " " "!逻辑非 " " "实例分 "例:满足下列一个条件即为闰年: 能被4整除,不能被100"通过课堂提 " "析 "整除 能被4整除,又能被400整除. "问,引导学 " " "(year%4= =0&&year%100!=0) " " year%400= =0 "生参与思考 " " "!((year%4= =0&&year%100!=0) " "year%400= =0) " " " "(year%4!=0) " "(year%100= =0&&year%400!=0) " " "条件运 "格式:表达式1?表达式2:表达式3 "强调条件运 " "算符 "条件运算符要求有三个操作对象,称三目运算符,它是c"算符要求有 " " "语言中唯一的三目运算符。 "三个操作对 " " "条件表达式 max= (a>b)? a:b 相当于 "象,是三目 " " "if (a>b) max=a; else max=b; "运算符 " " "说明: " " " "条件运算符的执行顺序 " " " "条件运算符的优先级别,仅高于赋值运算 " " " "条件运算符的结合方向为右结合性 " " " "条件表达式不能取代if语句 " " " "条件表达式中的表达式类型可以不同 " " "实例分 "例:编程,输入一个字符,若是大写就转换成小写;若 "通过例题体 " "析 "不是就不转换,输出字符。main(){char "会条件运算 " " "a;scanf("%c",&a);if (a>='A'&&a<='Z') "符的使用 " " "a=a+32;printf("%c",a);} " " " "//a=(a>='A'&&a<='Z')?a+32:a; " " " "} " " "if "if语句是用来判定是否满足所给定条件,根据判定结果( "分析if语句 " "语句( "真或假)决定执行给出的两种操作之一。 "的三种形式 " "重点、 "if语句的三种形式: " " "难点) " if (表达式) 语句 " " " " if (表达式) 语句1 else 语句2 " " " " if (表达式1) 语句1 " " " "else if (表达式2) 语句2 " " " "else if (表达式3) 语句3 " " " "...... " " " "else if (表达式n) 语句n " " " "else 语句n+1 " " "if语句 "在if语句的内部使用if语句,例如: "if语句的嵌 " "的嵌套 "if ( )if ( ) 语句1else if ( ) 语句2else 语句3 "套,注意与i" " " "f语句的三种" " " "形式的区别

C语言基础语法-教案12(从小白到劝退之特殊函数)

C语言基础语法-教案12(从小白到劝退之特殊函数)

LINUX823的博客 360

【无机纳米材料科研制图——OriginLab 0205】Origin对BET吸附/脱附曲线及孔径分布制图...

此篇,我们来分享如何对BET数据进行处理和制图。 一、等温吸脱附曲线绘制 1)找到等温吸脱附文件。 一半来说,对一个样品测一次BET,会产生很多数据,具体因仪器而异。我这里的数据主要有两个文件夹,一个脱附,一个吸附,吸附文件夹中多了一个等温吸脱附的文件夹。而这...

XD_Yangf的博客 803

C语言程序设计详细教程(完整版)

(1)定义格式:数据类型标识符 数据名 [整型常量表达式](2)注意事项:1、数组定义时,有一些编译器要求方括号内的表达式只能包含整型常量,不能包含变量。2、数组名实质上是一个指针,指向整个数组的首地址。3、在赋值时,数组名是一个常量,不能被赋值;数组元素是变量,可以被赋值。(1)定义格式:数据类型标识符 数组名 [整型常量表达式1] [整型常量表达式2];(2)注意事项:1、表达式1 和表达式2 分别对应的是数组的行数与列数2、二维数组在内存中是按行存放,及系统先放满第一行,再放第二行。

HXR_plume的博客 1万+

永磁同步电机矢量控制——电流内环前馈解耦策略

在采用永磁同步电机矢量控制时,ud和uq的指令值存在耦合项。需要对其进行解耦,目前,常用的解耦设计方法有前馈解耦、偏差解耦以及内模控制,本文主要分享电流内环前馈解耦控制策略。

a12312341ll的博客 8691

LVGL的基础知识总结

另外,还有自定义字库的使用,具体可参考开发手册。

qq_28576837的博客 7386

C语言基础语法-教案02(从小白到劝退)

C语言-教案02(从小白到劝退)

LINUX823的博客 1057

最新测算源码PHP算命源码-风水八字-八字起名-塔罗牌占卜

未来,随着技术的发展和用户需求的变化,我们可以继续对系统进行升级和优化,以满足更多用户的需求和期望。数据库设计:创建一个名为bazi的数据库表,包含以下字段:id(自增ID)、name(姓名)、sex(性别)、birth_date(出生日期)、birth_time(出生时间)、bazi(八字结果)。数据库设计:创建一个包含塔罗牌信息的数据库表,如tarot_cards,包含字段:id(塔罗牌ID)、name(塔罗牌名称)、meaning(塔罗牌含义)等。根据操作系统的不同,PHP的安装方法会有所不同。

shanbeizi的博客 2417

【Linux】别再被命令行劝退!Linux 26个救命指令,从小白到运维高手

本文系统梳理Linux命令行26个核心指令,涵盖文件管理、内容查看、系统监控等六大场景。从ls、cd等基础操作,到grep文本过滤、tar压缩打包等进阶功能,配合-f实时刷新、-r递归操作等关键参数,构建完整命令体系。特别解析重定向>/>>与管道|的组合用法,以及*通配符批量处理技巧。通过对比cat/less等工具适用场景,结合日志分析、进程管理等实战案例,帮助读者快速掌握从文件操作到系统运维的必备技能,告别"鼠标依赖症",提升Linux操作效率。

2402_87731470的博客 3994

Sony SLVS-EC接口实战:如何用Xilinx K7 FPGA接收IMX421传感器数据(附电气特性匹配技巧)

本文详细介绍了在Xilinx Kintex-7 FPGA平台上实现Sony IMX421图像传感器SLVS-EC接口数据接收的完整实战方案。内容涵盖从硬件选型、PCB布局的电气特性匹配技巧,到FPGA内部GTX收发器配置、多通道绑定以及SLVS-EC协议数据解析与图像重组的关键步骤,为高速视觉系统开发提供了宝贵的调试经验和系统集成指导。

efc12345678的博客 263

基于coze studio开源框架二次定制开发教程

CozeStudio是一站式AIAgent开发工具,支持大模型接入、智能体编排、工作流开发等功能。采用Golang+React技术栈,基于微服务架构设计。项目包含后端API、领域逻辑、前端应用等模块,支持自定义任务流节点开发。开发流程涵盖前后端节点定义、实现逻辑编写等步骤,提供完整的开发规范和参考文档。相比商业版,开源版本在功能上有所精简,但仍保留核心开发能力。

coding change your life 790

C语言基础技能练习场:从环境配置到指针实战的进阶体验

C语言作为编程语言的基石,对理解内存布局、指针操作和算法实现至关重要。许多初学者在学完语法后,却因缺乏系统性练习而难以应对实际开发需求。基于分层训练的思路,从环境搭建到指针、字符串、文件读写等核心模块的实践,能够有效提升编程思维与调试能力。这种训练方式不仅适用于PTA、蓝桥杯等竞赛备考,也为嵌入式开发等工程场景奠定坚实基础。RYG练习场正是这样一套以实战为导向的C语言技能训练体系,通过红黄绿三层递进,帮助学习者稳步掌握C语言基础。

weixin_34259232的博客 377

ATT MTU 交换机制:提升 BLE 数据传输效率的关键

在低功耗蓝牙(BLE)技术的面试中,ATT MTU 交换机制始终是高频考点。无论是芯片厂商的固件开发岗,还是物联网设备的协议栈调试岗,面试官都爱通过这个知识点考察候选人对 BLE 数据传输底层逻辑的理解。本文将系统梳理核心考点,结合历年真题详解应答思路,轻松应对这类问题。​

byte轻骑兵的技术小窝 2411

C++ 入门基础核心知识点梳理,从基础语法到核心特性

定义命名空间,使用namespace关键字,后跟命名空间名称,再用{}包裹成员,命名空间中可以定义变量、函数、类型,甚至嵌套其他命名空间。// 定义名为bit的命名空间// 命名空间内的rand,和全局的rand函数完全隔离// 定义函数// 定义类型int val;int main()// 默认访问全局的rand函数(函数指针)// :: 是域作用限定符,指定访问bit命名空间中的rand// 调用命名空间中的函数return 0;// 嵌套命名空间pg。

FeIix的博客 1007

提示词驱动的多智能体协作系统

《提示词驱动的多智能体协作系统》 关键词:人工智能、多智能体系统、协作机制、提示词驱动、系统设计与应用 摘要:本文深入探讨提示词驱动的多智能体协作系统,首先介绍其背景和核心概念,然后详细分析多智能体系统的基本原理和提示词驱动的协作机制,最

AI天才研究院 846

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

win11装WSL2,移动至D盘实操记录(移动硬盘被劝退版)

本来想要将WSL2移到移动硬盘上,但是第一次尝试失败了,后来技术人员说移到移动硬盘非常容易出问题,于是就只是移到D盘。

2403_84639931的博客 2136

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

PyBind11实战:10分钟实现Python调用C++,提升计算性能

在软件开发中,混合编程是平衡开发效率与执行性能的关键策略。其核心原理是通过外部函数接口(FFI)在不同编程语言间建立通信桥梁,实现功能与资源的互操作。这一技术能显著提升应用性能,尤其在数据处理、科学计算及游戏引擎等计算密集型场景中价值巨大。通过将Python的快速原型能力与C++的高效执行相结合,开发者可以构建出既灵活又高性能的解决方案。本文以PyBind11这一现代FFI工具为例,深入解析其如何简化绑定过程,并支持函数重载、STL容器自动转换等高级特性,为工程实践提供了一套高效的Python与C++互操作

weixin_29279153的博客 299

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

从C语言到C++过渡:核心语法、思维转变与实战避坑指南

C语言和C++是嵌入式开发、系统编程及高性能应用领域的两大基石。对于已有C语言基础的开发者,向C++过渡的关键并非记忆更多新语法,而是完成从过程式思维到面向对象思维的转变。C++在兼容C语法的基础上,引入了引用、bool类型、string类、函数重载、命名空间、智能指针以及STL等机制,通过封装、继承和多态提高代码复用率与可维护性。借助RAII和容器,C++能大幅降低手动内存管理的负担;同时,现代C++特性如移动语义和lambda表达式进一步提升了工程效率。在实际应用中,无论是嵌入式中间件还是桌面软件,掌握

weixin_34417200的博客 287

c++与c语言语法区别,一个小白的发问:C语言和C++什么区别啊?

该楼层疑似违规已被系统折叠隐藏此楼查看此楼迟早得加 FAQ 套餐,列提纲(原理链接待补):0.不管 C 还是 C++ ,没真实项目需求的一律先劝退。1.没入门其中一种的,或者自认为入门过完全搞不清区别的,首先应该假定两者无关。2.官方关系:首先关于 spec :ISO C(ISO/IEC 9899 )和 ISO C++(ISO/IEC 14882 )都是 ISO/IEC JTC1/SC22 下的...

weixin_39637571的博客 530

C到C++入门指南:从环境搭建到核心语法一次讲透

编程入门阶段,理解语言之间的关联比死记语法更重要。C语言作为现代编程语言的基石,其指针、数组、内存管理思想深刻影响着C++的设计。C++并非凭空诞生,而是在C的基础上扩展了类、模板、STL等能力,同时向下兼容,因此掌握C的核心语法能为后续学习节省大量时间。对于初学者,从变量、输入输出、数组、字符串等基础概念入手,逐步过渡到函数、指针与动态内存分配,是一条成熟且高效的学习路径。开发环境的搭建同样关键,选择合适的编译器与编辑器能避免前期劝退。当基础语法与工具链准备就绪后,通过冒泡排序、快速幂等经典算法练习,能有

weixin_29207149的博客 288

感觉 C++ 很简单,但为何这么多劝退的?

上一个说C++简单的,已经被面试官问死了... 那些面试官最喜欢的就是你在简历上写“精通”或者“熟练掌握”几个字。。。 我以前也以为自己学明白了,后来经历的面试越多越觉得自己没学明白。 哦不,不是没学明白,是没学清楚! 腾讯的面试官就贼喜欢问C++基础部分,字节的还好....所以在我以前通过校招上岸字节跳动后,将我自己的秋招找工作认真总结,并且开源在github上了。 这份笔记包括C/C++、操作系统、计算机网络、数据库(MySQL、Redis)、常见情景题、智力题以及计算机面试中需要注意的问题。

天涯路的专栏 1575
上一篇: C语言基础语法-教案10(从小白到劝退之内存管理)
下一篇: C语言基础语法-教案12(从小白到劝退之特殊函数)
栈时没有名字
博客等级 码龄5年 289粉丝 47原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值