目录
windows批处理.bat,windows脚本代码,可以直接执行
C语言首先要定义入口函数,编译器才能知道把那个函数作为第一个执行的函数
入口函数
程序启动的过程
- 操作系统创建一个进程 ------> 我们创建运行的项目
- 把.exe文件里的二进制加载到进程的代码段 ------> .exe是编译得到的,且文件是只读的,保证程序运行的安全
- 找到代码的入口指令
- 开始一条一条的执行指令
- 执行结束以后,进程也结束了
windows批处理.bat,windows脚本代码,可以直接执行
- 批处理启动程序
- 可以是 .exe 参数1 参数2 ------> 图片查看器就是点击图片,找到程序,输入图片的路径
C语言首先要定义入口函数,编译器才能知道把那个函数作为第一个执行的函数
- int main(int argc,char** argv)
- argc:启动参数的个数 argv:启动参数的字符串数组 ------> 传几个参数,就是几串文字
printf函数
- 格式化输出函数
- %d, %s, %f, %c, %04, %x(十六进制)等 ------> %04d是确定数据的位数如:0001、0002
windows程序第一个入口
- startup函数,固定的去调main函数 ------> 如果没有main,会提示链接错误
- 每个操作系统的入口函数是不一样的,但都会调用main函数 ------> 一般把main作为入口函数,C标准
函数解析
// int: 返回值,返回给操作系统的一个值;
// main函数的整数返回值:正常返回0,
// 如果是异常返回,我们会用负数表示;
// main: 函数的名称,默认为C语言的第一个入口函数;
// (argc, argv): 函数的参数
// argc:是argument count的缩写参数的个数,操作系统传给我们的参数的个数
// argv: 操作系统传给我们的参数的字符串数组
// 默认会传递这个可执行文件的名称
// 还可以接收其他的参数 --> (一串文字)(字符串)
// 例如:双击启动一个图片浏览器程序
// C语言的标准就是从main入口开始的;
int main(int argc, char** argv) {
// int main2(int argc, char* argv[]) {
// 打印参数
/*printf("===========\n");
printf("argc = %d\n", argc);
for (int i = 0; i < argc; i++) {
printf("argv[%d] = %s\n", i, argv[i]);
}
printf("===========\n");*/
// end
// C语言会有一个叫做C库函数库,是每个C编译器都会自带C库;
// 编译C库代码,集成到我们的编译器
// C库的打印输出函数,会把我们的信息输出到控制台程序;
// F12是跳到函数的定义
// 链接的时候再到C库里找到printf的二进制,链接到我们的可执行文件;
// C语言每一个语句都要以分号结尾
printf("Hello World!!!\n");
// 格式化输出
printf("%d\n", 4); // 4\n
printf("%s\n", "helloworld!!!");
printf("%f\n", 3.5);
printf("%c\n", 65); // 65-->A-->%c
printf("%d\n", 3);
printf("%04d\n", 3); // 03
printf("0x%x\n", 16); // 16进制的数
// end
// 格式化输出;
// xxxx今年 x 岁了, x月x日生日, 恭喜!!!!
printf("%s今年 %d 岁了, %d月%d日生日, 恭喜!!!!\n", "小明", 10, 10, 1);
printf("%s今年 %d 岁了, %d月%d日生日, 恭喜!!!!\n", "小红", 10, 10, 5);
// 暂停等待一下,看到我们的输出,请按任意键结束!!!
system("pause");
return 0; // 程序正常返回;
}