- 博客(40)
- 收藏
- 关注
原创 栈和队列——超详细
主要介绍了栈和队列两种数据结构的定义、抽象数据类型、顺序存储和链式存储的实现方式以及它们的作用。对于栈,讲解了栈的顺序存储和链式存储结构,以及进栈和出栈的操作。
2024-03-10 18:17:46 865
原创 指针——C语言初阶
主要介绍了指针的基本概念和相关操作,包括指针和指针类型、野指针、指针运算、指针和数组以及二级指针和指针数组等概念和操作方法。其中,指针可以加减整数以及解引用,野指针成因和规避方法,以及指针如何进行加减整数和减指针等运算,还有指针和数组的关系以及二级指针和指针数组的概念也被涵盖在内。
2023-11-17 21:54:43 330
原创 操作符——C语言初阶
该段文字介绍了各种操作符,包括算数操作符、位移操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号表达式、下标引用、函数调用和结构成员,以及操作符的优先级和结合性。
2023-11-15 21:36:07 269
原创 三子棋——C语言初阶
介绍了实现三子棋游戏的步骤,包括创建三个文件、设计菜单、初始化棋盘、打印棋盘、玩家下棋、电脑下棋和判断输赢。通过模块化编程使代码更具有条理性。
2023-11-15 14:08:54 316
原创 数组——C语言初阶
讨论了一维数组和二维数组的创建、初始化、使用和在内存中的储存方式,同时也提到了数组越界和数组作为函数参数的情况,以及数组名的定义。
2023-11-14 19:23:07 210
原创 函数的递归与迭代——C语言初阶
假如现在p指向数组首地址,a是数组名(代表数组首地址),那么p+i 或者 a+i 就是数组元素a[i]的地址,也就是她们指向了数组a的第i个元素。能引用的是0--4,只要是数组,那么数组元素的内存一定是紧挨着的,从首地址开始以数据类型所占字节进行叠加。p++为先用后加,所以*(p++)整个作用是:得到p指向的变量的值(*p),然后再使p指针自增,指向下一个数组元素。表示p所指向的元素加1,如果p指向数组首地址,那就等价于a[0]++;斐波那契数列:1,1,2,3,5,8,13,21,34,55....
2023-11-13 19:37:34 193
原创 函数的声明和定义——C语言初阶
函数的定义是指函数的具体实现,交代函数的功能实现。(例如上面代码中对add函数的定义)包裹自己写的函数的头文件。包裹的是标准库实现,
2023-11-12 20:57:30 412
原创 函数练习——C语言初阶
1.注意:数组传参实际上传递的是数组首元素的地址,而不是整个数组,所以在函数内部计算一个函数参数部分的数组元素个数是不靠谱的,形参arr看上去是数组,本质上是指针变量。1.能被4整除,并且不能被100整除的是闰年。2.能被四百整除的是闰年。
2023-11-11 12:04:04 75
原创 练习:计算平均分——C语言初阶
学校组织了软件设计学科竞赛,邀请了七位评委现场打分,记分规则为:按百分制记分,去掉一个最高分和一个最低分,再求平均分。试设计一个记分程序,输入7位评委的评分,计算输出选手的平均得分(精确到三位小数)。
2023-11-11 09:57:41 295
原创 传值调用&传址调用——C语言初阶
传址调用是把函数外部创建变量的内存地址传递给函数参数的一种调用函数的方式。传值调用就是直接将实参的值传给形参。形参的修改不会影响实参。
2023-11-06 10:23:23 79
原创 函数的参数——C语言初阶
当实参传递给形参的时候,形参是实参的一份临时拷贝,对形参的修改不会影响实参。(此概念我们前面文章已经学习过了,此处直接上例子)若要改变实参的值,就要传地址。
2023-11-05 21:10:13 63
原创 memset()函数——C语言初阶
memset()是C语言中的库函数,用于将指定的内存块设置为指定的值。要在C语言代码中使用memset()函数,需要包含或头文件。
2023-11-04 10:54:52 299
原创 设计一个小型计算器——C语言初阶
不要用goto,因为它会大大降低代码的可读性以及调试性(通俗来说,如果代码很长,然后里面有goto,你在调试的时候看着看着它忽然就跳到了一个你不知道的地方,你又要重新看!2.程序能根据用户的选择实现两个整数的加减乘除运算。3.能够用if和switch两种方式实现。1.能够有清晰的界面。
2023-11-03 10:57:44 307
原创 strcpy( )函数——C语言初阶
1.strcpy()函数:是将一个字符串复制到另一块空间地址中的函数,‘\0’是停止拷贝的终止条件,同时也会将‘\0’也复制到目标空间。2.库函数中strcpy。
2023-11-02 21:13:37 194
原创 循环与分支语句练习——C语言初阶
/计算1!+21+3!+4!...+n!int Add(a)//定义一个计算阶乘的函数int i = 1;for (i = 1;i
2023-10-30 20:45:38 141 1
原创 do while语句——C语言初阶
这是它与另外两种循环最大的不同之处,循环至少执行一次,使用场景有限,所以不是经常使用。1.要适当注意它的特别之处,不然容易造成死循环的局面出现。使用while打印1—10的数字。1.break的功能为跳出循环体。在判断之前先执行一次循环。
2023-10-30 20:22:00 81
原创 for循环——C语言初阶
因为for循环只能控制到其后的一个语句,而在C语言中分号也是一个语句——空语句,那么for循环就只能控制到这个分号,下面大括号里面的语句就不属于for循环了。1.可以发现在for循环中也可以出现break和continue,他们的意义和在while循环中是一样的,但是依然存在。1.不可在for循环体内修改循环变量,防止for循环失去控制。1.for循环中的初始化部分,判断部分,调整部分是。隔开的,千万不要写成逗号。部分,用于判断循环的时候终止。部分,用于初始化循环变量的。部分,用于循环条件的调整。
2023-10-28 12:02:09 130 1
原创 getchar和putchar函数,gets和puts函数——C语言初阶
以int类型返回所读取的字符ASCII值,如果发生错误或达到输入的末尾(例如从文件中读取时),getchar特殊返回值EDF(End-Of-File),通常定义为-1.(通过这里可以看出getchar的返回类型必须要是int型才能匹配此处的-1)(1)我们看到,没有清空缓冲区照样可以输入‘Y’,是因为gets()依旧将缓冲区中的回车读取出来了,且可以忽略空格造成的影响。(1)使用此函数时,scanf也会在缓存区等待键盘的输入,当最后输入回车时,会触发前面输入的字符串取走(不会取走\n)
2023-10-26 19:14:26 1364
原创 循环语句_while——C语言初阶
...//在循环中遇到break,就停止后期所有的循环,直接终止循环 //在while循环中,break是用于永久终止循环`//continue跳过本次循环后面的代码,直接去while语句的判断部分,进行下一次循环的判断...
2023-10-26 10:27:10 138
原创 分支语句_if语句switch语句——C语言初阶
(2)若我们想要表达式的多个结果都可以输出同一个语句,下面的表达式便可以实现。(以下依旧是强调代码的书写规范,虽然可以正常输出,却容易对其含义造成误解),一个大括号就是一个代码块,适当的使用{}可以使代码的逻辑更加清楚;else与最靠近它的并且没有与别的else匹配过的if相匹配。(4)赋值语句无真假之说,所以默认为真;(如下图这种情况使用if语句还是十分麻烦的)(2)输出1—100之间的奇数。(以下两种写法都是错误写法)(以下为不易出错的正确写法)(以上是不规范加括号写法)(1)判断一个数是否为奇数。
2023-10-24 14:24:06 58
原创 结构体(struct)——初识C语言
1.首先使用关键字struct,它表示接下来是一个结构体;2.后面是一个可选标志(book),它是用来引用该结构体的快速标记;3.接下来就是一个花括号{},括起了结构体成员列表,及就是每个成员变量,使用的都是其自己的声明方式来描述,用分号来结束描述;4.不要忘记分号!在结束花括号后的分号表示结构体设计定义的结束;5.结构体是一种集合,它里面包含了多个变量或数组,它们的类型可以相同,也可以不同,每个这样的变量或数组都称为结构体成员。
2023-10-22 19:05:22 139 1
原创 指针——初识C语言
与&为逆运算,作用是通过操作对象的地址,获取存储的内容,并可修改存储的内容。例如,x = &i,x为i的地址,*x则为通过i的地址,获取i的内容。例如,&i为取变量i的地址,用%p输出。2.在我们定义一个变量时,要确定它的类型(int,float,char...),在定义指针变量时也是一样的,变量在储存时,内存被分为一块一块的,每一块都有一个特有的编号,而这个编号可以暂时理解为指针,就像酒店的门牌号一样。2.由下图可知:p就是指针变量,亦可以说明*p中储存的是a中的值,变量p中储存的是 a的地址。
2023-10-21 22:01:14 93 1
原创 #define定义常量和宏——初识C语言
1.#define可以用来定义标识符,所谓标识符可以简单理解为一个能够表示一定内容的符号。,函数的参数是与类型有关的,如果参数的类型不同,就需要不同的函数,即使他们执行的任务是不同的。(先简单了解部分内容,心中有个概念,后面会仔细讲解)2.不仅可以表示整型,也可表示字符串。宏名要全部大写(ADD),函数名不要全部大写。1.定义函数时,表达更为简便。建议宏在书写的时候多一些括号。二.#define定义。宏的参数可以出现类型。
2023-10-20 09:23:25 235 1
原创 关键字static——初识C语言
的关键字,字面意思就是子啊此处声明某种变量或函数,在外部定义。(就是告诉编译器,现在编译的文件中,有一个标识符虽然没有在本文件中定义,但是它是在别的文件中定义的全局变量,要放行!(6)static修饰全局变量时候,这个全局变量的外部连接属性就变成了内存连接属性。注释:static修饰局部变量的时候,局部变量出了作用域,不销毁。(5)全局变量在外部使用声明时,extern关键词是必须的,而。(1)全局变量具有外部连接属性,声明变量而不定义。,但是被static修饰的时候,外部连接属性,就。
2023-10-19 20:14:35 64 1
原创 关键字typedef——初识C语言
1.比如:5和-5,5没有符号,-5有符号。有无符号的根本原因可以说就是因为数据出现了溢出现象导致的。signed——有符号,可修饰char,int。int是默认有符号的。unsigned——无符号,修饰int,char。long——长型,修饰int,double。2.溢出:有点复杂,后面再仔细介绍。short——短型,修饰int。二.只能对类型重命名。
2023-10-18 21:42:10 64 1
原创 数组【】——初识C语言
若是表明了个数,那么后面集合的元素数目就不得超过,若没有表明,那么系统会默认数值。2.首先定义一个变量i,他的意义是表明函数中各个元素的下标。3.再确定i的范围,确定数组内的元素都可被输出(i++),不一定是数字集合,也可以是字符数组。3.数组存在下标,且是从0开始计数。(下面代码可以很好验证这一点)数组是一组相同类型元素的集合。中可以表明数字,也可以不标。
2023-10-16 20:47:13 71 1
原创 变量及其应用——初识C语言
05d意思是打印结果为五位整数,当整数位数不够五位时,在整数左侧补0,所以输出结果是00014。%-3d意思是打印结果为三位整数,当整数位不够三位时,在整数右侧补空格,输出结果是10_%3d意思是打印结果为三位整数,当整数位不够三位时,在整数左侧补空格,输出结果是 10。%1d意思是打印结果是一位整数,当超过一位时按整数原值打印,输出结果还是10。使用a = %d,输出结果a = 10。以此类推......*/直接用%d,输出10。
2023-10-14 16:07:40 96 1
原创 第一个C语言项目——初学C语言
第一个C语言函数的组成结构细化,可以帮助小白对C语言有一个基础的认识,我也从新手的角度看待我之前所面临的各种问题,大家一起进步!
2023-10-14 15:38:20 186 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人