自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 函数栈帧创建

我们在编译代码的时候是不是真的有去想过代码是怎么运行的吗?在代码的最深处到底有什么秘密,就让我来为你们来找找吧。在了解这些内容之前,我们先要了解什么是栈。栈就像是手枪的弹夹,里面的子弹都是先进后出的对吧,栈也是一样的。之后我们要了解一下他是怎么运行的。CPU中的通用寄存器有:EAX EBX ECX EDX。栈顶通常是ESP寄存器栈底通常是EBP寄存器当我们运行一行代码的时候汇编就会用到一些语句来运行我们先来看一个很简单的代码#include<stdio.h>int Add

2021-08-06 14:15:35 164

原创 三子棋代码教学

三子棋代码教学三子棋算是比较早的益智互动游戏。那么我们怎么用C语言来解决呢?这是利用代码之后的体现,我们在打代码之前,需要知道我们在游戏开始之前的界面长什么模样。那么我们在开始之前会有菜单函数来体现。菜单函数void menu(){ printf("**********************\n"); printf("*** 1:play 0:exit ***\n"); printf("**********************\n");}这是个比较简单的函数体现。那么我们在结

2021-07-27 15:12:49 196

原创 解析汉诺塔——明白递归

汉诺塔是什么?汉诺塔(Tower of Hanoi),又称河内塔,是一个源于印度古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。图片里面的就是汉诺塔。把所有盘子按照规定,从A盘子移动到C盘子。这个就是汉诺塔。那我们怎么解决这个呢?现在解决之前,我们可以玩玩游戏。汉诺塔小游戏大家可以点击玩玩先要了

2021-07-27 15:10:23 472 1

原创 C语言学习 从入门到进阶(七)

C语言学习 从入门到进阶(七)书接上文,我们继续了解一些函数函数的定义和函数的声明定义和声明是不一样的。声明是一定要在函数调用之前的,定义可以在调用之前或者调用之后。我们来看看下面一段有意思的代码:int main(){ int a = 10; return 0;}#include<stdio.h>这样的代码可以运行嘛?答案是:可以的是不是很奇怪,这个跟我们之前的不太一样。其实我们可以想想,我们有没有用到函数?是不是只写了一个main函数。那我们再想想这个#inclu

2021-07-23 11:06:54 176

原创 C语言学习 从入门到进阶(六)

C语言学习 从入门到进阶(六)这一期我们来讲讲函数函数是什么?我们回顾一下我们在初中,高中学习的函数,比如一次函数,二次函数……。C语言中的函数也是一样的。我们在一开始就见过函数了。那就是主函数int main()库函数库函数就是一些C语言原本就有的一些函数。比如printf()、scanf()……;在引用这些函数的时候要用到头文件。接下来是对函数的一些分类。IO函数字符串操作函数字符操作函数内存操作函数时间/日期函数数学函数其他库函数我们先来看看一个函数吧#includ

2021-07-22 12:09:23 289 1

原创 C语言指针系列(二)

C语言指针系列(二)在经过上次的讲解之后,我经过了学校的考试周。考试结束之后,也是加急赶了这篇文章来和大家讨论指针。我们上次已经了解到了什么是指针。我们最后的目标是灵活运用指针,在此之前我们还有很多的只是需要学习。在讲正文之前,我们先了解一下指针的大小。我们在学习C语言的时候,我们知道列如:int,double,long等等定义的变量都是有大小的。如果不知道可以看看我的《C语言学习,从入门到进阶系列》那我们之前知道大小是不是用到了sizeof()这样的函数。那在这里也是一样的。那我们话不多说,先

2021-07-10 17:23:31 256 8

原创 C语言学习 从入门到进阶(五)

循环继续的学习。这边我们学习一下循环的嵌套;我们之前学习过条件语句的嵌套,其实循环语句的嵌套也是一样的。我们看一个代码:#include<stdio.h>int main(){ for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { printf("%d ", j); } printf("\n"); } return 0;}这个语句大家在自己电脑当中实现一下就会像我一样

2021-06-18 21:44:38 354 2

原创 C语言学习,从入门到进阶(四)

分支和循环C语言中有三种结构:顺序结构,选择结构,循环结构。顺序结构选择结构:循环结构:这些图片都很好的说明了这些结构顺序结构首先我们来看看顺序结构的代码都长什么样子呢?#include<stdio.h>int main(){ int a = 10; printf("%d", a); return 0;}这样简单的结构就是顺序结构,就是一条线下来就好了。这个当然不是我们这堂课的重点。选择语句那选择语句是什么呢?#include<stdio.h&

2021-06-15 21:49:41 306 4

原创 C语言指针系列(一)

在学习任何知识之前,我们都要知道这个知识是什么东西。那么我们这次要学习的指针是什么呢?说到指针,我们的第一反映是什么会不会有人跟我一样,想到是这种有指示作用的指示牌。同样C语言当中的指针也是这样的。其实在我看来C语言的环境就是地球的环境。我们就是一个个变量,地球就是存储器。我们在这里面游荡。我们怎么证明我们活过呢?那就是你现在所处的地方,你在这个地方,就好像一个变量出现在这里进行了一次运算,这个变量来过,这个我,活过。因为代码与人生的相似性,让我深深迷恋。话说回来,那么指针的作用就是证明这个地

2021-06-13 15:17:30 1575 9

原创 C语言学习,从入门到进阶系列(四)

C语言学习,从入门到进阶系列(四)指针指针可以说是整个学习里面最难的东西。我在这边不能全面描述,同样,我会在之后不断地学习之后给大家更好的博客。在这里我们先了解,指针是什么。我们可以这么想象,我们平时网上订单的时候,快递小哥是怎么找到我们的,是不是靠地址,同样,指针就是一个变量的地址。我们在写程序的时候,我们定义的一个个变量,都是放到内存的,当我们要用的时候,我们就可以用指针来寻找。那我们是怎么来定义指针的呢?#include<stdio.h>int main(){ int a =

2021-06-09 20:21:35 419 4

原创 排序的那些事(一)

排序的那些事排序可以说事计算机算法入门的一件事情。各种各样的排序,有的好有的差。那让我们来看看这些排序的各种魅力吧。这张图片是我从网上借鉴过来的。这张图片很好的介绍了所有的基本排序。直接插入排序直接插入排序是一种最简单的排序方法,它的基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的记录增加1的有序表。也就是选一个放一个。这个的时间复杂都市O(n^2);但是当我学到后面可以发现,这个O(n^2)比冒泡和选择的要快一点。话不多说先上代码:void InsortSort(int*

2021-06-08 19:10:30 176 11

原创 C语言学习,从入门到进阶系列(三)

C语言学习,从入门到进阶系列(三)话接上文,我们聊到了操作符的地方。就是那些‘+’ , ‘-’ , ‘*’ ,‘/’。这些学过小学数学的应该都知道,只不过 “ * ”这个东西会比较陌生,这个其实是乘号。当然操作符当然不止这些啦。还有移位操作符,位操作符,赋值操作符,复合赋值符,单目操作符,关系操作符,逻辑操作符,逗号操作符。因为我们这个系列先大家了解大致的C语言,之后会进行进阶。希望大家多多支持,同时,给出有意义的建议。在这里谢谢大家!位操作符号#include<stdio.h>//

2021-06-07 21:36:39 262 2

原创 C语言学习,从入门到进阶系列(二)

C语言学习,从入门到进阶系列(二)承接上文,这边帮大家解决printf里面的一些%。%a(%A) 浮点数、十六进制数字和p-(P-)记数法(C99)%c 字符%d 有符号十进制整数%f 浮点数flot%lf 浮点数double%e(%E) 浮点数指数输出%g(%G) 浮点数不显无意义的零"0"%i 有符号十进制整数(与%d相同)%u

2021-06-05 12:25:10 585 4

原创 C语言学习,从入门带进阶系列(一)

C语言学习,从入门带进阶系列(一)我是来自江南的学生,在接触到C语言之后有一点自己的想法,想和大家分享。有不对的地方希望大家可以指出,我在日后的过程中一定改正。以免误人子弟。现在的时代是数字媒体时代,大家都知道有一种职业是码农,那么码农是怎么工作的呢?那就要靠编程。大家要编程,就一定要下载一个编程软件。这是第一步。也是最重要的一步。就像拉弓射箭,没有弓怎么像话。C语言的编程其实就是两个内容。首先,你要有头文件。...

2021-06-03 12:44:03 658 2

原创 斐波那契数列

斐波那契数列最近在想斐波那契数列的方法。因为在网上接触过递归的思想,所以有了第一个代码。#include<stdio.h>int f(int i ){ if(i <= 2) { return 1; } else { return f(i - 1) + f(i - 2); }}int main(){ int n = 0; scanf("%d" , &n); int i = 0; for(i = 1;i<=n;i++) { prin

2021-03-13 12:00:07 125 1

原创 新年新气象

新年新气象现在是正月初五,过了好几天都没有更新文章了,上次在B站上看到一个视频是关于年龄在40+的程序员谈论自己的事情,对我的感触还是蛮大的。对于未来的未知性,我时常在想,是不是自己只要现在多努力一点点就会得到一点的收获。世面上各种各样的鸡汤类文章数不胜数,但我们都会发现在那些文章之后,我们所做的改变又有哪些呢?就好像鸡汤摆在你面前,你却油盐不进,这是我们所期望的吗?其实,在所有文章结束之后,我们并不能从中学到解决问题的方法,因为文章中的问题和你所遇到的问题是不同的。正所谓没有两片一样的叶子。我们在看

2021-02-16 13:09:48 165

原创 利用递推思想解决汉诺塔问题

利用递推思想解决汉诺塔问题汉诺塔问题是一个比较经典的利用递推思想来解决的问题。这是一张来自百度百科的一张图片。我们需要利用B杆将A杆上的所有东西放到C杆上面。而且放置事物的时候只能是大的在下面,小的在上面。每一次移动只能移动一个物块。我们假设有N个物块在A杆子上面。为了保证把全部的N个物块放到C杆子上去,我们就必须先让第N块放到C杆子的最下面。这样才能保证所有物块保证,下面的永远比上面的大。那我们在移动第N块的时候,(N — 1)个物块必须先暂时放到B杆子处。我们依次往上类推,(N — 1)这个

2021-01-24 13:53:10 494

原创 用c语言解决日期问题

用C语言计算日期。方法一:先算出到已知日期前的所有天数然后对7求余数。计算所有天数的函数如下:int year_sum(int a , int b , int c) //计算到输入日期前的总共天数 { int i = 0; //计算到这个年份之前有的闰年 int j = 0; //计算到这个年份之前有的平年 int sum = 0; int d[] = {31 , 28 , 31 , 30 , 31 , 30 , 31 , 31 , 30 , 31 , 30 ,

2020-12-31 19:57:44 969

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除