自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

这有一个不错的博客

兴趣是最好的老师

  • 博客(45)
  • 收藏
  • 关注

原创 两个有序序列的中位数(二分法思路)

浙大版《数据结构学习与实验指导(第2版)》题目集进阶实验1-3.1 两个有序序列的中位数 (25 分)#include<stdio.h>#include<stdlib.h>int main(){ int N; scanf("%d", &N); //数据规模输入 int* A = (int*)malloc(N * sizeof(int)); //开辟动态空间,因为是N最大为1e5,所以不用自动内存栈可能不够大,不用动态的堆的话就要定义

2021-09-06 17:08:55 641

原创 补贴网址保存

http://jbrc.nbjbhrss.gov.cn:3841/jbrsRctj/public/pages/login.jsp

2021-06-16 09:22:19 102

原创 用C语言写一个简单的成绩录入程序

#define _CRT_SECURE_NO_WARNINGS 1#define MAX_STU 100#include<stdio.h>#include <windows.h>#include <string.h>#include <stdlib.h>struct Stu //每条成绩信息,名字和分数{ char name[10]; //一个汉字占2个字节,超过五个字报错 int score;};struct Content /

2021-04-23 21:20:15 3695 1

原创 C语言学习笔记33

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <stdlib.h>#include <string.h>#include <errno.h>//动态内存分配//一、void* malloc(size_t size);// 这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。// 1、如果开辟成功,则返回一个指向开辟好空间的指针;// 2、如果开辟失败

2021-04-22 21:47:57 71

原创 C语言学习笔记32

用C语言写一个通讯录1、变量、函数声明头文件#define _CRT_SECURE_NO_WARNINGS 1#define MAX 1000#define NAME_MAX 20#define TELE_MAX 12#define ADDR_MAX 30struct PeoInfo{ char name[NAME_MAX]; int age; char sex[5]; char tele[TELE_MAX]; char addr[ADDR_MAX];};struct Cont

2021-04-21 20:54:56 50

原创 C语言学习笔记31

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>//枚举类型enum Color{ //该枚举类型定义的变量可能的值,除此之外的值不能赋给枚举变量 RED = 2, GREEN = 4, BLUE = 6};int main(){ enum Color s = RED; return 0;}//枚举的优点//1、增加代码的可读性和可维护性//2、和#define定义的标识符比较枚举有类型检查,更加严谨/

2021-04-18 21:05:10 77

原创 C语言学习笔记30

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>//什么是位段//位段的声明和结构体类似,但有两个不同//1、位段的成员是int、unsigned int、signed int或者是char(属于整型家族)类型//2、位段的成员名后边有一个冒号和一个数字(二进制位数)//跟结构体相比,位段可以达到同样的效果,而且更省空间,但是跨平台存在问题//位段的内存分配//1、位段的成员是int、unsigned int、signed

2021-04-16 21:34:07 40

原创 C语言学习笔记29

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <string.h>#include <stddef.h>//结构体内存对齐//1、第一个成员在与结构体变量偏移量为0的地址处//2、其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处//对齐数=编译器默认的一个对齐数与该成员大小的较小值,VS默认是8//3、结构体总大小为最大对齐数(每个成员变量都有一个对齐数)的整数倍//4、如

2021-04-14 21:58:43 59

原创 C语言学习笔记28

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <string.h>#include <assert.h>int main(){ char arr1[30] = "hello"; char arr2[] = " world"; strcat(arr1, arr2); //从前一个字符串中的第一个'\0'开始追加,覆盖掉'\0' printf("%s\n", arr1); retu

2021-04-08 21:55:42 55

原创 C语言学习笔记27

#define _CRT_NO_SECURE_WARNINGS#include <stdio.h>//将一组数奇数放前面,偶数放后面void print(int arr[], int sz){ int i = 0; for (i = 0; i < sz; i++) { printf("%d ", arr[i]); } printf("\n");}void move(int arr[], int sz){ int left = 0; int right =

2021-04-06 21:32:49 56

原创 C语言学习笔记26

#define _CRT_NO_SECURE_WARNINGS#include <stdio.h>#include <string.h>#include <assert.h>#include <math.h>int main(){ unsigned long pulArray[] = { 6,7,8,9,10 }; unsigned long* pulPtr; pulPtr = pulArray; *(pulPtr + 3) += 3;

2021-04-05 21:15:17 182 2

原创 C语言学习笔记25

#define _CRT_NO_SECURE_WARNINGS#include <stdio.h>int main(){ int a[5] = { 1,2,3,4,5 }; int *ptr = (int*)(&a + 1); printf("%d %d\n", *(a + 1), *(ptr - 1)); return 0;}//2,5//假设p的值为0x100000,如下表达式的值分别为多少//已知,结构体Test类型的变量大小是20字节struct T

2021-04-01 22:31:06 105

原创 C语言学习笔记24

#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <string.h>int main(){ //数组名是首元素地址,除了: //1、sizeof(数组名) - 数组名表示整个数组 //2、&数组名 - 数组名表示整个数组 //一维整型数组 int a[] = { 1,2,3,4 }; printf("%d\n", sizeof(a)); //16 - sizeof(数组名) - 计算的

2021-03-29 22:34:16 47

原创 C语言学习笔记23

#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>int Add(int x, int y){ return x + y;}int Sub(int x, int y){ return x - y;}int Mul(int x, int y){ return x * y;}int Div(int x, int y){ return x / y;}void Calc(int (*pf)(int, int))

2021-03-20 00:20:38 76

原创 C语言学习笔记22

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>void print1(int arr[3][5], int x, int y){ int i = 0; int j = 0; for (i = 0; i < x; i++) { for (j = 0; j < y; j++) { printf("%d ", arr[i][j]); } printf("\n"); }}void prin

2021-03-11 22:09:37 68 1

原创 C语言学习笔记21

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <string.h>int main(){ char a[1000]; int i = 0; for (i = 0; i < 1000; i++) { a[i] = -1 - i; } printf("%d\n", strlen(a)); //其实是顺着圆圈逆时针走,一直走到0(\0) unsigned char i = 0;

2021-03-09 21:54:26 87

原创 HANDLE 和 COORD

一、HANDLE1、调用Windows应用时产生2、一种指向指针的指针,存储在windows特殊开辟的内存中,结束应用时释放3、用于标识诸如应用程序实例,窗口,控制,位图 ,GDI对象等等4、句柄地址(稳定)—>对象在内存中的地址(不稳定)—>对象参考:https://www.cnblogs.com/Bryantly2rase/p/4671147.html二、COORD是Windows API中定义的一种结构,表示一个字符在控制台屏幕上的坐标。其定义为:typedef stru

2021-03-04 14:38:41 370 1

原创 什么是Windows API

Windows 这个多作业系统除了协调应用程序的执行、分配内存、管理资源之外,它同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务就是一个函数),可以帮应用程式达到开启视窗、描绘图形、使用周边设备等目的,由于这些函数服务的对象是应用程序(Application),所以便称之为 Application Programming Interface,简称 API 函数。WIN32 API也就是Microsoft Windows 32位平台的应用程序编程接口。来源:https://baike..

2021-03-04 14:29:30 546 1

原创 如何在标准C中使用getch()和kbhit()

最近在用C写贪吃蛇小游戏时,发现getch()和kbhit()需要调用头文件conio.h,然而在标准C的.文件中无法调用conio.h,这个头文件似乎是C++库中的但是同时包含以下三个头文件后便可以使用#include <stdio.h>#include <stdlib.h>#include <time.h>...

2021-03-03 22:47:25 271 1

原创 C语言学习笔记20

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>//描述一个学生,名字,年龄,电话,性别struct Stu{ //struct - 结构体关键字,Stu - 结构体标签,struct Stu - 结构体类型 //成员变量 char name[20]; short age; char tele[12]; char sex[5];}s1, s2, s3; //是三个全局的结构体变量typedef stru

2021-03-02 21:12:38 74

原创 C语言学习笔记19

#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h>#include <stdlib.h>int count_bit_one(unsigned int a){ int count_f = 0; while (a) { a = (a - 1) & a; count_f++; } return count_f;}int count_diff_bit(unsigned a, unsigned b)

2021-03-01 21:22:33 46

原创 C语言学习笔记18

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int i; //全局变量不初始化,默认是0int main(){ i--; if(i > sizeof(i)) //sizeof默认返回无符号数,与整型计算时,会先把整型转化为无符号数 { printf(">\n"); } else { printf("<\n"); } return 0;} //结果是 >int main()

2021-02-26 23:19:15 41

原创 C语言学习笔记17

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){ int a = 0x11223344; int* pa = &a; char* pc = &a; //虽然不同指针类型都是4个字节,但具有不同的意义 //指针类型决定了指针进行解引用操作的时候能够访问的空间的大小 //指针类型决定了指针走一步有多长(指针的步长) printf("%p\n", pa); //001CF9F0(仅表示地址

2021-02-24 23:13:59 93

原创 C语言整型提升

//整型提升:C的整型算术运算总是至少以缺省整型类型的精度来进行的//为了获得这个精度,表达式中的字符和短整型操作数在使用之前被转换为普通整型//表达式的整型运算要在CPU的相应运算器件内执行,CPU内整型运算器ALU的操作数字节长度一般就是int字节长度,同时也是CPU的通用寄存器的长度//因此,即使两个char类型的相加,在CPU执行时实际上也要先转换为CPU内整型操作数的标准长度//通用CPU(general-purpose CPU)是难以直接实现两个8个比特字节直接相加运算的(虽然机器指令中

2021-02-24 13:40:03 208

原创 C语言学习笔记16

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){ //求一个整数存储在内存中的二进制中1的个数 int num = 0; int count = 0; scanf("%d", &num); //第一种写法 //统计num的补码中有几个1 while (num) { if (num % 2 == 1) { count++; num = num / 2; } els

2021-02-23 21:51:57 84

原创 C语言学习笔记15

扫雷小游戏1、头文件#ifndef _GAME2_H_#define _GAME2_H_#define ROW 9#define COL 9#define ROWS ROW+2#define COLS COL+2#define EASY_COUNT 10#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>void InitBoard(char

2021-02-21 21:25:54 101 1

原创 C语言学习笔记14

三子棋游戏1、头文件game.h#define ROW 3#define COL 3#include <stdio.h>#include <stdlib.h>#include <time.h>void InitBoard(char board[ROW][COL], int row, int col);void DisplayBoard(char borad[ROW][COL], int row, int col);void PlayerMove(ch

2021-02-20 22:56:43 130 1

原创 C语言学习笔记13

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <string.h>void bubble_sort(int arr[],int sz){ int i = 0; for (i = 0; i < sz - 1; i++) { int j = 0; int flag = 1; for (j = 0; j < sz - 1 - i; j++) { if (arr[j]

2021-02-19 22:10:09 126

原创 C语言学习笔记12

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>void print(int n) //将输入数字的每一位打印出来{ if (n > 9) //无条件递归会陷入死循环 { print(n / 10); } printf("%d\n", n % 10);}int my_strlen(char* str){ if (*str != '\0') { return 1 + my_strlen(str +

2021-02-17 22:40:36 70

原创 C语言自定义函数的实现

1、函数的声明在头文件中实现#ifndef __ADD_H__ //if not define 如果没有定义,防止同一个头文件被重复引用多次#define __ADD_H__ //定义一下//函数的声明int Add(int x, int y);#endif2、函数的定义在另一个.c文件中写函数内容#define _CRT_SECURE_NO_WARNINGS 1int Add(int x, int y){ int z = x + y; return z;}3、函数的调

2021-02-17 14:47:19 499

原创 C语言学习笔记11

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <stdlib.h>void Swap(int* pa, int* pb) //函数本身的形参可以接受外部变量的值,但会使用另外的地址存储{ //只有通过指针型变量可以将外部的变量的地址与函数形参联系起来 int tmp = 0; tmp = *pa; *pa = *pb; *pb = tmp;}int main(){

2021-02-16 20:09:06 60

原创 C语言学习笔记10

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <stdlib.h>#include <time.h>void menu(){ printf("****************************\n"); printf("******1、play 0、exit*****\n"); printf("****************************\n");}vo

2021-02-15 16:32:49 90 1

原创 C语言学习笔记09

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <windows.h>#include <stdlib.h>int main(){ int arr[] = { 1,2,3,4,5,6,7,8,9,10 }; int k = 7; //写一个代码,在arr数组(有序的)中找到7 int i = 0; int sz = sizeof(arr) / sizeof(arr[0]);

2021-02-11 15:58:56 1141 3

原创 C语言学习笔记08

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){ int k = 0; for (k = 1; k <= 10; k++) //(初始化;判断;调整) { printf("%d ", k); } for (;;) //三个表达式尽量不要省略,尤其是for之间嵌套 { printf("hehe\n"); } //for的第一个变种 int i = 0; int j = 0;

2021-02-09 20:50:24 87

原创 STEP 7-MicroWIN SMART出现在任务管理器中却无法运行的解决方法

WIN10系统下安装STEP 7-MicroWIN,SMART软件在任务管理器中出现进程,却无法打开,也无任何报错。没有报任何错误说明软件安装正确,系统兼容性也没有问题,这是因为程序中有重复进程冲突,在任务管理器中将图上进程全部关闭,然后在任务管理器顶端选项卡选择“详细信息”找到commL8Host.exe进程全部关闭,再次打开STEP 7-MicroWIN SMART即可...

2021-02-09 18:14:08 3888

原创 C语言学习笔记07

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <string.h>int main(){ int ch = 0; while ((ch = getchar()) != EOF) //ctrl + z 可以停止getchar输入 { //EOF - end of file 值为-1 putchar(ch); } int ch = 0; int ret = 0;

2021-02-08 21:08:31 108

原创 C语言学习笔记06

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <string.h>int main(){ ; //是语句,空语句 //例如一个关系表达式:18<= age <28,这么写是错误的,因为会先执行前半段,输出结果为1或0,再执行后半段 1或0<28 的运算 //判断一个数是否为奇数 int a = 0; int b = 0; printf("判断一个数是否为奇数\n"

2021-02-08 21:07:56 78 1

原创 scanf函数中参数是否需要&取地址符号

scanf函数中参数是否需要&取地址符号scanf函数参数不一定要加&:(1)当scanf函数后面接收的是一个地址的时候,不需要加&int main(){char arr[10];scanf("%s",arr);printf("%s",arr); //由于arr本身就是这个数组的地址,所以前面不需要加取地址符&}(2)当scanf函数后面接收的不是一个地址的时候,需要加&int main(){int a;scanf("%d",&a);

2021-02-06 21:30:34 18255

原创 C语言学习笔记05

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> #include <string.h>int main(){ int a = 10; int* p; //有一种变量是用来存放地址的 - 指针变量,它的数据类型是int* p = &a; //取地址 printf("%p\n", &a); printf("%p\n",p); //p的值是a所在的地址 *p = 20; //解引用操作符

2021-02-05 21:47:31 55

原创 DOS指令学习笔记01

1、del /f /s /q 文件夹地址 // %systemdrive%*.tmp或C:\Recycled,路径使用反斜杠命令中空格需要用""括进2、echo 显示的内容可以打印内容在中@echo off //消除每一行回显 C:\Users\j1561>echo off //消除本行之外的回显 C:\Users\j1561>echo …echo … echo …pause //输出“请按任意键继续”3、shutdown /s /t /

2021-02-05 19:58:05 90

空空如也

空空如也

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

TA关注的人

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