
C
shi_xiaobin
这个作者很懒,什么都没留下…
展开
-
32C++命名空间
C++命名空间原创 2022-09-07 11:20:53 · 267 阅读 · 0 评论 -
30.0C++预习
C++预习资料原创 2022-09-05 15:29:52 · 690 阅读 · 0 评论 -
进制对照表
进制对照表十进制 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 二进制 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 八进制 0 1 2...原创 2022-03-04 15:45:04 · 9915 阅读 · 0 评论 -
MarkDown的用法
MarkDown是什么?Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。Markdown 语言在 2004 由约翰·格鲁伯(英语:John Gruber)创建。Markdown 编写的文档可以导出 HTML 、Word、图像、PDF、Epub 等多种格式的文档。Markdown 编写的文档后缀为 .md, .markdown。标题Markdown 标题有两种格式。1. 使用=、-标记使用=和-标记一级和二级标题,语法如下<spa原创 2022-03-04 15:28:04 · 765 阅读 · 0 评论 -
25cJSON
JSON介绍JSON(JavaScript Object Notation,JS对象表示法) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。JSON 数据格式与语言无关,脱胎自JavaScript,但当前很多编程语言都支持 JSON 格式数据的生成和解析。JSON原创 2022-03-01 20:57:59 · 256 阅读 · 0 评论 -
24项目-黄金矿工
tools.hpp#pragma once#include<easyx.h>void drawImg(int x, int y,IMAGE *src){ // 变量初始化 DWORD* pwin = GetImageBuffer(); //窗口缓冲区指针 DWORD* psrc = GetImageBuffer(src); //图片缓冲区指针 int win_w = getwidth(); //窗口宽高 int win_h = getheight();...原创 2022-02-27 22:48:21 · 845 阅读 · 0 评论 -
23绘图工具-绘制菜单
c语言做的按钮和菜单,是关于绘画的简单项目,是学习C语言的好代码-其它文档类资源-优快云下载原创 2022-02-26 22:25:49 · 554 阅读 · 0 评论 -
22绘图工具-绘制按钮
main.cpp#include<stdio.h>#include"Shape.h"#include"Button.h"/** 项目内容:绘图工具* 开发环境:vs2019 + easyx* 主讲老师:顽石老师*///顺序表来存储所有的形状 Line Rect ...struct ShapeSet{ void* shapes[256]; //万能指针数组,所有类型的指针都可以自动转换为void* int size;};#define ShapeS...原创 2022-02-24 10:19:39 · 776 阅读 · 0 评论 -
VS 常用快捷键
本文将为大家列出在Visual Studio中常用的快捷键,正确熟练地使用快捷键,将大大提高你的编程工作效率。项目相关的快捷键Ctrl + Shift + B = 生成项目Ctrl + Alt + L = 显示Solution Explorer(解决方案资源管理器)Shift + Alt+ C = 添加新类Shift + Alt + A = 添加新项目到项目编辑相关的键盘快捷键Ctrl + Enter = 在当前行插入空行Ctrl + Shift + E.原创 2022-02-22 19:21:40 · 385 阅读 · 0 评论 -
21.4预编译-#define foreach
#include<stdio.h>#define foreach(val,arr) \for (size_t i = 0, ctr = 0; i < sizeof(arr)/sizeof(arr[0]); i++,ctr = 0)\ for (val = arr[i]; ctr < 1; ++ctr)int main(){ int arr[10] = { 1,2,3,4,5,6,7,8,2,1 }; foreach(int n,...原创 2022-02-21 21:04:20 · 350 阅读 · 0 评论 -
21.4预编译-#include(头文件包含)、#pragma的用法
mian.c#include<stdio.h> //使用<>包含标准库的头文件//#include"chineseCode.h" //自己写的头文件一般用""包含//1,<> 搜索系统包含目录,如果没有找到文件,则包含失败//2,“” 先搜索用户的目录,如果没有找到,继续搜索库目录...//3,<> 一眼就能看出是系统的头文件,“”一眼就能看出是自己写的头文件//#include"test.h"#include"maye.h"...原创 2022-02-21 13:33:09 · 1270 阅读 · 0 评论 -
21.4预编译-预编译,操作系统不同选择不同的代码
#include<stdio.h>#pragma comment(lib,"ws2_32")//windows平台会定义_WIN32宏,根据这个宏我们可以区分是windows平台还是其他的平台#if defined(_WIN32) //WINDOWS#include<WinSock2.h>#include<Windows.h> //windows.h VS2017中必须放在Winsock2.h之后,要不然有许多错误#else //LINUX...原创 2022-02-20 21:01:18 · 583 阅读 · 0 评论 -
21.3预编译-带参宏
main()运行结果main2()运行结果#include<stdio.h>#include<malloc.h>//宏定义(宏替换):只是简单的替换,不会给你做任何的操作#define EXP (5+2*3)//求平方#define SQUARE(number) ((number)*(number))//输出错误的宏函数#define clog(error) printf("[log %d]:%s\n",__LINE__,error)..原创 2022-02-19 19:51:00 · 392 阅读 · 0 评论 -
21.2预编译-宏定义,中文编程
#include<stdio.h>#define SAY "今年春晚没玩火老师我都不看"#define PI 3.141592653int main(){ puts(SAY); printf("%.20lf\n", PI); return 0;}中文编程#include<stdio.h>//#include"chineseCode.h"#define 主程序 main#define 整型 int#define 小数 do...原创 2022-02-18 15:32:54 · 386 阅读 · 0 评论 -
21.1预编译-宏
#include<stdio.h>void ready();int main(){ ready(); return 0;}void ready(){ printf("LINE:%d\n", __LINE__); //所在行的行号 printf("FILE:%s\n", __FILE__); //所在的文件名称 printf("DATE:%s\n", __DATE__); //当前的日期 printf("TIME:%s\n", __TIME__); /...原创 2022-02-18 15:26:03 · 91 阅读 · 0 评论 -
21预编译
在编译和链接之前,还需要对源文件进行一些文本方面的操作,比如文本替换、文件包含、删除部分代码等,这个过程叫做预处理,由预处理程序完成。较之其他编程语言,C/C++ 语言更依赖预处理器,所以在阅读或开发 C/C++ 程序过程中,可能会接触大量的预处理指令,比如 #include、#define 等。在C语言中,凡是以“#”开头的行,都称为预编译指令,主要有指令 作用 #define #undef 定义宏 取消宏定义 #include 包含头文件 #if #else #原创 2022-02-18 15:01:18 · 406 阅读 · 0 评论 -
20.11文件操作-文本文件的copy,对于二进制文件复制会失败
32位文件拷贝成功,64位失败,文本文件拷贝成功,二进制文件拷贝失败64位的文件拷贝会失败#include<stdio.h>//argc 命令行参数个数 argv 命令行参数数组 //默认就是为1,当前程序文件名(包含路径)int main(int argc, char* argv[]){ //从一个文件拷贝到另一个文件,总共只需要两个文件 if (argc != 3) { printf("参数错误,请输入两个文件名\n"); return 0..原创 2022-02-18 14:43:22 · 286 阅读 · 0 评论 -
20.10文件操作-代码总结
#include<stdio.h>void fileOpenAndClose();void readFileChar();void writeFileChar();void readFileStr();void formatWrite();void formatRead();void binaryWrite();void binaryRead();void seek();size_t fileSize(const char* fileName);void test...原创 2022-02-17 16:48:25 · 236 阅读 · 0 评论 -
20.9文件操作-利用返回值可以统计文件中的字节大小,不算\0 ftell()函数
#include<stdio.h>size_t fileSize(const char* fileName);int main(){ size_t size = fileSize("VIP13.txt"); printf("size %u", size); return 0;}size_t fileSize(const char* fileName){ FILE* fp = fopen(fileName, "r"); if (!fp) { retur...原创 2022-02-17 16:42:21 · 98 阅读 · 0 评论 -
20.8文件操作-将位置指针移动到任意位置fseek()
#include<stdio.h>void seek();int main(){ seek(); return 0;}void seek(){ FILE* fp = fopen("seek.txt", "w+"); if (!fp) { perror("file open failed"); return; } fputs("hello", fp); //写入之后文件位置指针再文件末尾 //移动文件位置指针 rewind(fp); ...原创 2022-02-17 13:59:37 · 313 阅读 · 0 评论 -
20.7文件操作-文件的位置指针rewind()将文件指针重新指向文件开头
#include<stdio.h>void test(){ FILE* fp = fopen("test.dat", "wb+"); if (!fp) { perror("file open failed"); return; } int size = 1256; fwrite(&size, sizeof(int), 1, fp); //文件的位置指针 //1256 rewind(fp); int nsize = 0; fread...原创 2022-02-16 17:13:24 · 496 阅读 · 0 评论 -
20.6文件操作-二进制读写
#include<stdio.h>void binaryWrite();void binaryRead();int main(){ binaryWrite(); binaryRead(); return 0;}//二进制读写void binaryWrite(){ Student bloom[47] = { {100,22,"bloom" },{1001,19,"逝川"} ,{1002,20,"hello"} , {1003,21,"哈哈哈"}, ...原创 2022-02-16 16:58:43 · 214 阅读 · 0 评论 -
20.5文件操作-格式化读写
格式化写格式化读#include<stdio.h>void fileOpenAndClose();void readFileChar();void writeFileChar();void readFileStr();void formatWrite();void formatRead();void binaryWrite();void binaryRead();void seek();size_t fileSize(const char* fil..原创 2022-02-16 16:52:04 · 230 阅读 · 0 评论 -
20.4文件操作-按字符串读取
#include<stdio.h>void readFileStr();int main(){ readFileStr(); return 0;}//按字符串读取void readFileStr(){ FILE* fp = fopen("demo.txt", "r+"); if (!fp) { perror("open file failed"); return; } char buf[512] = { 0 }; //以字符串形...原创 2022-02-16 16:35:50 · 134 阅读 · 0 评论 -
20.3文件操作-按字符读取
#include<stdio.h>void writeFileChar();int main(){ writeFileChar(); return 0;}//按字符写入void writeFileChar(){ FILE* fp = fopen("demo.txt", "a"); if (fp == NULL) { perror("file open failed "); return; } //写入26个英文字母 for (...原创 2022-02-16 16:31:09 · 170 阅读 · 0 评论 -
20.2文件操作-按字符读取
文本文件demo.txt内容#include<stdio.h>void fileOpenAndClose();void readFileChar();int main(){ readFileChar(); return 0;}//按字符读取void readFileChar(){ FILE* fp = fopen("demo.txt", "r"); if (fp == NULL) { perror("file open fai...原创 2022-02-16 16:19:01 · 171 阅读 · 0 评论 -
20.1文件操作-文件的打开与关闭
文件不存在的显示文件存在的显示#include<stdio.h>void fileOpenAndClose();int main(){ fileOpenAndClose(); return 0;}//文件打开与关闭void fileOpenAndClose(){ //打开文件 //FILE* fp = fopen("C:/Windows/苍老师.txt", "r"); FILE* fp = fopen("demo.txt", "r"); .原创 2022-02-16 15:52:39 · 153 阅读 · 0 评论 -
安装VS2019或VS2022不能安装的问题解决办法
安装VS2019出现以下错误在网上查找了一下解决办法,直接进入链接下载并安装.Net 4.6:Download Microsoft .NET Framework 4.6 (Offline Installer) for Windows Vista SP2, Windows 7 SP1, Windows 8, Windows 8.1, Windows Server 2008 SP2 Windows Server 2008 R2 SP1, Windows Server 2012 and Window.原创 2022-02-16 12:28:26 · 16126 阅读 · 0 评论 -
20文件操作
文件的概念什么是文件?所谓文件一般指存储在外部介质(如磁盘磁带)上数据的集合。什么是流?操作系统是以文件为单位对数据进行管理的,输入输出是数据传送的过程,数据如流水一样从一处流向另一处,因此常将输入输出形象地称为流(stream),即输入输出流。C语言把文件看作是一个字符(字节)的序列,即由一个一个字符(字节)的数据顺序组成。一个输入输出流就是一个字节流或二进制流。文件名:一个文件要有一个惟一的文件标识,以便用户识别和引用。文件标识包括三部分: (1)文件路径 (2)原创 2022-02-16 10:33:32 · 671 阅读 · 0 评论 -
19.3回调函数的复习(调用函数的简化)
#include<stdio.h>/*回调函数:让另一个函数通过函数指针间接调用函数*/void print(int* num){ printf("%d", *num);}void inc(int* num){ (* num)++;}void transform(int arr[], int len, void (*dosomething)(int* num)){ for (int i = 0; i < len; i++) { //prin...原创 2022-02-15 22:57:49 · 317 阅读 · 0 评论 -
19.2单链表节点的前增、后增、中间增、删除、遍历打印
菜单2-1菜单2-1-3-1菜单2-1-3-1-4-1菜单2-1-3-1-4-1-5-1LinkList.h#pragma oncetypedef int Data;typedef struct Node{ Data data; //数据域 struct Node* next; //指针域,指向后继节点 //Node* next; //使用的Node是别名,此时还没有Node这个别名,所以不能使用}Node;typedef Node Link..原创 2022-02-14 20:13:29 · 323 阅读 · 0 评论 -
19.1单链表
#include<stdio.h>typedef struct Node{ int data;//数据 struct Node* next;//指向后继节点}Node;main(){ Node n1 = { 1 }; Node n2 = { 2 }; Node n3 = { 3 }; //链接起来 n1.next = &n2; n2.next = &n3; n3.next = NULL; //从n1开始逐个访问 Node* cu...原创 2022-02-13 11:28:20 · 466 阅读 · 0 评论 -
19数据结构-链表
1.2 链表链表是指逻辑结构上一个挨一个的数据,在实际存储时,并没有像顺序表那样也相互紧挨着。恰恰相反,数据随机分布在内存中的各个位置。由于分散存储,为了能够体现出数据元素之间的逻辑关系,每个数据元素在存储的同时,要配备一个指针,用于指向它的直接后继元素,即每一个数据元素都指向下一个数据元素(最后一个指向NULL(空))。如图所示,当每一个数据元素都和它下一个数据元素用指针链接在一起时,就形成了一个链,这个链子的头就位于第一个数据元素,这样的存储方式就是链式存储。链表中数据元素.原创 2022-02-13 10:27:50 · 911 阅读 · 0 评论 -
18.2后宫管理系统
seqList.h#pragma once#include<stdbool.h>#define INIT_SEQLIST_SIZE 8 //顺序表初始大小//后宫管理系统,管理妃子//三围struct Size{ int bust; //胸围 int hip; //臀围 int waist; //腰围};//妃子:girl typedef struct Girl{ int id; //编号 int age; //年龄 char na...原创 2022-02-12 16:13:57 · 204 阅读 · 0 评论 -
18.1顺序表
seqList.h#pragma once#include<stdbool.h>#define INIT_SEQLIST_SIZE 8 //顺序表初始大小typedef int Data; //抽象数据类型ADT//数组 容量(最多能存储多少个元素) 当前大小typedef struct SeqList //顺序表结构{ Data* base; //指向动态内存分配的数组的指针 int capacity; //容量 int size; //当前元素个数...原创 2022-02-12 15:28:40 · 477 阅读 · 0 评论 -
18数据结构
# 一,数据结构概述## 1.1什么是数据结构?**官方解释:** 数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及他们之间的关系和操作等相关问题的学科**大白话:** 数据结构就是把数据元素按照一定的关系组织起来的集合,用来组织和存储数据## 1.2数据结构分类传统上,我们可以把数据结构分为逻辑结构和物理结构两大类。**逻辑结构分类:** 逻辑结构是从具体问题中抽象出来的模型,是抽象意义上的结构,按照对象中数据...原创 2022-02-12 11:05:04 · 235 阅读 · 0 评论 -
17.7枚举:整型常量的集合
#define _CTR_SECURE_NO_WARNINGS#include<stdio.h>/** 枚举:整型常量的集合* 使用enum关键字定义枚举* 1,枚举都是整型,枚举是用来表示数字的(方便,快捷,简单易懂)* 2,枚举默认是从0开始的**///一周有七天 0 1 2 3 4 5 6enum Week{ 星期一 = 50, 星期二, 星期三, 星期四, 星期五, 星期六, 星期日};int main(){ printf("请...原创 2022-02-11 14:02:21 · 197 阅读 · 0 评论 -
17.6联合(共用体)
#include<stdio.h>/** 联合(共用体):多个变量共用同一块内存空间,同一时间只能存在一个变量* 使用union关键字定义联合**///age sexunion What{ int age; //4 char sex[6]; //6 short s; //2};struct Man{ int type; int dd;};struct WoMen{ int type; int x; int m; int c;};...原创 2022-02-11 13:54:59 · 289 阅读 · 0 评论 -
17.5结构体字节对齐:为了效率
/** 结构体字节对齐:为了效率* 1,结构体的大小一定是最大基本类型的整数倍* 2,一般是以最大的基本类型为参照,进行对齐* 3,成员的地址一定是自身大小的整数倍*/#include<stdio.h>/** 结构体字节对齐:为了效率* 1,结构体的大小一定是最大基本类型的整数倍* 2,一般是以最大的基本类型为参照,进行对齐* 3,成员的地址一定是自身大小的整数倍*/struct Int{ int numb...原创 2022-02-10 19:32:15 · 234 阅读 · 0 评论 -
17.4结构体的指针访问(32位调试正常,64位调试出错)
32位显示正常64位显示错误,有朋友知道原因的请指正#include<stdio.h>/** 结构体嵌套:结构体允许再内部定义另外一个结构体* 结构体数组:数组的每个成员都是结构体*/struct Baby{ int nickName; //昵称 int age;};int main(){ struct Baby babys[77] = { {"vista",20},{"小瓜",18},{"逝川",19} }; for (size_t i = 0.原创 2022-02-10 19:00:44 · 319 阅读 · 0 评论