1、cd 某个路径进不去:
先cd这个路径,再cd这个路径的盘符;
eg:cd D:\1\2\3
进不去,紧接着就写 cd D:
就可以进去了
2、同步VS异步问题:
2.1、简单理解下,同步就相当于你只有一只手,拿勺子就不能拿筷子、洗锅就不能择菜;异步就相当于你有N只手,第一只拿勺子、第二只拿筷子、第三只···;
2.2、so 如果想写个死循环的话,同步是不阔以滴,因为你想每2秒在后台开一个记事本,妄图卡死对方;但是由于同步,你不把第一个记事本关闭就无法打开第二个记事本,所以一定要异步的写才能成功实现自己的小叵测;
2.3、eg下面这个就是不行滴:
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
void main()
{
while(1)
{
system("notepad");//打开记事本
Sleep(2000);//等待2秒
system(taskkill -f -im notepad.exe);//关闭记事本
}
}
需要修改“打开记事本”这一行,将其中“打开记事本”一行改为:
system("start notepad");//打开记事本
这样就同步变异步啦啦啦~(≧▽≦)/~
2.4、其中,对于如上图所示的代码,也可以将他们进行封装,分为“打开”、“等待”、“关闭”三个步骤的循环;
2.5、再其中,我们还可以输入想让其等待的秒数来让他按我们自己的节奏倒计时关闭:
int num = 100;//接受输入秒数的参数,赋初值
printf(“请输入你想等待的秒数:”);
scanf(“%d”,&num);//接受输入的秒数
i = 1;
while(i < num)
{
Sleep(1000);
i++;
printf("%d",i);//1234```一直输入到设定的秒数
}
2.6、再再其中,while(n),只要n不等于0,都可以循环起来,均为真;
2.7、再再再其中,同步异步之间切换也可以酱紫:
#define (报错里面的安全问题)
ShellExecuteA(0,"open","notepad",0,0,1);
第一个0:谁打开的?系统;
最后一个1:打开状态?隐藏-0,正常-1,最大化-3,最小化-6;
3、作死死循环卡死自己大全:
3.1、无限循环while(),同2
3.2、无限循环main():
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
void main()
{
system("notepad");//打开记事本
main();
}
4、预处理优先于编译,所以就叫预编译;
5、C语言本身没有输入输出;
6、算法+数据结构=程序:
6.1、算法相当于每个步骤的顺序;而数据结构相当于calc、echo、hello之类的实际内容;
6.2、而且程序要保证模块化和结构化:
模块化:open(),sleep(),close();
结构化:自顶向下结构化,实现逻辑与结构的分离,防止代码臃肿;
逻辑——接口1
|
接口2
7、预编译——编译——链接:
gcc -E a.c 预编译:相当于将所有include的文件全部导入a.c中,如果此时对a.c另存为,即写成gcc -E b.c a.c,那么就会发现b.c中比a.c多了好多内容,而这些内容正是a.c包含的头文件的内容(将即将要呼叫的妖妖灵片警们的电话存入手机);
gcc -S a.c 生成汇编语言 && gcc -c a.c 翻译成二进制:汇编过程,相当于对a.c,第一步生成.s文件,第二步生成.o文件(obj)(打给要呼叫的妖妖灵片警们);
gcc -o a.c 链接:加载要用到的实体函数(刚才打过电话的妖妖灵出现场执行公务1);
8、