C语言指南
文章平均质量分 84
C语言基础知识及进阶指南
倔强的石头_
百尺竿头 更进一步
展开
-
扫雷游戏C语言代码实现——万字长文超详细,手把手教你实现,新手也能学会
使⽤控制台实现经典的扫雷游戏游戏可以通过菜单实现继续玩或者退出游戏扫雷的棋盘是9*9的格⼦默认随机布置10个雷可以排查雷——通过输入坐标如果位置不是雷,该坐标就会显示周围的雷的数量如果位置是雷,就炸死游戏结束把除10个雷之外的所有非雷坐标都找出来,排雷成功,游戏结束原创 2023-12-13 23:59:23 · 2394 阅读 · 10 评论 -
【C语言进阶篇】offsetof宏的介绍 及其实现
offsetof宏的作用是获取结构体中某个成员相对于结构体起始地址的偏移量。通过计算成员在结构体中的位置,它提供了一种可移植的方法来确定偏移量。原创 2024-04-22 23:37:57 · 1061 阅读 · 0 评论 -
【C语言基础篇】字符串处理函数(四)strcmp的介绍及模拟实现
strcmp()函数是 C 语言标准库中用于比较两个字符串的一个重要函数,全称为 "string compare"。它位于头文件中strcmp()函数逐字符地比较两个字符串str1和str2,直到找到它们之间存在差异的字符,或者到达任一字符串的结束符\0。比较基于每个字符的 ASCII 值(对于宽字符字符串,对应的是宽字符集的排序规则)。原创 2024-03-25 22:04:25 · 2182 阅读 · 1 评论 -
【C语言基础篇】字符串处理函数(三)strcat的介绍及模拟实现
strcat是一个在 C 语言中常用的库函数,它用于连接(拼接)两个字符串。这个函数定义在头文件中。strcat函数将src字符串的内容追加到dest字符串的末尾,并在追加的内容前添加一个空字符('\0')来分隔原来的dest字符串和新的src字符串。注意,dest必须有足够的空间来存储追加后的整个字符串,否则可能会导致缓冲区溢出,这是一个常见的安全问题。原创 2024-03-19 21:09:09 · 1024 阅读 · 2 评论 -
【C语言基础篇】字符串处理函数(二)strcpy的介绍及模拟实现
C语言中的strcpy()函数是字符串处理的重要组成部分,它是C标准库(位于string.h头文件中)提供的一个函数,用于将一个字符串复制到另一个字符串。下面是strcpy()原创 2024-03-18 23:35:48 · 1044 阅读 · 0 评论 -
【C语言基础篇】字符串处理函数(一)strlen的介绍及模拟实现
本文介绍标准库中求字符串长度的函数strlen的使用,以及该函数的三种模拟实现方式原创 2024-03-17 21:59:48 · 598 阅读 · 5 评论 -
【C语言进阶篇】整数在内存的存储——原码、反码、补码
计算机中的有符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理原创 2024-02-05 10:33:59 · 2485 阅读 · 2 评论 -
【C语言进阶篇】assert宏 使用详解
assert是一个在C语言中用于调试的宏,用于在运行时确保程序符合指定条件,如果不符合,就报错终止运行。这个宏常常被称为“断言”。assert是一个强大的调试工具,可以大大提高程序开发效率,但在实际项目中应根据实际情况合理使用,并结合其他健壮的错误处理机制以确保程序在所有环境下的稳定性和可靠性。原创 2024-02-02 22:25:35 · 1189 阅读 · 2 评论 -
【C语言基础篇】结构控制(下)转向语句break、continue、goto、return
转向语句用来直接控制程序的执行流程,从而改变循环结构、选择结构以及函数的正常执行流程。这些语句在编写程序时常被用到,特别是当循环体内部分支比较复杂时,可用于简化分支语句的条件,减少条件分支语句if的嵌套深度及分支数,使程序更易阅读和理解。在编写代码时,应根据实际需求选择合适的转向语句,并确保代码的可读性和可维护性。(但goto语句尽量少用,因为这不利于结构化程序设计,滥用它会使程序流程无规律、可读性差,稍后会在文章中介绍)原创 2024-01-21 22:11:12 · 1599 阅读 · 4 评论 -
【C语言基础篇】结构控制(中)循环结构
循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。它根据循环体中的条件,来判断继续执行还是退出循环。循环结构包含三个要素:循环变量、循环体和循环终止条件。根据判断条件,循环结构又可细分为以下两种形式:先判断后执行的循环结构和先执行后判断的循环结构。C语言中先判断后执行的循环结构为while语句和for语句,先执行后判断的循环结构为do while语句,下面逐次介绍原创 2024-01-19 22:20:15 · 1243 阅读 · 2 评论 -
【C语言基础篇】注释
C语言注释有三种方式 ,分别是单行注释,多行注释(块注释)和条件编译注释,其中前两种在初级编程较为常见原创 2024-01-16 23:48:01 · 718 阅读 · 0 评论 -
sizeof与strlen的使用及其区别
本文将介绍C语言中sizeof和strlen函数的用途、语法以及它们之间的区别。sizeof是一个编译时运算符,用于计算类型或对象所占用的字节大小;strlen是一个标准库函数,用于计算字符串的长度。原创 2024-01-15 23:35:36 · 1328 阅读 · 5 评论 -
关于进制在输出时的转换【C语言】
我们处理的整数通常用十进制表示,在计算机内存中是以二进制补码形式存储,但通常二进制表示的整数比较长,为了便于在程序设计过程中理解和处理数据,通常采用八进制和十六进制,缩短了二进制补码表示的整数,但保持了二进制数的表达特点。所以理解和掌握进制的转换和使用尤为重要原创 2024-01-09 23:44:48 · 1351 阅读 · 0 评论 -
【C语言基础篇】scanf()函数详解
scanf()函数是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。对于scanf()函数的掌握是使用C语言的一门必修课原创 2024-01-06 22:27:06 · 1389 阅读 · 1 评论 -
C语言printf()函数详解
printf 函数在输出格式 format 的控制下,将其参数进行格式化,并在标准输出设备(显示器、控制台等)上打印出来。printf函数是C语言最常用且功能强大的库函数,搞明白printf函数能在工作中做到事半功倍的效果原创 2024-01-02 22:17:19 · 2836 阅读 · 2 评论 -
【C语言基础篇】数组传参规则详解
在使⽤函数解决问题的时候,难免会将数组作为参数传递给函数,在函数内部对数组进⾏操作。但数组作为参数传递给函数,不同于普通的变量传参,本篇博客将详细介绍数组传参的规则和实际用法原创 2023-12-29 21:23:04 · 2117 阅读 · 2 评论 -
【归并排序】两个有序序列的合并
比较各个子序列的第一个记录的键值, 最小的一个就是排序后序列的第一个记录。取出 这个记录,继续比较各子序列现有的第一个记录 的键值,便可找出排序后的第二个记录。如此继 续下去,最终可以得到排序结果。原创 2023-12-27 20:16:50 · 1329 阅读 · 0 评论 -
【C语言基础篇】ASCII码完整详细介绍
ASCII 码使用指定的7 位或8 位二进制数字组合来表示128 或256 种可能的字符0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符)32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字。65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。原创 2023-12-25 22:30:06 · 2843 阅读 · 0 评论 -
转义字符使用详解【C语言】
所有的 ASCII码都可以用“\加数字”来表示。而C 中定义了一些字母前加“\"来表示常见的那些不能显示的 ASCI 字符,如\t, \n等,就称为转义字符,因为后面的字符,都不是它本来的 ASCII 字符意思了。(转义字符,顾名思义就是转变原来的意思)原创 2023-12-21 08:10:14 · 2313 阅读 · 0 评论 -
随机数的实现——rand函数、srand函数和time函数
C语言中提供了rand函数、srand函数和time函数,配合使用可以产生相对意义上的随机数。使用time函数返回的时间戳作为srand函数的参数,生成rand函数的种子,此时调用rand函数就可以产生随机数原创 2023-12-19 19:59:03 · 1476 阅读 · 0 评论 -
猜数字游戏C语言代码实现
游戏可以连续进行,每次游戏有五次猜测机会。描述——随机产生一个100到200的整数,猜测产生的数字。二、game()函数实现产生随机数并猜数字的过程。三、menu()函数封装游戏菜单。一、主函数 实现循环游戏的主体。代码和运行截图在下方。原创 2023-12-01 21:40:35 · 572 阅读 · 1 评论 -
C语言逻辑操作符的短路问题
对于 || 操作符来说,左边操作数的结果是1的时候,右边操作数就不再执⾏ (左边操作数的结果是1的时候,右边不必判断也是真)对于&&操作符来说,左边操作数的结果是0的时候,右边操作数就不再执⾏ (左边操作数的结果是0的时候,右边不必判断也是假)首先赋值运算符优先级低于逻辑运算符,其次逻辑操作符从左到右依次计算,++与逻辑运算符的优先级需要根据前置和后置来区分。仅仅根据左操作数的结果就能知道整个表达式的结果,不再对右操作数进⾏计算的运算。它总是先对左侧的表达式求值,再对右边的表达式求值,这个顺序是 保证的。原创 2023-11-30 19:56:42 · 1233 阅读 · 0 评论 -
二分查找算法的概念、原理、效率以及使用C语言循环和数组的简单实现
二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。时间复杂度为 O(log2n) 也就是说查找的最大次数为log2n。缺点:必须采用顺序存储结构,,必须按关键字大小有序排列。原创 2023-12-14 21:14:32 · 674 阅读 · 1 评论 -
【C语言基础篇】结构控制(上)顺序结构和选择结构
C语⾔是结构化的程序设计语⾔,这⾥的结构指的是顺序结构、选择结构、循环结构。也就是说在C语言所有的代码都是这三种结构。原创 2023-12-05 23:14:02 · 1649 阅读 · 8 评论