一、main()函数种类:main函数标准类型
无参:int main(void) { return 0; }
有参:int main(int argc, *argv[]) { return 0; }
main()函数其他基本类型
//都能正常运行,但是不是main()的标准语句
void main(int argc, char *argv[]); void main(void); int main(); int main(void); main(); main(int argc, *argv[]); |
二、gcc编译四步骤
源文件
|
参数:-E 生成的文件:hello.i 预处理文件 使用命令:gcc -E hello.c -o hello.i 工具:预处理器(包含在gcc编译集合工具中) 完成的工作:1、头文件展开—展开stdio.h文件内容和源码在一起,放在hello.i中。并且不检测语法错误,可以在任何阶段展开文件。 |
#include <stdio.h> //宏定义 #define PI 23.123 int main(void) { printf("Hello! My programmer C++ \n"); //使用宏 printf("PI = %f\n", PI); return 0; } |
将宏名,替换成宏值。#define PI 23.123 (define:创建宏,PI:宏名,23.123:宏值 ) |
替换注解:把注解替换成空行 |
#include <stdio.h> //宏定义 #define PI 23.123 //定义与否,直接决定了下面的-------longcm是否打印 int main(void) { printf("Hello! My programmer C++ \n"); //使用条件编译命令是,如果定义PI,那么就打印---------longcm,是否不打印 #ifdef PI printf("-----------longcm\n"); #endif return 0; } |
参数:——S 生成的文件:gcc -S hello.i -o hello.s 工具:编译器(包含在gcc 编译集合工具中) 完成的工作:1、逐行检查语句错误。(重点)——编译过程整个gcc编译四步骤中,最耗时。2、将c程序翻译成汇编指令,得到 .S 汇编文件 |
参数:——c 生成的文件:hello.o 目标文件 使用命令:gcc -c hello.s -o hell.o 工具:编译器 完成的工作:翻译将汇编指令翻译成对应的二进制指令 |
参数:——无 生成的文件:hello.exe可执行文件 使用命令:gcc -c hello.o -o hell.exe 工具:链接器 完成的工作:库引入、合并多目标文件、合并启动例程 |
printf格式化输出in |
#define PI 23.123
int main(void)
{
int a = 20;
printf("%d\n",a);//%d格式匹配符,匹配整数
printf("a= %d\n", a);
printf("PI =%f\n", PI);
printf("%f\n", 23.12343);
int b = 30;
printf("%d + %d =%d\n", a,b , a + b);
printf("%d + %d \n", 5,8, 7 + 8 );
return 0;
}