- 博客(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
706
原创 用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
3845
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
96
原创 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
74
原创 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
102
原创 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
59
原创 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
84
原创 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
81
原创 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
79
原创 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
278
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
140
原创 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
71
原创 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
97
原创 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
91
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
106
原创 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
445
1
原创 什么是Windows API
Windows 这个多作业系统除了协调应用程序的执行、分配内存、管理资源之外,它同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务就是一个函数),可以帮应用程式达到开启视窗、描绘图形、使用周边设备等目的,由于这些函数服务的对象是应用程序(Application),所以便称之为 Application Programming Interface,简称 API 函数。WIN32 API也就是Microsoft Windows 32位平台的应用程序编程接口。来源:https://baike..
2021-03-04 14:29:30
630
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
336
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
97
原创 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
65
原创 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
76
原创 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
120
原创 C语言整型提升
//整型提升:C的整型算术运算总是至少以缺省整型类型的精度来进行的//为了获得这个精度,表达式中的字符和短整型操作数在使用之前被转换为普通整型//表达式的整型运算要在CPU的相应运算器件内执行,CPU内整型运算器ALU的操作数字节长度一般就是int字节长度,同时也是CPU的通用寄存器的长度//因此,即使两个char类型的相加,在CPU执行时实际上也要先转换为CPU内整型操作数的标准长度//通用CPU(general-purpose CPU)是难以直接实现两个8个比特字节直接相加运算的(虽然机器指令中
2021-02-24 13:40:03
273
原创 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
114
原创 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
144
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
171
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
173
原创 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
96
原创 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
570
原创 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
76
原创 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
131
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
1210
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
106
原创 STEP 7-MicroWIN SMART出现在任务管理器中却无法运行的解决方法
WIN10系统下安装STEP 7-MicroWIN,SMART软件在任务管理器中出现进程,却无法打开,也无任何报错。没有报任何错误说明软件安装正确,系统兼容性也没有问题,这是因为程序中有重复进程冲突,在任务管理器中将图上进程全部关闭,然后在任务管理器顶端选项卡选择“详细信息”找到commL8Host.exe进程全部关闭,再次打开STEP 7-MicroWIN SMART即可...
2021-02-09 18:14:08
4808
原创 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
140
原创 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
106
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
19342
原创 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
72
原创 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
112
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人