C语言
文章平均质量分 84
C语言笔记
pzn)
本人学习复习笔记,如果对您有用,万分荣幸
展开
-
C语言实现经典排序算法
所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。:数据元素全部放在内存中的排序。:数据元素太多不能同时放在内存中,根据排序过程的要求不断地在内外存之间移动数据的排序。原创 2024-08-29 20:09:10 · 1103 阅读 · 29 评论 -
排序进阶(C语言)
你好。原创 2024-09-04 12:52:53 · 731 阅读 · 5 评论 -
C语言实现三子棋游戏
目录一.三子棋游戏分析和设计二.文件结构设计 三.代码实现1.先打印菜单,定义menu函数。2.棋盘初始化3.下棋玩家下棋:电脑下棋:4判断输赢判断平局:四、完整代码test.cgame.hgame.c那么应如何使用C语言实现呢?游戏界面:菜单: 设计成三个文件实现这个游戏。2.棋盘初始化创建二维数组board存放棋盘信息,定义qipan函数,初始化二维数组,使3*3的每个位置全部置为空打印棋盘,定义dayinqipan函数,使用 “-” 与“|”符号打印出棋盘电脑下棋:原创 2024-05-26 00:36:30 · 461 阅读 · 6 评论 -
C语言-文件操作
1. 为什么使⽤⽂件?如果没有⽂件,我们写的程序的数据是存储在电脑的内存中,如果程序退出,内存回收,数据就丢失了,等再次运⾏程序,是看不到上次程序的数据的,如果要将数据进⾏持久化的保存,我们可以使⽤⽂件。2. 什么是⽂件?磁盘(硬盘)上的⽂件是⽂件。但是在程序设计中,我们⼀般的⽂件有两种:程序⽂件、数据⽂件(从⽂件功能的⻆度来分类的)。2.1 程序⽂件程序⽂件包括源程序⽂件(后缀为.c),⽬标⽂件(windows环境后缀为.obj),可执⾏程序(windows 环境后缀为.exe)。原创 2024-05-15 00:24:19 · 656 阅读 · 8 评论 -
初识C语言--数组
数组在C语言中起到了存储、处理和组织数据的重要作用,是程序设计中不可或缺的一种数据结构。数组是一组相同类型元素的集合。数组分为一维数组和多维数组,多维数组一般多见的是二维数组。原创 2024-02-16 15:39:34 · 873 阅读 · 1 评论 -
初识C语言与学习经验
我相信大部分人都跟我一样,刚开始学觉得过于简单,老师说的都能懂,导致自己过于自信,而不重视,学完以后并没有进行复习与自己动手学代码。大家好,这是我的第二篇博客,可能写的有些许不足,还请见谅。注意:在C语言中 else 是与它最近的一个 if 所匹配,并不与上下对齐(缩进)有关,这里因为我学过一点点python,python中是需要缩进的,导致我一直都搞错了,希望大家注意。如图,switch后面根据不同的值,执行相应的case语句,如果找不到相应的值就从执行default语句,如下图执行打印了“输入错误”原创 2024-01-25 13:37:40 · 988 阅读 · 0 评论 -
初识C语言--函数
int text_a(形式参数)int是函数返回类型,这里返回整型text_a是函数名括号中放的是形式参数{}括起来的是函数体,就是该函数所要实现的目的,函数体就是完成计算的过程。‘int’的位置是⽤来表⽰函数计算结果的类型,有时候返回类型可以是void,表⽰什么都不返回⼀般我们在使⽤函数的时候,直接将函数写出来就使⽤了。⽐如:我们要写⼀个函数判断⼀年是否是闰年。//判断⼀年是不是闰年return 1;原创 2024-02-20 18:51:57 · 811 阅读 · 5 评论 -
C语言—指针3
⼆维数组传参,形参的部分可以写成数组,也可以写成指针形式。4.函数指针变量。原创 2024-03-31 20:30:19 · 1217 阅读 · 7 评论 -
自定义类型:结构体
位段的声明和结构是类似的,有两个不同:1. 位段的成员必须是 int、unsigned int 或signed int ,在C99中位段成员的类型也可以选择其他类型。2. 位段的成员名后边有⼀个冒号和⼀个数字。int _b:4;int _c:5;int _d:4;A就是⼀个位段类型。那位段A所占内存的⼤⼩是多少?4.2位段的内存分配1.位段的成员可以是或者是char等类型2.位段的空间上是按照需要以4个字节(int)或者1个字节(原创 2024-05-01 11:18:04 · 1080 阅读 · 10 评论 -
字符函数和字符串函数
在编程的过程中,我们经常要处理字符和字符串,为了⽅便操作字符和字符串,C语⾔标准库中提供了⼀系列库函数,在这里总结一些函数的使用。原创 2024-04-08 21:59:54 · 1270 阅读 · 9 评论 -
C语言--函数递归
早上好,下午好,晚上好早上好,下午好,晚上好1、什么是递归?原创 2024-04-16 23:48:25 · 1740 阅读 · 15 评论 -
C语言--指针终章
sizeof 计算变量所占内存内存空间⼤⼩的,单位是 字节,如果操作数是类型的话,计算的是使⽤类型创建的变量所占内存空间的⼤⼩。sizeof 只关注占⽤内存空间的⼤⼩,不在乎内存中存放什么数据。是C语⾔库函数,功能是求字符串⻓度。1.3 sizeof 和 strlen的对⽐。字符,直到找到为⽌,所以可能存在越界查找。之前字符串中字符的个数。中这个地址开始向后,原创 2024-04-06 15:27:27 · 701 阅读 · 10 评论 -
C语言--操作符详细
/代码1:变量的定义int x;int y;}p1;//声明类型的同时定义变量p1//定义结构体变量p2//代码2:初始化。struct Stu //类型声明//名字int age;//年龄//初始化//指定顺序初始化//代码3int data;//结构体嵌套初始化//结构体嵌套初始化。原创 2024-03-03 16:08:58 · 968 阅读 · 2 评论 -
C语言--数据在内存中的存储
一、整数在内存的存储整数的2进制表示方法有三种,即原码、反码和补码有符号的整数,三种表示方法均有符号位和数值位两部分 ,符号位都是用0表示’正‘,用1表示’负‘,最高位的一位被当做符号位,剩余的都是数值位。。:直接将数值按照正负数的形式翻译成⼆进制得到的就是原码。:将原码的符号位不变,其他位依次按位取反就可以得到反码。:反码+1就得到补码。对于整形来说:数据存放内存中其实存放的是补码。为什么呢?在计算机系统中,数值⼀律⽤补码来表⽰和存储。原因在于,使⽤补码,可以将符号位和数值域统⼀处理;原创 2024-04-23 23:17:55 · 1121 阅读 · 16 评论 -
C语言--指针1
一、内存和地址一、内存和地址1、内存在我们生活中,我们的每个房间都有对应的房间号,这样让我们的效率提高了很多,能快速的找到房间。如果把房间号对应到计算机当中,又是怎么样的呢?计算机为了⾼效的管理内存空间,也是把内存划分位一个个内存单元,每个内存单元的大小去1个字节。每个内存单元也都有⼀个编号(这个编号就相当于宿舍房间的⻔牌号),有了这个内存单元的编号,CPU就可以快速找到⼀个内存空间。⽣活中我们把⻔牌号也叫地址,在计算机中我们把内存单元的编号也称为地址。原创 2024-03-25 23:56:33 · 890 阅读 · 2 评论 -
C语言--指针4
大家节日快乐,难得的假期,祝你们玩得开心。今天总结了指针第四部分。原创 2024-04-03 22:35:11 · 754 阅读 · 4 评论 -
C语言—指针2
1.数组名的理解1.数组名的理解这⾥我们使⽤&arr[0]的⽅式拿到了数组第⼀个元素的地址,但是其实数组名本来就是地址,⽽且是数组⾸元素的地址,我们来做个测试。输出结果:我们发现数组名和数组⾸元素的地址打印出的结果⼀模⼀样,数组名就是数组⾸元素(第⼀个元素)的地址。这时候就会有疑问了?数组名如果是数组⾸元素的地址,那下⾯的代码怎么理解呢?输出的结果是:40,如果arr是数组⾸元素的地址,那输出应该的应该是4/8才对。其实数组名就是数组⾸元素(第⼀个元素)的地址是对的,但是有两个例外:•。原创 2024-03-29 22:20:38 · 843 阅读 · 3 评论 -
C语言--动态内存管理
母亲节快乐,祝母亲长命百岁母亲节快乐,祝母亲长命百岁1. 为什么要有动态内存分配但是上述的开辟空间的⽅式有两个特点:空间开辟⼤⼩是固定的。数组在申明的时候,必须指定数组的⻓度,数组空间⼀旦确定了⼤⼩不能调整有时候我们需要的空间⼤⼩在程序运⾏的时候才能知道,那数组的编译时开辟空间的⽅式就不能满⾜了。C语⾔引⼊了动态内存开辟,让程序员⾃⼰可以申请和释放空间,就⽐较灵活2. malloc和free。原创 2024-05-12 00:28:48 · 1194 阅读 · 22 评论 -
VS调试技巧
BUG,原意为臭虫或虫子,在计算机领域,"BUG"通常指系统(如电脑系统、手机系统等)或程序(包括游戏等应用程序)中隐藏的错误、缺陷、漏洞等问题,简称程序漏洞。原创 2024-03-06 13:03:53 · 941 阅读 · 2 评论 -
C语言--内存函数
和memcpy的差别就是memmove函数处理的源内存块和⽬标内存块是。如果source和destination有任何的重叠,复制的结果都是。是⽤来设置内存的,将内存中的值以字节为单位设置成想要的内容。⽐较从ptr1和ptr2指针指向的位置开始,向后的。出现重叠,就得使⽤memmove函数处理。2. memmove 使⽤和模拟实现。1.memcmp使用和模拟实现。1.memcmp使用和模拟实现。3.memset函数的使用。4.memcmp函数的使用。而对于重叠的内存,交给。原创 2024-04-15 00:00:24 · 703 阅读 · 13 评论 -
自定义类型:联合体和枚举
目录C语言自定义类型--联合体和枚举1.联合体1.1联合体类型的声明1.2.联合体的特点1.3相同成员的结构体和联合体对比1.4联合体⼤⼩的计算2.枚举2.1 枚举类型的声明2.2 枚举类型的优点2.3 枚举类型的使⽤。原创 2024-05-07 14:17:43 · 718 阅读 · 8 评论