![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C语言入门
文章平均质量分 62
此专栏收录了有关C语言的大量入门基础知识,适合刚入门的C语言小白观看
爱敲代码的罗根
勿忘曾许之愿,此句,与诸君共勉
展开
-
【C语言例题】由指针题目引出的一种解题方法
今天重温了以前刷过的C语言题目,发现有一种方法以前竟然没有印象。果然,温故而知新,古人诚不欺我!闲话少叙,下面进入正题。原创 2023-05-07 19:46:27 · 417 阅读 · 8 评论 -
“C语言之美:结构体、联合体和枚举的魔法“
之后,我们将其浮点数成员初始化为 3.14,并打印了两个成员的值。请注意,当我们更改一个成员的值时,其他成员的值也会相应地改变。的结构体,它由三个元素组成:姓名、年龄和身高。在主函数中,我们创建了一个。的枚举类型,它由七个值组成:星期一到星期日。在主函数中,我们创建了一个。的联合体,它由两个成员组成:整数和浮点数。在主函数中,我们创建了一个。,并将其成员初始化为一些值。,并将其赋值为星期三。在上面的代码中,我们定义了一个名为。在上面的代码中,我们定义了一个名为。在上面的代码中,我们定义了一个名为。原创 2023-04-17 23:06:51 · 432 阅读 · 7 评论 -
浅谈常量字符串
需要注意的是,在使用 #define 定义常量字符串时,没有办法像使用 const 关键字定义的常量字符串那样获取其长度。其次,将字符串定义为常量可以提高程序的可读性和可维护性,因为常量名称本身就可以表达出字符串的含义,而无需再花费额外的精力进行解释。常量字符串指的是在程序中声明的一个不可更改的字符串变量,其值在声明后就不能再被修改。在许多情况下,将字符串定义为常量可以提高程序的可读性和可维护性。总之,在编写程序时,使用常量字符串是一种非常好的实践,可以提高代码的质量和可读性,从而让程序更加易于维护。原创 2023-03-28 14:24:09 · 1275 阅读 · 4 评论 -
【C语言经典例题!】逆序字符串
3. left指针往后走,right指针往前走,只要两个指针没有相遇,继续2,两个指针相遇后,逆置结束。2. 以递归的方式逆置源字符串的剩余部分,剩余部分可以看成一个有效的字符串,再以类似的方式逆置。对于刚入门的同学,多积累一种办法才是最重要的,学到后期再去考虑要用哪种更省内存、效率更高的写法。以上就是本篇博客的全部内容啦,如有不足之处,还请各位指出,期待能和各位一起进步!不难看出,循环写法理解起来比较容易,而递归写法虽然较难被想到,但整体会更简洁。:将参数字符串中的字符反向排列,不是逆序打印。原创 2023-03-25 18:33:40 · 458 阅读 · 5 评论 -
【蒸滴C】C语言结构体入门?看这一篇就够了
官方解释为:结构体是由一批数据组合而成的结构型数据。组成结构型数据的每个数据称为结构型数据的“成员”,其描述了一块内存区间的大小及解释意义用大白话来讲就是:结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。int x;int y;}p1;原创 2023-03-04 14:39:12 · 618 阅读 · 9 评论 -
【C语言经典例题】打印菱形
由此我们可以看出,上面的三角形,高为 n/2+1 ,而下面的三角形则是 n/2。我们可以看到,星号* 能打印在中间,前面一定有空格把他顶过去的。至此,上下两个三角形的规律已全部找出,接下来只要打印出来就好啦。在下半部分的三角形中,星号数 = n - 2 * 空格数。输入一个整数n(n为奇数),n为菱形的高,打印出该菱形。在上半部分的三角形中,星号数 = 行数 * 2 - 1。不难看出,在下半部分的三角形中。原创 2023-02-25 12:30:05 · 8794 阅读 · 36 评论 -
【蒸滴C】C语言指针入门很难?看这一篇就够了
刚入门C语言的小白或多或少被指针这块内容折磨过,我自己在学校听老师讲课也是一脸模糊的样子。不过我那时候不断提醒自己,这块内容这块内容对于初学者来说是会有点难度,我现在刚开始接触,自然会很难,但重要的是要坚持下去,并愿意从差开始。而经过了一个寒假的学习,我对指针这块内容有了比较深的理解,看完这篇博客保证你对指针的理解会更深一步!原创 2023-02-15 15:22:49 · 1313 阅读 · 30 评论 -
详解整型提升
C的整型算术运算总是至少以缺省整型类型的精度来进行的。为了获得这个精度,表达式中的字符和短整型操作数在使用之前被转换为普通整型,这种转换称为整型提升。我再进行一个小总结,进行整型提升的都是那些大小不足一个 int(4个字节)的类型,比如:char、short 等,而这样的类型在计算过程中会造成精度不准确,因此需要发生整型提升,让他们占的空间更多一点,方便计算。也就是多补几个字节的空间给他们凑到4个字节大小。原创 2023-02-11 14:52:59 · 843 阅读 · 10 评论 -
递归和非递归分别实现求n的阶乘(不考虑溢出的问题)
先讲一下阶层的定义:阶乘是基斯顿·卡曼(Christian Kramp,1760~1826)于 1808 年发明的运算符号,是。一个正整数的)是所有小于及等于该数的的,并且0的阶乘为1。自然数n的阶乘写作n!。1808年,基斯顿·卡曼引进这个表示法。亦即n!阶乘亦可以方式定义:0!=1,n!=(n-1)!×n。原创 2023-02-04 11:41:36 · 1777 阅读 · 4 评论 -
详解随机数的生成【rand函数和srand函数&猜数字游戏】
所谓猜数字游戏,就是利用系统随机生成一个数,玩家在程序输入所猜数字,系统会判断玩家所输入的数与生成的随机数是否吻合。同时,玩家输入过大或过小,系统都会作出相应提示●在使用 rand函数 的时候,在它的前面一般都要有 srand(unsigned seed)才能生成随机数●rand函数一般配合取模运算使用,以达到控制随机数范围的作用以上就是本篇博客的全部内容啦,如有不足之处,还请各位指出,期待能和各位一起进步!原创 2023-01-30 16:35:42 · 238 阅读 · 4 评论 -
详解printf(各种打印的格式)
关于 printf函数 的各种打印形式,我刚开始学的时候也是懵懵懂懂,所以在此收集整理了这些printf函数 的各种不同的打印方式,希望能帮助到各位C友。原创 2023-01-28 14:04:08 · 4128 阅读 · 2 评论 -
详解冒泡排序
冒泡排序作为一种高效算法,在蓝桥杯及各种竞赛中也经常出现,是非常有掌握的必要的。在实现冒泡排序的过程中,需要注意以下几点:●一次冒泡排序能把最大数排到数组下标最大的位置,而这次循环了 sz-1 次●当 sz-1=9 时,此时 sz-1-i 就代表了最大数要循环9次,i 从零逐渐增大,sz-1-i 的值会依次 取9 , 8 ,7 , 6 , 5 , 4 , 3 , 2 , 1 ,从而实现9次的循环●当数组传参的时候,实际上只是把数组的首元素的地址传递过去了。●。原创 2023-01-27 14:22:51 · 659 阅读 · 5 评论 -
详解函数实参&形参&传址调用&传址调用
实际参数 简称 实参,定义为 :真实传给函数的参数。形式参数 简称 形参,是在函数名后括号中的变量。形式参数只有在函数被调用的过程中才实例化(分配内存单元)。形式参数当函数调用完成之后就自动销毁了。因此形式参数只在函数中有效。 传值调用:函数的形参和实参分别占有不同内存块,对形参的修改不会影响实参。 传址调用:传址调用是把函数外部创建变量的内存地址传递给函数参数的一种调用函数的方式。这种传参方式可以让函数和函数外边的变量建立起真正的联系。原创 2023-01-22 20:28:32 · 1639 阅读 · 8 评论 -
【小白学C语言之回调函数】
函数回调就是在把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,这个过程是回调函数。在某些地方,函数回调使用的好了,可以代码减少不必要的冗余,同时也会增加运算的效率。原创 2023-01-02 12:25:16 · 138 阅读 · 2 评论 -
详解“辗转相除法”(如何求最大公约数)
辗转相除法是用于求两个非负整数的最大公约数的高效方法这种方法可以不用去计算两个数谁大谁小,这样能够提高运算效率具体还是看我上面的手绘图加深一下理解。原创 2023-01-24 00:04:23 · 17150 阅读 · 15 评论 -
【C语言】小白学斐波那契数列
关于斐波那契数列的定义,较为常用的解释是这样的:从第三项开始,每一项都等于前两项之和。二、斐波那契数列的实现关于斐波那契数列的实现,可以分成循环写法和递归写法。其中,循环写法运行快较快,而递归写法运行起来效率较低,原因各位可以先思考一下,我会在后面进行解释。1.递归写法:【代码】{{return 1;//请输入要输出的斐波那契数列前多少项i原创 2022-12-13 22:11:28 · 769 阅读 · 3 评论 -
执行语句x=(a=5,b=a--)后,x、a、b的值依次是?
执行语句x=(a=5,b=a--)后,x、a、b的值依次是?这道题需要记住的知识点有下面几点:1.a--是先传值再自减,--a是先自减再传值;二者的不同点,通俗一点来讲就是,a--是传过去了再进行减1,--a是先减1完再进行传值。a++和++a也是同样的道理,并且,可以记得更简单一点,自增就是+1的意思,自减就是-1的意思。2.逗号表达式的结果为最后一个表达式的值。原创 2023-01-10 16:45:41 · 2916 阅读 · 0 评论 -
【C语言】小白学水仙花数
水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。就比如最小的水仙花数--153,他可以这样拆分:153=1³+5³+3³凡事可以这样拆分的三位数就是水仙花数。原创 2023-01-05 09:00:00 · 804 阅读 · 3 评论 -
【C语言】小白学二分查找(折半查找)
二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法今天就来写一下如何利用二分查找在数组里查找所要元素。原创 2023-01-18 21:21:26 · 107 阅读 · 5 评论 -
大一小白学了一学期C语言的感悟
时间过得很快,不知不觉大一上学期就结束了,也从刚入学的懵懵懂懂逐渐褪去些许稚气。上了大学接触的大量信息是以前根本无法比的,不仅仅是因为有了自己的笔记本电脑,还更多是因为自己的思想也更成熟了一些,下面就来好好讲讲这学期的几点小感悟吧!欢迎各位在评论区交流,期待能和各位一起进步!原创 2023-01-06 22:01:21 · 295 阅读 · 12 评论 -
小白学C语言之返回值(return语句)
在C语言中,函数之间的互相调用是非常常见的,而为了防止调用的时候出错,就需要一个状态码来判断函数执行的顺利与否,这个状态码就被我们称为返回值。原创 2023-01-16 16:59:09 · 6913 阅读 · 2 评论 -
【C语言】小白学浮点数
浮点数也称小数或实数。 C语言中采用 float 和 double 关键字来定义小数, float称为单精度浮点型,double称为双精度浮点型。另外,部分编译器支持更大精度的long double,但不是所有的编译器都支持。float只能表达6 - 7位的有效数字,不能用“ == ”判断两个数字是否相等。double能表达15 - 16位有效的数字,可以用“ == ”判断两个数字是否相等。long double占用的内存有16 字节, 12字节,8字节。 其中16字节占大多数。原创 2022-12-05 08:29:40 · 4547 阅读 · 6 评论 -
编程题:打印100~200之间的素数
素数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。这道题最简便且效率最高的代码是用试除法,具体代码如下:其中代码中的sqrt(i)表示的是对i开平方的意思,注意需要引头文件关于代码的,已经都在代码段中的注释有所解释。这里着重解释一下为什么在循环中 j 的取值为2~根号i,请C友看我下面的思路图j 的取值,在2~根号 i 之间就够了,通俗点来说就是:如果 i 不是素数,那么他必定有一个因数小于或等于根号 i这种写法的编译效率,会比 j取值2~j-1快原创 2023-01-20 17:57:45 · 502 阅读 · 1 评论