C语言
文章平均质量分 56
韩悬子
韩悬子
展开
-
各种排序(快排,非递归快排,直接插入排序,希尔排序)
C语言排序原创 2022-04-26 17:29:46 · 444 阅读 · 0 评论 -
堆排序的实现
实现一个对数组的堆排序要求升序原创 2022-04-24 14:58:48 · 343 阅读 · 1 评论 -
栈的实现和栈的概念
1.栈的概念和结构栈是一个特殊的线性表,只允许固定一段插入或删除.进行插入和删除的一端叫栈顶,另一端叫栈底栈要保持后进先出压栈:栈的插入数据叫进栈/压栈/入栈 入数据在栈顶出栈:栈的删除操作叫做出栈 出数据也在栈顶提起栈,我们就会想起栈帧这个东西,调用一个函数的时候就会出现一个栈帧,但是这个栈帧其实和数据结构里面的栈其实是没有关系的一个是数据结构的栈,是一个数据结构一个是操作系统划分的一个区域,叫做栈,用来函数调用时产生栈帧它们只是名字相同,作用是完完全全不一样的原创 2022-03-27 00:39:09 · 113 阅读 · 1 评论 -
顺序表和带头双向循环链表的优缺点
这二个结构其实是,相辅相成的结构顺序表的优点1.物理空间是连续的,方便用下标来访问(但这其实也算是它的缺点,效率比较低)2.cpu高速缓存命中率更高cpu不会直接访问内存,因为它会嫌弃内存访问太慢,通常都是把数据加载到缓存或寄存器里面,但是由于寄存器不算多,所以特别大的数据是加载在缓存里面的cpu会看数据在不在缓存在就叫命中,直接访问,不在就不命中,先把数据加载到缓存在访问那么cpu访问有个局部性原理,会访问这个局部,当这个不命中会把下一个局部加载到缓存里,由于顺序表的物理空间是连续原创 2022-03-26 20:01:55 · 995 阅读 · 0 评论 -
程序的编译
程序的编译分成二种执行环境第一种是翻译环境,把源代码转换成可执行的机器指令第二种执行环境,用来执行代码我们有个test.c这个源文件,我们来把它编译,我们最后会把它变成test.exe这个执行文件那么我们是怎么变成的经过翻译环境变成的翻译环境又分为二个模块,编译和链接编译又细分为三个小模块,预编译,编译,汇编我们比如有个test.c文件要执行,那test.c源文件就要经过编译器生成test.obj这个目标文件这个过程叫编译,test.obj目标文件再和链接库一起经过链原创 2022-03-09 17:06:58 · 388 阅读 · 0 评论 -
宏的特点和使用和宏和函数的对比
宏通常被应用于执行简单的运算。比如在两个数中找出较大的一个原创 2022-03-06 23:34:48 · 935 阅读 · 0 评论 -
指针笔试题和函数实现
指针笔试题原创 2022-03-06 19:15:13 · 136 阅读 · 0 评论 -
C语言文件操作
C语言文件的操作原创 2022-03-05 00:13:53 · 351 阅读 · 0 评论 -
自定义类型
1.结构体2.位段3.枚举4.联合体原创 2022-01-30 19:22:27 · 405 阅读 · 1 评论 -
strtok使用和memcpy的实现和memmove的实现
strtok这个函数的作用是用来分割字符串的。比如一个字符串里,有一串字符,里面有@,那么你就可以使用它把@之前的字符串个分割打印出来。十分的快捷。原创 2022-01-22 14:06:30 · 411 阅读 · 1 评论 -
牛客网[编程题]倒置字符串
牛客网[编程题]倒置字符串原创 2021-11-29 23:58:37 · 212 阅读 · 4 评论 -
C语言扫雷小游戏的实现(详细解析)
先让我们整理一下思路再写原创 2021-11-11 23:01:29 · 3809 阅读 · 2 评论 -
c语言整蛊关机小程序
代码先奉上#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ char input[] = "0"; system("shutdown -s -t 60");//调用Windows指令进行关机 while (1) { printf("你的电脑将在一分钟后关机,请输入我是猪取消关机\n"); sca原创 2021-10-31 11:39:44 · 470 阅读 · 1 评论 -
什么是取整?有几种取整方式?C语言又是哪种方式?取模取余一样吗?
大家都知道取整这回事,但是对于取整只有单一的认识,请看下面代码。int main(){ int j = -2.9; int i = 2.9; printf("%d\n", j); printf("%d\n", i); return 0;}看这串代码我们先不管数据溢出的问题,直接看最后的结果等于什么大家都知道最后结果会是-2.9变成-2,2.9变成2.但是为什么会这样呢?我相信比较多人是不知道的是因为一共有四种取整方式第一种取整模式:向0取整...原创 2021-08-22 12:21:51 · 19604 阅读 · 3 评论 -
C语言经典编程题
1.写一个函数,求a的二进制(补码)有多少个1(1)第一种答案写法#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>int Count_Bit_One(unsigned int n){ int count = 0; while (n) { if (n % 2 == 1) { count++; } n=n/2; } return count;}int main(){ int a = 0; s原创 2021-08-12 20:34:39 · 103 阅读 · 0 评论 -
C语言关键字const详细讲解
1.const的主要作用2.const的用法理解和代码解读1.const的主要作用 (1)const是一个C语言的关键字,它的作用是限定一个变量不允许被改变。 (2)const是给系统看,让系统不要改变我的值。 (3)const也是给程序员看,让程序员看这里为什么要用const,到底能不能改这个值 而不是不管三七二十一的,无视const,用指针调用指针来把const的作用给无视掉2.const的用法理解和代码解...原创 2021-08-12 11:17:43 · 12729 阅读 · 5 评论 -
C语言float的比较和精度损失
浮点数在内存中存储,并不是我们想的那样是完全存储的,在十进制转到二进制会出现一些精度损失. 但是要注意这里的损失不代表是减少了,也可能会增多,浮点数本身存储的时候,在计算除不尽的时候,会“四舍五入”后者其他方法来进行计算。接下来,我们用c语言来编译下看看我说的对不对。那么我们在做一个代码小实战,请看下图相信大家都理解了这题选什么了没错,就是不相等,那么浮点数到底要什么对比呢?#include<stdio....原创 2021-07-29 11:03:49 · 1058 阅读 · 0 评论 -
C语言基础递归
先讲讲递归的好处和坏处吧!递归的好处:能把一些很困难的代码写的很简单,俗称大事化小。递归的坏处:代码维护性和可读性比较低。因为递归的原理是用自己来调用自己,比较浪费内存,再来讲递归的必要条件,总共有二个。第一个,要有一个限制条件。如果没有限制条件,那它就会无限的死循环停止不了。第二个,要越来越接近限制条件,如果不接近这个限制条件的话。那它的限制条件也失去的作用,也会死循环。接下来就来几个实战小代码来进本理解递归的使用吧!练习1输出一个数,来打印这个数的每位,例如:输入1234原创 2021-08-06 17:02:57 · 165 阅读 · 0 评论 -
C语言指针详解
指针是什么 指针和指针的类型1.指针是什么? 在计算机科学中,指针是一种编程语言的一个对象,它存储位于计算机内存中的另一个值的内存地址。指针引用内存中的一个位置,获得存储在该位置的值称为指针解引用。总的来讲就是可以通过它来找到以它为地址的内存单元。 可能你会很难理解,毕竟这段话太规范了。来看下图,看下面的一个一个内存格子,我们把他们取了个名字,那这个名字就是它们的地址,就等于我知道你们家的门牌号一样,我能通过你家的门牌号来找到你家一样。指针也是一样的。通过地址来知道内...原创 2021-08-11 10:32:12 · 532 阅读 · 1 评论