![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C的学习之路
Protein_zmm
记录个人学习经历~~~
展开
-
通讯录的实现
通讯录的小项目的练习是学习后续数据结构的基础,其中的很多知识都是为了后续顺序表学习作铺垫我们要实现通讯录的基本功能:增删查改,这也是后续顺序表的内容(增删查改),所以学会这个项目后,配合后续的博客,可以很好地掌握数据结构的基本知识。在这里我创建了三个工程test.c : 主函数的实现contact.c : 函数功能的实现contact.h : 函数的声明test.c#define _CRT_SECURE_NO_WARNINGS #include "contact.h"void menu()原创 2022-02-11 12:34:37 · 671 阅读 · 0 评论 -
数据的存储讲解附带例题详解
整数在内存中的存储变量的创建需要在内存中开辟空间,空间的大小根据类型决定计算机中的符号数有三种表示方法:原码、反码及补码三种表示方法均有符号位和数值位两部分组成,符号位0表示正,1表示负原码: 直接将数值按着正负数的形式翻译成二进制反码: 将原码的符号位不变,其他位按位取反补码: 反码+1其中正数的原码反码补码均相同对于整形来说,数据存放在内存中存放的是补码原因:使用补码时,可以将符号位与数值位一同进行处理,加法和减法也可以一同处理(CPU中只有加法器)此外,补码与原码相互转换,其运算过原创 2022-02-07 22:54:59 · 467 阅读 · 0 评论 -
函数栈帧的创建与销毁
函数栈帧的创建与销毁为什么要了解函数的栈帧?我列举了以下问题,如果掌握了函数栈帧,就能明白这些问题的原因。1、局部变量是怎么创建的?2、为什么局部变量不初始化是随机值?3、函数是怎么传参的?传参的顺序是怎样的?4、形参和实参是什么关系?5、函数调用是怎么做的?6、函数调用是结束后怎么返回的?首先了解一些寄存器:eax:累加寄存器ebx:存放地址ecx: 计数edx: 存放余数…接下来重点了解esp与ebp寄存器esp:栈顶指针ebp:栈底指针esp与ebp指针是用来原创 2022-02-06 19:43:57 · 183 阅读 · 0 评论 -
三子棋游戏
三子棋游戏实现:基本流程1、制做游戏菜单2、将棋盘(数组)内容全部初始化3、打印棋盘4、人机交互5、输赢条件实现菜单void menu()//菜单定义{ printf("*****************************\n"); printf("***** 1.play 0.exit *****\n"); printf("*****************************\n");}void test()//实现游戏重复游玩{ int input =原创 2021-05-21 20:28:49 · 146 阅读 · 2 评论 -
编程练习
1.实现一个对整形数组的冒泡排序#include <stdio.h>void bubble_sort(int arr[], int sz){ int i = 0; for (i = 0; i < sz - 1; i++)//10个元素要进行9趟冒泡排序 { int j = 0; for (j = 0; j <sz-1-i; j++)/*sz-1-i对比较,第一次9 8 7...0有9队比较,第二次 8 7 .... 0 9 需要比较8队*/ { if原创 2021-05-01 17:42:44 · 162 阅读 · 0 评论 -
C Primer_Practice_Two
C Primer第二章习题#include <stdio.h>int main(){ int ages = 18; int days = ages * 365; printf("Please enter your ages\n"); scanf("%d",&ages); printf("%d number of days corresponding to %d\n",ages,days); return 0;}//4.除了mian()函数以外,该程序还要调用两个自原创 2021-03-18 22:48:35 · 99 阅读 · 0 评论