C语言mooc
整理各类基础知识点
朝歌夜弦,为秦宫人
这个作者很懒,什么都没留下…
展开
-
dev_c++安装指南&Windows下mp3音乐加入指南
1.点击安装包2.安装界面出现后点击ok3.然后狂点I Agree与之后出现在相同位置的Next4.Finish原创 2021-12-20 20:39:06 · 1940 阅读 · 2 评论 -
使用freopen进行文件读入的基操
1.在文件中写下相关代码注意2.在C程序的同一文件夹内创建原创 2021-12-15 17:50:36 · 310 阅读 · 0 评论 -
2021-12-13队列与栈
1.队列1.循环队列2.删除操作循环计算:按照循序依次出队,不删除的重新进入队尾,删除的数直接出去,不再进入队尾指针版2.栈原创 2021-12-13 11:25:26 · 59 阅读 · 0 评论 -
2021-12-06动态数据结构——链表
1.链表的定义指针变量占内存的字节数与其基类型无关要设置指针head作为链表的起始值,用NULL作为末尾指针(初始化值)malloc的使用判断申请空间是否成功:if(p=NULL){}free( p )释放内存空间单向链表应用排序{交换内容,修改next指针}2.双向链表双向循环链表单循环链表应用:约瑟夫问题(循环报数)动态单循环链表版如果申请不成功,则释放内存p1是头结点(即只申请了一个指针空间):只用释放这一点的内存如果不是:则释放(head,i.原创 2021-12-06 11:32:05 · 57 阅读 · 0 评论 -
一些奇奇怪怪的东西
原创 2021-11-29 11:41:18 · 145 阅读 · 0 评论 -
小游戏的代码学习
1.flappy bird用双缓存技术降低屏闪原创 2021-11-29 11:32:23 · 2759 阅读 · 0 评论 -
2021/11/29结构体排序与查找,稀疏矩阵的转置
结构体排序与查找1.不可返回定义在函数内的(结构体)指针,(返回地址在函数退出时被释放),就直接将指针传成参数,用void函数带回去//请将下面结构体定义自动替换成结构体指针定义(那么该代码即为错误函数)2.结构体指针食用指南3.gets使用前,一定要清空scanf缓存区域稀疏矩阵...原创 2021-11-29 10:42:33 · 139 阅读 · 0 评论 -
2021/11/22 结构体与共用体
1.typedef 定义别名typedef struct //此处可省略 { int a,b,c;}node;node vivi[100];2.可以结构体套结构体3.结构体初始化结构体赋值1.结构体字符串赋值(非初始化)2.只有相同类型才能进行交换3.可以通过结构体达到一个数组直接赋值给另一个数组5.结构体指针->:优先级别最高之一显然,结构体数组指针6.共用体增设标记,记录当前共用体在哪一个变量解决同一数据既有.原创 2021-11-22 11:00:27 · 57 阅读 · 0 评论 -
程序优化与数组指针
int *p;int (*p)[N]//行指针a[i] <-> *(a+i)&a[i] <-> a+ia[i][j]<-> * (a[i]+j)<-> * ( *(a+i)+j)原创 2021-11-22 10:05:42 · 199 阅读 · 0 评论 -
2021-11-02字符串处理(字符指针)
原创 2021-11-02 21:00:39 · 56 阅读 · 0 评论 -
Lsylzx.sse
穷举1.m-n之间的素数和#include<stdio.h>#include<math.h>#define re returnunsigned int InputNumber(char ch){ printf("Please input the number %c(>1):",ch); int x; while(scanf("%d",&x)!=1||x<=1) { char c; while((c=getchar())!=EOF&原创 2021-10-28 15:43:41 · 163 阅读 · 0 评论 -
2021-10-27指针
1.指针是一种数据类型指针不是地址,指针变量可以存储地址1.定义并初始化;int *pa;pa=&a;//或者int *pa=&a!!!定义指针如果暂时不初始化就指向NULL但不同编译器下NULL不一样,可以跳到stdio.h观察int *pa=NULL;2.在32位机上保存32位地址需要4个字节(无论指向什么类型)即指针占内存空间的字节数与指针的基类型无关3.指针加1看基类型增加几个字节2.间接寻址运算符*——指针的解引用解引用空指针->程序崩.原创 2021-10-27 15:13:22 · 143 阅读 · 0 评论 -
scanf的特殊读入技巧
读入特殊字符后停止读入原创 2021-10-26 21:37:55 · 111 阅读 · 0 评论 -
2021-10-26 map的字符串数组的映射
map<string,int>c;c["vivi"]=1;c["LZX"]=2;char str[105];scanf("%s",str);printf("%d",c[str]);原创 2021-10-26 20:16:39 · 157 阅读 · 0 评论 -
2021-10-25排序与查找
1.二分查找修改计算中间值的方法,防止溢出\{ mid=(l+r)>>1; 改为 mid=l+(r-l)>>1;}原创 2021-10-25 11:27:26 · 41 阅读 · 0 评论 -
2021-10-18 数组
1.数组的初始化1.地址:数组名——一维数组的首地址数组下标——数组元素相对于首地址的偏移量二位数组首地址——&a[0][0]a[i][j]相对于首地址的偏移量 i*列的总数+j(有0行0列)2.静态数组与全局数组初始化为0;3.a[][4]代表含义:按每四列一行自动划分a[][4]={1,3,4,2,5,5,8,2,55}but a[4][]={```}无意义4.C语言按行存储!!!5.数组在函数中的传递:void vivi(int a[],int x,float .原创 2021-10-18 11:23:02 · 126 阅读 · 0 评论 -
2021-10-13递归
1.变量1.动态变量(缺省变量)auto2.静态变量 static:静态局部变量3.外部变量 extern:即全局变量,静态存储区域分配,初始化为04.register (无需特别说明,编译器自动带入):速度极快2.多个文件共享函数3计算最大公约数1.穷举2.欧几里得:辗转相除法int gcd(int a,int b){ return ((!b)?a:gcd(b,a%b));}3.迭代4.更相减损术(用减法替代欧几里得法中的取余)不稳定,可能很快,可能很慢.原创 2021-10-13 15:41:45 · 43 阅读 · 0 评论 -
2021-10-11穷举与递推
1.求平方根的代码{ double r=1; while(fabs(r*r*-x)>EPS;//EPS=e-4 { r=(r+x/r)/2; }}2.优化代码(剪枝)快速幂ll pow_function(ll x,ll n)//快速幂 { ll ans=1,a=x; while(n) { if(n&1)ans*=a; a*=a; n>>=1; } return ans;}4.飞机大战#include<bi.原创 2021-10-11 11:42:29 · 70 阅读 · 0 评论 -
2021-10-04函数与模块化编程
1.插入第三方库函数2.使用bool 要使用头文件#include<stdbool.h>3.随机种子srand(time(NULL))1.rand()要使用 #include<stdlib.h>2.time()要调用#include<time.h>#include<stdio.h>#include<stdlib.h>#include<time.h>#define re returnint main(.原创 2021-10-04 11:42:58 · 143 阅读 · 0 评论 -
第三讲 程序设计与程序调试(20210927)
注意1 . 三目运算符(条件运算符max=(a>b?a:b);2.do- while()要加;do{}while();3.pow函数返回类型是double;=>快速幂或直接累乘1.scanf 读入while(scanf("%d,%d",&a,&b)==2)//持续读入文件{}1.scanf返回值为输入个数2.持续读入文件:while (()!=EOF)3.重新输入,清空输入缓存区不能没输入之前就清缓存:会吞第一句屏幕上的语句(..原创 2021-09-27 11:37:06 · 70 阅读 · 0 评论 -
数值进度损失
1.两个实数不能直接比较相等,仅能近似比较相等,限制误差小于规定值各编译器下实数有效位数是不一样的float有效位数为6-7位double有效位数为16位每一个二进制小数都有十进制小数对应,每一个十进制小数不一定有二进制小数对应:因为二进制对应的十进制小数之间是不连续的,有一定间隔3.两个数量级相差很大的浮点数做加减运算时,数值小的数会受到浮点数精度限制而被忽略...原创 2021-09-20 21:21:07 · 78 阅读 · 0 评论 -
探究数据溢出
1.switch(变量名)int ,char型{case 常量1: ; ;break;case 常量2: ; ;break;default: ;braek;}2.整数溢出将字符长度8位的变量转给4位时,4位变量自动截取8位的后4位原创 2021-09-20 20:43:23 · 46 阅读 · 0 评论 -
互不侵犯的king
第二次做这道题,感觉思路清晰了很多~题目描述在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。输入格式:只有一行,包含两个数N,K ( 1 <=N <=9, 0 <= K <= N * N)输出格式:所得的方案数样例输入 3 2输出 16...原创 2019-01-21 11:59:05 · 180 阅读 · 1 评论