![](https://img-blog.csdnimg.cn/85561a43676b470593252eeeac49b07f.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C语言
文章平均质量分 86
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语
言。
奋斗小温
很认真的人
展开
-
C语言暑假学习刷题——Day4
选择题考点一:for循环的理解考点二:while 循环和循环嵌套的理解考点三:break在switch语句中的应用考点四:升序插入排序算法的应用考点五:循环嵌套的理解编程题【leetcode 题号:645. 错误的集合】【难度:简单】【牛客网题号: OR141 密码检查】【难度:简单】......原创 2022-08-17 20:04:48 · 484 阅读 · 8 评论 -
C语言暑假学习刷题——Day1
一、选择题考点一:全局变量与局部变量的打印顺序考点二:转义字符考点三:宏定义和typedef的应用考点四:三目操作符考点五:scanf的应用二、编程题【全面深度解析】牛客网题号:JZ17打印从1到最大的n位数】【难度:入门】【牛客网题号:HJ73计算日期到天数转换】【难度:简单】原创 2022-08-19 23:43:35 · 513 阅读 · 0 评论 -
程序死循环解释
栈区的使用地址是先使用高地址,再使用低地址,所以可以画出内存空间,随着数组下标的增长,地址是由低到高增长,下标从0增加,适当的往后越界,就会访问到i,就会在访问数组元素的时候会覆盖到i,i和a数组某个元素成为同一个元素时,就可能把循环变量改掉,而循环变量一旦改变,就会导致条件永远为真,导致死循环。而a[i] = 0 会改变循环变量,当i = 18 时,因为有这个代码的存在,只要越界,就会把i改为0,这样导致i到不了18,跳不出循环导致死循环。我们先来看一段代码,下面的程序会出现什么问题?......原创 2022-08-08 23:19:54 · 992 阅读 · 3 评论 -
C语言暑假学习刷题——Day6
选择题考点一:break与continue的理解考点二:逻辑运算考点三:do-while循环考点四:函数传参考点五:默认返回的类型编程题【leetcode 题号:747. 至少是其他数字两倍的最大数】【难度:简单】【 leetcode 题号:349. 两个数组的交集】【难度:简单】原创 2022-08-22 21:26:30 · 409 阅读 · 2 评论 -
C语言暑假学习刷题——Day8
选择题考点一:字符串结束标记考点二:数组越界访问考点三:字符数组初始化考点四:数组语句的定义考点五:二维数组的元素访问操作符的优先级编程题【牛客网题号: HJ10 字符个数统计】【难度:简单】【leetcode 题号:169. 多数元素】【难度:简单】原创 2022-08-24 20:44:02 · 609 阅读 · 7 评论 -
整型在内存中的存储(超详细,绝对受益匪浅)
算机中的整数有三种2进制表示方法,即原码、反码和补码。对于整形来说:数据存放内存中其实存放的是补码。大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址 中;小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据的高位,,保存在内存的高地 址中。为什么会有大小端模式之分呢?...原创 2022-08-09 23:27:27 · 1028 阅读 · 24 评论 -
字符串逆序(递归实现)
编写一个函数 reverse_string(char * string)(递归实现)实现:将参数字符串中的字符反向排列,不是逆序打印。要求:不能使用C函数库中的字符串操作函数。比如:char arr[] = "abcdef";逆序之后数组的内容变成:fedcba...原创 2022-07-25 21:38:44 · 1962 阅读 · 0 评论 -
C语言暑假学习刷题——Day5
选择题考点一:字符ASCII计算与转换考点二:while循环的判断条件考点三:大小字母字符转换考点四:if条件语句考点五:跳出多层循环的方法编程题【牛客网题号:JZ53 数字在升序数组中出现的次数】【难度:简单】【 leetcode 题号:面试题 05.06. 整数转换】【难度:简单】...原创 2022-08-18 17:27:16 · 528 阅读 · 2 评论 -
猜名次(超详细)
1.考虑到一共五个人,直接模拟推理有些太难,计算机最擅长的遍历此时就会派上用场,将每个人从第1到第5来一遍,则一共会产生5 ^ 5种可能性,这个只需要一个5层循环即可搞定。但是这样会导致一些不期望出现的结果出现,因为我并没有查重,所以会出现两个人抢名次的情况,也就是两个人或者更多的人名次相同的情况,例如两个第二,三个第三这样的,所以即使满足了条件,也要查看一下五个人的名次是否重复,这个交给一个函数来执行,只要五个人名次并列,那就返回0,否则返回1即可。A选手说:B第二,我第三;C选手说:我第一,D第二;..原创 2022-08-09 16:18:10 · 365 阅读 · 5 评论 -
“水仙花数”与变种“水仙花数”
水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身。如 : 153=1 ^ 3+5 ^ 3+3 ^ 3,则153是一个“水仙花数”。变种水仙花数 - Lily Number:把任意的数字,从中间拆分成两个数字,比如1461 可以拆分成(1和461),(14和61),(146和1),如果所有拆分后的乘积之和等于自身,则是一个Lily Number。...原创 2022-08-03 17:39:51 · 1060 阅读 · 3 评论 -
倒置字符串(巧妙解法,超详细)
将一句话的单词进行倒置,标点不倒置。比如 "I like beijing.",经过处理后变为:"beijing. like I"。字符串长度不超过100。输入描述:输入一个仅包含小写字母、空格、'.' 的字符串,长度不超过100。'.' 只出现在最后一个单词的末尾。输出描述:依次输出倒置之后的字符串,以空格分割。示例1输入I like beijing.输出beijing. like I...原创 2022-08-07 23:15:24 · 1199 阅读 · 7 评论 -
C语言暑假学习刷题——Day7
选择题考点一:C语言函数考点二:函数在内存中存储考点三:函数的具体使用考点四:调用函数的理解考点五:递归函数编程题【牛客网题号: HJ34 图片整理】【难度:中等】【 leetcode 题号:724. 寻找数组的中心下标】【难度:简单】原创 2022-08-23 21:51:43 · 774 阅读 · 2 评论 -
最小公倍数(两种巧解)
正整数 a 和正整数 b 的最小公倍数,是指能被 a 和 b 整除的最小的正整数。请你求 a 和 b 的最小公倍数。比如输入5和7,5和7的最小公倍数是35,则需要返回35。输入描述 :输入两个正整数。1≤a, b≤100000输出描述 :输出最小公倍数。示例1输入 5 7输出 35......原创 2022-08-08 00:06:10 · 805 阅读 · 0 评论 -
C语言暑假学习刷题——Day3
测试+知识点总结原创 2022-08-17 11:37:50 · 253 阅读 · 4 评论 -
三子棋游戏
三子棋是黑白棋的一种。三子棋是一种民间传统游戏,又叫九宫棋、圈圈叉叉、一条龙、井字棋等。将正方形对角线连起来,相对两边依次摆上三个双方棋子,只要将自己的三个棋子走成一条线,对方就算输了。但是,有很多时候会出现和棋的情况。接下来我们一起来完成这个游戏设计。...原创 2022-07-28 18:20:34 · 964 阅读 · 8 评论 -
扫雷游戏,圆童年梦
扫雷》是一款大众类的益智小游戏,于1992年发行。游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷,踩到一个雷即全盘皆输。原创 2022-07-29 19:13:19 · 1433 阅读 · 6 评论 -
C语言文件操作【续】【进阶】
1.说明: scanf/fscanf/sscanf printf/fprintf/sprintf 2.文件的随机读写(fseek、ftell、rewind)3.文本文件和二进制文件4.文件读取结束的判定5.文件缓冲区原创 2022-10-11 23:05:28 · 1012 阅读 · 11 评论 -
自定义类型:结构体
自定义类型:结构体结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。关键字:struct (不能缺,不能改)tag:结构体标签(根据自己实际需求写)member-list:成员列表(可以是一个,也可以是多个)variable-list:变量列表原创 2022-09-17 22:23:17 · 281 阅读 · 13 评论 -
程序环境预处理(C语言完结篇)
1.在ANSI C的任何一种实现中,存在两个不同的环境。第1种是翻译环境,在这个环境中源代码被转换为可执行的机器指令。第2种是执行环境,它用于实际执行代码。2.译本身也分为几个阶段:预编译,编译,汇编,链接。3.预定义符号__FILE__、__LINE__ 、__DATE__ 、__TIME__、__STDC__、#define、 #define 定义宏、#和##、宏和函数对比。4. #undef。5.命令行定义。6.条件编译。7.头文件被包含的方式、嵌套文件包含原创 2022-10-15 15:29:47 · 296 阅读 · 17 评论 -
指针笔试题(帮助你全面理解指针)
&a-------int(*)[5](类型),如果要将&a赋值给p,则有int (*p)[5] = &a&a是数组的地址,&a+1跳过整个数组将&a+1强制类型转换为和指针变量ptr相同的类型,ptr-1表示减去一个整型的地址*(a+1):a是数组名,表示首元素地址,a的类型为(int*),如图a位置,加1表示跳过一个元素,指向2的位置,如图a+1,解引用后值为2。原创 2022-09-08 22:53:25 · 1687 阅读 · 5 评论 -
sizeof()与strlen()在指针和数组笔试题(超详细绝对有帮助)
sizeof 是计算对象或者类型创建的对象所占内存空间的大小,单位是字节,在计算字符串的空间大小时,包含了结束符\0的位置但是有2个例外:1. sizeof(数组名) - 数组名表示整个数组,计算的是整个数组的大小,单位是字节2. &数组名 - 数组名也表示整个数组,取出的是整个数组的地址,除了这个2个例外,你见到的所有的数组名都表示首元素的地址strlen 是库函数 strlen 求字符串长度的,计算的是字符串中‘\0’之前出现的字符的个数统计到\0为止,如果没有看到‘\0’,会继续往后找原创 2022-09-07 17:59:54 · 638 阅读 · 6 评论 -
动态内存管理(malloc、free、calloc、realloc)
malloc:向内存申请一块连续可用的空间,并返回指向这块空间的指针free:用来释放动态开辟的内存。如果参数 ptr 指向的空间不是动态开辟的。如果参数 ptr 是NULL指针,则函数什么事都不做。calloc :也用来动态内存分配。函数的功能是为 num 个大小为 size 的元素开辟一块空间,并且把空间的每个字节初始化为0。与函数 malloc 的区别只在于 calloc 会在返回地址之前把申请的空间的每个字节初始化为全0。realloc:函数动态开辟内存大小的调整。原创 2022-09-24 21:46:21 · 467 阅读 · 11 评论 -
C语言文件操作【进阶】
磁盘上的文件是文件。程序文件、数据文件(从文件功能的角度来分类的)。文件名包含3部分:文件路径+文件名主干+文件后缀1.程序文件 包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀为.exe)。2.数据文件 文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件,或者输出内容的文件。原创 2022-10-09 16:37:43 · 1270 阅读 · 16 评论 -
常见的动态内存错误和几个经典的笔试题
常见的动态内存错误:1.对NULL指针的解引用操作2.对动态开辟空间的越界访问3.对非动态开辟内存使用free释放4.使用free释放一块动态开辟内存的一部分5.对同一块动态内存多次释放几个经典的笔试题原创 2022-09-26 09:30:17 · 736 阅读 · 10 评论 -
C语言暑假学习刷题——Day9
选择题考点一:指针数组考点二:存储地址的理解及实际应用考点三:单目操作符考点四:单目操作符考点五:逗号表达式编程题【leetcode 题号:728. 自除数】【难度:简单】【leetcod 题号:238. 除自身以外数组的乘积】【难度:中等】...原创 2022-08-25 22:12:14 · 465 阅读 · 3 评论 -
【C语言进阶考试】你是否真正学懂了C语言
同学们,C语言学习之路已经结束😚~相信大家都想在接下来的学习中偷偷地卷”死“同学吧😇大学里可以做的事情有很多哦,我们一定要好好地利用好这段时间,努力地提升自己,大胆放手一搏吧!✊只要我们以深深地谦卑去忍耐 “暗无天日” 的日子,定会迎来属于我们豁然开朗地一刻!让我们一起为心中所想,去奋斗吧!!原创 2022-10-19 18:45:31 · 6302 阅读 · 21 评论 -
【C语言进阶】C语言实现通讯录
我们需要用C语言模拟一个通讯录可以用来存储1000个人的信息每个人的信息包括姓名、电话、性别、住址、年龄功能包括: 1.新增联系人 2.查找联系人 3.删除联系人 4.修改联系人 5.查看所有联系人 6.以名字排序所有联系人原创 2022-09-20 14:55:24 · 2735 阅读 · 10 评论 -
字符串函数以及内存函数的模拟实现(超详细,全面理解字符串函数)
一、strlen1.参数指向的字符串必须要以 '\0' 结束。2.注意strlen函数的返回值为size_t,是无符号的3.模拟实现strlen二、strcpy1.源字符串中的 '\0' 拷贝到目标空间2.源字符串必须以 '\0' 结束3.目标空间必须足够大,以确保能存放源字符串4.模拟实现strcpy三、strcat1.源字符串必须以 '\0' 结束2.模拟实现strcat原创 2022-09-18 17:03:39 · 569 阅读 · 12 评论