🎬鸽芷咕:个人主页 🔥个人专栏:《C语言初阶篇》《C语言进阶篇》⛺️生活的理想,就是为了理想的生活!文章目录前言💬getchar()的用法讲解📑getchar()的参数📑getchar()的返回值💬为什么getchar的返回值是个整形int而不是char📚getchar()实例应用:💬scanf函数的讲解💬getchar和scanf用法错误实例:💭运行结果:💬键盘缓冲区📖运行错误的原因📚解决方法总结前言 🌈hello!各位宝子们大家好啊,相信大家都多多少少了用过scanf和getchar()语句吧,但是关于缓存区的概念,我相信大多数人都没有听说过吧。 ⛳️写这篇文章的原因是博主在写代码过程
目录1.hoare法方法与步骤代码实现2.挖坑法方法与步骤代码实现3.前后指针法方法与步骤代码实现 4.快速排序的缺点与优化1.快速排序的缺点2.快速排序的优化①三数取中法选key代码实现②小区间优化代码实现5.快速排序的非递归实现附录﹡完整源码快速排序递归实现快速排序非递归实现快速排序是霍尔大佬在1962年提出的排序方法,因其出色的排序效率使得它成为使用最广泛的排序算法。快速排序之所以敢叫做快速排序,自然是有一定的道理,今天我们就来看看快速排序是如何凌驾于其它算法之上的。快速排序的基本思想是:任取待排序数列中的一个数作为key值,通过某种方法使得key的左边所有的数都比它小,右边的数都比它大
🎬鸽芷咕:个人主页 🔥个人专栏:《C语言初阶篇》《C语言进阶篇》⛺️生活的理想,就是为了理想的生活!文章目录前言结构化程序设计的三种基本结构💬分支语句(选择结构)📑if语句💬代码演示:`if`语句的单分支情况💬代码演示:`if`语句的单双分支情况💬代码演示:`if`语句的多分支情况💬if语句中的嵌套💬if语句中的注意事项📜if语句中的大括号📜悬空else、else的匹配规则总结前言 🌈hello!各位宝子们大家好啊,相信大家都多多少少了解过if语句吧,但是你真的有了解过,所有if语句的细节吗?学完这篇文章你将知道if语句的所有知识。结构化程序设计的三种基本结构📑大家都知道C语言开发出来是为了
🎈个人主页:库库的里昂 🎐CSDN新晋作者 🎉欢迎👍点赞✍评论⭐收藏 ✨收录专栏:C语言初阶 ✨其他专栏:代码小游戏 🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!🤗【前言】C语言初阶知识点已经全部更完,相信大家对C语言初阶已经有了一个整体的概念,但我们只知道一些理论上的知识还是没有用的,所以今天我在网上找了一些题目给大家练习巩固之前学的知识,这样能更好的帮助我们加深对其的理解。一、选择题1.下列程序执行后,输出结果为()#includeintcnt=0;intfib(intn){cnt++;if(n==0)return1;elseif(n==1)retu
系列文章目录 第一章 “C“浒传——初识C语言(更适合初学者体质哦!) 第二章 详细认识分支语句和循环语句以及他们的易错点 第三章 初阶C语言——特别详细地介绍函数目录系列文章目录前言一、函数是个什么鬼东西? 二、C语言中函数的分类:2.1库函数2.1.1如何学会使用库函数?2.1.2来通过学几个库函数进行如何学会库函数pow(pow函数详解) strcpy(strcpy函数详解)memset(memset函数详解 ) 2.2自定义函数三、函数的参数3.1实际参数(实参):3.2形式参数(形参) :四、函数的调用 4.1传值调用 4.2传址调用五、函数的嵌套调用和链式访问5.1嵌套调用5.
“少年没有偏旁,自己便是华章!”今天我们继续一起来学习一下数组的相关知识点。数组1.一维数组的创建和初始化1.1数组的创建1.2数组的初始化1.3一维数组的使用1.4一维数组在内存中的存储2.二维数组的创建和初始化2.1二维数组的创建2.2二维数组的初始化2.3二维数组的使用2.4二维数组在内存中的存储3.数组越界4.数组作为函数参数4.2数组名是什么?4.3冒泡排序函数的正确设计1.一维数组的创建和初始化什么是数组呢?数组是一组相同类型元素的集合。1.1数组的创建//数组的创建//type_tarr_name[const_n]//type_t是数组的元素类型//arr_name是数组名//c
vector(模拟实现)1.为什么要模拟实现vector?2.模拟实现vector需要注意哪些问题?3.vector模拟实现3.1命名空间vector的成员变量定义3.2迭代器成员函数begin()和end()定义3.3构造函数、拷贝构造函数和析构函数3.3.1构造函数3.3.2拷贝构造函数3.3.3析构函数3.4容量函数、元素访问函数和增删查改函数3.4.1容量函数3.4.2元素访问函数3.4.3增删查改函数3.4.4赋值运算符重载vector模拟实现全部代码结语1.为什么要模拟实现vector?模拟实现vector是为了深入理解和学习C++标准库中vector容器的工作原理和实现细节。ve
🎈个人主页:库库的里昂 🎐CSDN新晋作者 🎉欢迎👍点赞✍评论⭐收藏 ✨收录专栏:C语言初阶 ✨其他专栏:代码小游戏 🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!🤗【前言】书接上回,上一章将初识指针讲完了,相信只要你将该章节读完,肯定对大部分的指针有了一定的了解,并且你肯定对指针这一重要的知识点有了个基础的认识,本章将写的内容时初阶的结构体,当你将本认真的读完,相信你肯定也会对什么是结构体、以及结构体的使用,有更深的了解。所以系好安全带,发出啦!一、结构体的声明、定义和初始化1.结构的基本知识结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不
本文内容借鉴一本我非常喜欢的书——《数据结构与算法图解》。学习之余,我决定把这本书精彩的部分摘录出来与大家分享。 目录写在前面1.选择排序2.选择排序实战3.选择排序的实现4.选择排序的效率5.忽略常数6.大O的作用7.总结 写在前面大O是一种能够比较算法效率,并告诉我们在特定环境下应采用何种算法的伟大工具。但我们不能完全依赖于它。因为有时候即使两种算法的大O记法完全一样,但实际上其中一个比另一个要快得多。本章我们就来学习如何分辨那些效率貌似一样的算法,从而选出较快的那个。1.选择排序上一章分析了冒泡排序算法,其效率是O(N^2)。现在我们再来探索另一种排序算法,选择排序,并将它跟冒泡排
目录一、一维数组1.一维数组的创建和初始化2.一维数组的使用3.一维数组在内存中的存储二、二维数组1.二维数组的创建2.二维数组的初始化3.二维数组的使用4.二维数组在内存中的存储三、数组的越界问题四、数组传参前言: 数组在C语言中是一个比较重要的知识点,学会它便可以完成很多有意思的小程序,比如三子棋和扫雷,既然这么有趣,那还等什么,快来跟我学习吧!先介绍本章大概需要学习的内容:数组分为一维数组和二维数组,然后学习数组又拆分成创建、初始化、传参和使用,还有需要注意的地方,如数组越界和数组在内存中的存储。那我们现在先从一维数组开始吧,二维数组跟一维数组也是同理。一、一维数组一维数组我们分为创建、