【手把手带你学C】系列
文章平均质量分 93
手把手带你入门C语言,超全知识讲解和相应练习解析,持续更新中……
Stella_sss
努力精进,专注码文,欢迎关注,期待交流!
展开
-
【手把手带你进阶】C语言:文件操作
【手把手带你进阶】C语言:文件操作为什么使用文件什么是文件程序文件数据文件文件名文件的打开和关闭文件指针文件的打开和关闭大家好呀!好久不见~开学之后博主忙了不少,写博客的时间少了很多,真的非常抱歉,不应该不应该,这不一有时间就立即不起来了嘛!废话不多说,下面开始我们的学习。C语言的内容我们已经讲得差不多了,还剩下文件操作和程序的编译这两部分。其中文件的操作比较简单,在工作中用得也比较少,虽然如此,我们也不能不学它呀~毕竟这也是C语言的一部分,不学它好像不太完整,而且万一以后要用到怎么办呢?所以我们还原创 2021-10-29 12:59:03 · 1382 阅读 · 9 评论 -
【一文搞定一问题】动态内存管理中的四道经典笔试题
在学习了动态内存开辟之后,下面给4道经典的动态内存管理相关的笔试题,一起来练练手吧!【一文搞定一问题】动态内存管理中的四道经典笔试题题目一题目二题目三题目四题目一运行下面的程序,会出现什么结果?#include <stdlib.h>#include <stdio.h>#include <string.h>void GetMemory(char* p){ p = (char*)malloc(100);}void Test(void){ ch.原创 2021-10-08 16:56:04 · 323 阅读 · 8 评论 -
学了动态内存分配,妈妈再也不用担心我内存不够~【手把手带你进阶C语言】之动态内存管理
手把手教你动态内存管理为什么存在动态内存分配国庆不知道大家出去玩了吗?还是待在家里学习偷偷变强呢?不管怎么样,在这伟大祖国的诞辰,举国同庆,博主还是要祝愿大家国庆节快乐!国家在一步步向更好更强迈进,我们也不能落下呀~所以,快跟着博主一起努力提升学习,提升自我,希望在读的各位国之栋梁早日为民族的发展壮大贡献力量。今天我们要讲的内容是动态内存管理,在开始学习之前,先给博主我,也给国庆仍然热爱学习、热爱编程的你们点个赞吧!【手把手带你进阶C语言】之动态内存管理为什么存在动态内存分配为什么存在动态原创 2021-10-06 01:47:16 · 626 阅读 · 6 评论 -
C语言中还有这些类型,别再说你不知道了!手把手带你解锁C语言中的自定义类型,让你写你所想。
【手把手带你进阶】C语言中的自定义类型结构体结构体类型的特殊声明结构体的自引用结构体内存对齐结构体内存对齐的规则内存对齐的意义结构体传参结构体实现位段枚举枚举类型的定义枚举的优点枚举的使用联合联合类型的定义联合的特点联合大小的计算在前面对C语言的学习中,我们知道C语言有以下这些内置类型:charshortintlongfloatdouble那么除了这些内置的类型,C语言还为我们提供了一些自定义类型(构造类型),让我们可以自己创造自己需要的类型。其中包含我们结构体、枚举、联合体。那么今原创 2021-09-29 17:03:58 · 569 阅读 · 4 评论 -
还在用别人家的函数?别走!这篇文章教你把别人家的函数变成自己!手把手带你学会字符串函数和内存函数
【手把手带你学】字符串函数&内存函数strlenstrlen的模拟实现大家中秋过得怎样了?假期结束有没有不太适应呢?没关系,看看这篇文章,咱们一边学习,一边治愈吧~话不多说,先点个赞!再开始我们今天的学习之旅吧!我们知道,编译器给我们提供了很多实现不同常用功能的库函数,它们给我们提供了很多便利。但是怎么说它们都是别人家的函数,我们能不能自己来实现,把它变成我们自家的函数呢?当然可以!只有想不到,没有做不到!下面我们就来一个个攻破它们吧!首先我们看看我们今天要掌握的函数有哪些吧~原创 2021-09-24 01:10:20 · 1143 阅读 · 2 评论 -
都中秋了还在苦苦加班排序?这篇文章让你一次性搞定排序问题,手把手教你实现一个通用的排序函数
【手把手教你实现】通用排序函数原型思想代码实现1、确定冒泡排序的趟数2.确定一趟冒泡排序中两两比较的次数3. 两两比较4. 交换总结每次我们写一个不同类型的排序的时候,我们都要写重新写一个新的排序函数,那么有没有什么方法,可以写一个适用于所有类型的排序函数呢?当然是有的!接下来我们就一起来看看吧~原型首先我们知道库函数中有一个qsort函数,它其实就适用于任何类型的数据。(不要问我为什么已经有了qsort函数还非要自己写一个,我知道你们都跟我一样热爱学习,必须要自己写出来才肯罢休!)所以,作为原创 2021-09-21 12:08:47 · 596 阅读 · 5 评论 -
还搞不懂指针?点进来!手把手带你进阶指针(数组指针、指针数组、指针传参、指向函数指针数组的指针等等一切关于复杂指针的问题,统统搞定!)
【手把手带你进阶】指针(数组指针、指针数组、指针传参、指向函数指针数组的指针等等一切关于复杂指针的问题,统统搞定!)字符指针数组指针指针数组数组传参和指针传参前面我们已经对指针进行了一个初步的讲解,相信大家对于指针都已经有了一个基本的认识,那么今天,我们就把指针拿出来,更加深入全面地扒开指针的皮,看看指针的内涵。首先我们先回顾一下初阶指针中的内容。(具体可以看这篇看完这篇文章,别再说指针难了!手把手带你入门指针的基本使用指针是一个用来存放地址的变量,这个地址可且仅可标识一块内存空间。指针的大小是原创 2021-09-20 14:26:11 · 510 阅读 · 2 评论 -
C语言进阶第一问:数据在内存中是如何存储的?(手把手带你深度剖析数据在内存中的存储,超全解析,码住不亏)
【手把手带你进阶】数据的存储数据类型整型在内存中的存储大小端字节序浮点型在内存中的存储在之前的内容中,我们已经把C语言的入门知识进行了一个全面的讲解,并介绍了一些实用的调试技巧,以及函数栈帧的创建和销毁,可以说对于C语言已经算是敲过开门砖了。那么今天,我们就要开启深入学习C语言的旅程啦!首先解决C语言进阶第一问:数据在内存中是如何存储的?当然,我们主要探讨的是整型和浮点型这两种类型。数据类型C语言中具以下几种基本内置类型:这里说明一下:C语言的基本内置类型只的是C语言本身具有的类型,而库原创 2021-09-05 19:25:47 · 715 阅读 · 5 评论 -
【手把手带你搞定】函数栈帧的创建和销毁(一次性解决学C初期疑问,超全贴图&超细解释,必须学废!!!)
【手把手带你搞定】函数栈帧的创建和销毁相信在前期C语言的学习的时候,大家一定都有下面这些困惑。那么今天我们用这篇文章一次性解决以下所有问题:局部变量是怎么创建的?为什么局部变量的值是随机值?函数是怎么传参的?传参的顺序是怎样的?形参和实参是什么关系?函数调用是怎么做的?函数调用结束后怎么返回的?其实这些问题都离不开一个关键:函数栈帧的创建和销毁,因为局部变量和函数的调用都是在栈区上创建的。所以,== 弄明白函数栈帧的创建和销毁 = 修炼了自己的内功 ==,不仅一次性解决上原创 2021-08-29 08:41:06 · 364 阅读 · 7 评论 -
学了编程却写出错误代码?程序运行结果与想象不符?当bug出现时该何去何从,别担心,这篇文章统统告诉你!手把手带你调试代码,让bug原形毕露!
【手把手带你搞定】实用调试技巧什么是bug之前我们对C语言的知识进行了一一的讲解,但是当我们自己真正写代码的时候,又会发现很多问题,比如程序运行时崩溃、程序运行的结果不是我们想要的等等,虽然代码已经能够跑起来了,但是依然不是理想中的状态。这时候应该怎么办呢?别急,现在立即教你使用调试技巧。手把手带你搞定bug。什么是bug大家看看下面这张图:这是世界上的第一个bug。...原创 2021-08-28 10:28:28 · 2805 阅读 · 9 评论 -
看到这类代码,别再说你不认识了!手把手带你认识初阶结构体(结构体类型的声明、初始化、成员访问与传参,全在这篇文章里)
【手把手带你入门】结构体结构体类型的声明结构的基础知识结构的声明结构成员的类型结构体变量的定义和初始化结构体成员访问结构体传参小伙伴们大家好呀!又见面了~没错我就是每天努力码字努力爆肝的勤奋小码农。看了我的文章,记得给我点个赞留下你的小脚印呀!今天我们来讲讲结构体。结构体类型的声明结构的基础知识首先我们先来认识一下结构的概念:结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。这里的结构指的就是结构体。那么结构体是怎么来的呢?现在的我们已经学了很多种类型,原创 2021-08-27 00:56:48 · 435 阅读 · 0 评论 -
看完这篇文章,别再说指针难了!手把手带你入门指针的基本使用
【手把手带你入门】初级指针什么是指针指针和指针类型指针类型的意义指针的解引用指针加减整数野指针野指针成因指针没有初始化指针越界访问指针指向的空间被释放如何规避野指针指针运算指针+-整数指针-指针指针的关系运算指针和数组二级指针指针数组学完了操作符,接下来我们就来讲一讲指针,很多人都说指针很难,指针学不懂,那么到底指针是什么呢?在初识C语言(下)中,我们已经对指针进行了初步的介绍,那么接下来,我们就用官方的解释来再认识一下指针吧~什么是指针在计算机科学中,指针(Pointer)是编程语言中的一个对原创 2021-08-26 04:03:45 · 860 阅读 · 3 评论 -
【手把手带你入门】操作符详解和表达式求值
【手把手带你入门】操作符详解操作符详解算术操作符移位操作符位操作符赋值操作符单目操作符sizeof和数组关系操作符逻辑操作符条件操作符逗号操作符下标引用、函数调用和结构成员![在这里插入图片描述](https://img-blog.csdnimg.cn/ae1e73f3cfa7497fac1d03c527ebdf6b.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG原创 2021-08-25 17:59:06 · 1053 阅读 · 0 评论 -
【手把手带你搞定】扫雷小游戏(巨详细的思路解说!还有升级版代码贴图!速来领取!!)
【手把手带你搞定】扫雷小游戏项目准备扫雷游戏游戏分析两层思考一二代码实现数组的创建与初始化布置雷排查雷完整代码总结优化升级创建升级版扫雷游戏选择排查雷或标记雷拓展排雷范围友友们好呀~昨天我们写了三子棋的小游戏,是不是觉得其实写一个小游戏也没有那么难呢?是不是还跃跃欲试想尝试写出更多的有趣的小游戏呢?那么今天我们就事不宜迟,写一个扫雷小游戏吧!项目准备首先,我们要创建一个新的项目,名为:mine clearance并创建以下三个文件:test.c - 用于测试游戏game.c - 用于.原创 2021-08-24 04:02:39 · 1233 阅读 · 0 评论 -
【手把手带你搞定】C语言实现三子棋游戏,让你的代码有趣起来(超详细教程,从思路到代码,快码起来!)
【手把手带你搞定】C语言实现三子棋游戏什么是三子棋游戏分析代码实现菜单打印井字格下棋玩家下棋电脑下棋判断结果完整代码总结在学习完函数和数组的基本使用之后,我们应该把所学知识应用起来。其中,让我们的代码生动有趣起来的方法就是用它来写一个小游戏啦!今天我们就来写一个简易的三子棋游戏吧!什么是三子棋游戏首先,我们还是简单地介绍一下简单的三子棋(tic-tac-toe)游戏吧~一开始听到三子棋这个名字的时候,我还有些懵……三子棋是啥玩意儿?我只听说过五子棋啊……后来才知道,原来是三子棋就是我小时候经常原创 2021-08-23 03:02:07 · 1128 阅读 · 1 评论 -
【手把手带你入门】数组的创建与使用(超详细解释,包括数组传参以及数组名的理解)
【手把手带你入门】数组的创建与使用一维数组的创建和初始化数组的创建数组的初始化字符数组的初始化一维数组的使用一维数组在内存中的存储二维数组的创建和初始化二维数组的创建二维数组的初始化第一种初始化第二种初始化二维字符数组的初始化二维数组的使用二维数组在内存中的存储数组越界数组作为函数参数冒泡排序函数函数设计问题分析一点改动一维数组的创建和初始化数组的创建数组是一组相同类型元素的集合。数组的创建方式如下:如果直接运行代码,会发现程序会报错或者警告:将上面这段代码进行调试:注意,这里的数组.原创 2021-08-22 03:20:14 · 738 阅读 · 2 评论 -
【手把手带你入门】函数的基本使用(超全解释,包括库函数的学习方法介绍,一定要码住!)
【手把手带你入门】函数的基本使用函数的概念函数的分类库函数自定义函数组成部分函数的概念在【手把手带你入门】初识C语言(下)中我们已经对函数有了一个简单的认识。函数的分类C语言中函数分为库函数和自定义函数。库函数就像我们每个人都要吃饭、睡觉等等,这是我们作为一个人所必须的基本活动,而在C语言中,我们也会频繁地使用一些特定的功能,比如打印结果、输入数字等等,这些函数每个码农都可能用到,所以C语言就贴心地为我们定义好这些函数,并放在基础库中供我们随取随用。关于库函数的参考和学习,大家可以进入这个网原创 2021-08-21 11:29:57 · 1633 阅读 · 2 评论 -
【手把手带你搞定】第一个C语言猜数字游戏(超详细教程,不仅学如何写代码,更学方法思路!)
【手把手带你搞定】第一个C语言猜数字游戏什么是猜数字游戏游戏思路打开方式游戏逻辑代码实现菜单什么是猜数字游戏大家玩过猜数字游戏吗?这是你们美好的童年回忆吗??猜数字游戏顾名思义就是猜数字游戏,在百度上有一个听起来怪牛逼的名字 - 古老的密码破译类益智类小游戏。看来玩这个游戏还有益于智商?!但是这个游戏一般要两人以上玩,那么孤独的单身汉怎办?不如咱们就写一个猜数字游戏让他可以寄几一个人和电脑玩~游戏思路首先我们要思考一下,我们应该怎么写这个游戏呢?打开方式想想看,我们一般玩的游戏,在进原创 2021-06-25 16:36:10 · 3598 阅读 · 9 评论 -
【一张图搞定关机程序】让你的代码有趣起来!送兄弟送闺蜜,快乐原来如此简单!(赋全过程和结果,超详细解说)
从这里开始让你的代码有趣起来事情是这样的关机程序实现关机指令代码实现如何把程序送出去故事后续 快乐传递更多精彩进一步改进你的程序进一步让你的朋友更抓狂事情是这样的你也许不会想到,简单的几行的代码居然可以带来如此多的快乐,那么事情究竟是怎么回事呢?让我们把时间倒回2021年4月1日。我写了一个好玩的代码,美其名曰“小游戏”,然后发给了我姐。那么这到底是一个什么样的程序呢?没错,就是上面这个小小的关机(整蛊)程序,其实他实现起来并不难,只需要二十几行代码就可以完成了,一张图搞定!(急性子原创 2021-06-24 18:21:38 · 1185 阅读 · 3 评论 -
一文搞定最大公约数(四种方法,赋原理和比较,超详细解答)
最大公约数前言1.暴力穷举法代码2.辗转相除法步骤原理代码3.更相减损法步骤原理代码比较4.stein算法比较运算符&移位操作符原理步骤代码前言求两数的最大公约数,一共有四种方法:暴力穷举法、更相减损法、辗转相除法、stein 算法,小女不才,花了几天的时间终于把这几种方法全部弄明白(尤其是stein 算法,看了好久才终于看懂……),现在就把它们全部分享出来。首先,假设被求的两个数为 x、y,且 x > y。最大公约数 d = gcd (x , y)1.暴力穷举法正如名字所说,暴击原创 2021-06-20 21:02:44 · 17235 阅读 · 15 评论 -
【手把手带你练习】分支和循环语句
【手把手带你入门】分支和循环语句练习前言分支语句练习1. 判断一个数是否为奇数2. 输出1-100之间的奇数循环语句练习3. 计算 n 的阶乘。4. 计算 1!+2!+3!+……+10!综合练习5. 在一个有序数组中查找具体的某个数字n。6. 从两边开始逐渐打印字符串。7. 模拟用户登录情景总结前言上一篇文章我们介绍了分支和循环语句,但是光说不练假把式,下面我们就通过以下练习来对上一章的内容进行巩固吧!分支语句练习1. 判断一个数是否为奇数解题思路:整数分为奇偶数,偶数能被 2 整除,奇数不.原创 2021-06-19 22:07:43 · 292 阅读 · 4 评论 -
【手把手带你入门】分支和循环语句
目录前言什么是语句?分支语句(选择结构)if语句结构1结构2结构3(多分支)悬空代码代码风格书写形式的对比switch语句语法结构breakdefault循环结构while语法结构循环执行流程while的应用for前言C语言是结构化的程序设计语言,其中包含3种结构:顺序结构、选择结构、循环结构。比如一条路走到头就是顺序结构;遇到分岔路,需要我们做选择,就进入了选择结构;当我们重复走一条路的时候,就是处于循环结构中。什么是语句?空语句的意义:当我们需要一条语句,但是不需要它执行任何事情时,就可以写原创 2021-06-19 02:19:43 · 368 阅读 · 5 评论 -
【手把手带你入门】初识C语言(下)
目录前言函数数组操作符算术操作符移位操作符位操作符赋值操作符单目操作符! 逻辑反操作- 负值 + 正值sizeof 操作数的类型长度~ 对一个数的二进制按位取反-- 前置(或后置)减减 ++ 前置(或后置)加加(类型) 强制类型转换关系操作符逻辑操作符条件操作符逗号表达式下标引用 函数调用 结构成员常见关键字#define定义常量和宏指针什么是指针指针变量的大小结构体前言本文只是初识C语言,对于C语言的基础内容进行简单讲解,后面会逐步更新各模块的讲解文章,希望大家多多关注,也欢迎大家多与我交流。原创 2021-06-15 23:58:58 · 1675 阅读 · 5 评论 -
【手把手带你入门】初识C语言(上)
【手把手带你学】初识C语言(上)前言C语言简介什么是C语言?为什么产生C语言?C语言标准规范第一个C语言程序:“Hello World”数据类型是什么?为什么?怎么用?变量 常量如何定义一个变量?分类:局部变量 全局变量作用域 生命周期如何使用?常量字符串 转义字符 注释字符串转义字符注释选择语句 循环语句选择语句循环语句前言“任何事情开始的时候,都需要先试试水。”——《明解C语言》本文主要对C语言进行简单介绍,涉及C语言的基础知识,可作为C语言入门的敲门砖。内容来自《明解C语言》与本人课堂所学,包含原创 2021-06-08 23:11:22 · 254 阅读 · 9 评论