C语言(初)

环境

  CentOS7  
  vmplayer版本(因为免费)

软件

  gcc  (进行编译程序)
  安装: 使用 yum install gcc -y 即可

流程

  使用vim创建一个.C文件 
  vim hello.c
  在里面和在windows平台一样的编辑方法

  #include <stdio.h>

  int main(void)
  {
      printf("Hello World!");
      return 0;
  }

  开始对该文件进行编译 gcc hello.c -o hello.out  生成一个 hello.out 文件

  运行该文件 ./hello.out 即可在控制台输出语句。

  疑惑点解释:
  #include        预处理器指令,此处引用了stdio.h

  main            主函数,程序第一个调用的函数

  printf          格式化输出信息

  return 0        表示正常退出程序

  #include <stdio.h> 为什么用双箭头而不是“”, <> 和 “” 有什么区别吗?
        <> 这个是从系统寻找该文件
        “” 这个一般是自己编写的文件

  gcc hello.c -o hello.out 是什么意思?
        -o 是指重新命名了输出文件,不写则默认输出 a.out

  ./hello.out 的 ./ 是什么意思?
        ./ 是执行该程序的意思。

扩展:

  **#include    预处理器指令**
        预处理器发现#include指令后就会去寻找#include <> 或者 #include ""里的文件名

        #include <> 引用的是编译器的的类库路径里的文件

        这个路径在我们编译器安装时候就设定了。比如这个设定在

        C:Program Files (x86)Microsoft Visual Studio2017CommunityVCToolsMSVC14.14.26428include

        编译器就会在这个目录下面寻找,比如我#include <stdio.h>他就会在这个目录下面进行寻找stdio.h文件,如果没有这个stdio.h文件,编译器就会报错。

        #include "" 引用的是你当前程序目录下面相对的文件

  **main(主函数)只有两种定义方法是正确的**
        第一种    int main(void)    这种是最常见的

        第二种    int main(int argc, char *argv[])    这种是命令行参数所使用到的

  **argc表示命令行参数的个数**

        argv表示命令行参数的字符串指针

        (其中argv[0]表示程序全名,比如:当前项目在F:/Project/下面,则argv[0]表示F:/Project/xxx(xxx为项目名称))

 ** main(主函数)返回值    return 0;**
        main(主函数)的返回值表示程序是否正常退出程序,因为在main(主函数)调用完成后会调用exit(ret),ret表示main(主函数)的返回值。exit函数是用来终止当前进程(当前程序),exit(0)表示正常退出,exit(非0)表示异常结束。

  **printf    格式化输出信息**
        printf是stdio.h里面的一个函数,只有引用了stdio.h才能使用,当前printf是在控制台上格式输出一条信息,当前输出的内容是HelloWorld!,所以在控制台能看到一条HelloWorld!语句。

————————————————
版权声明:本文为CSDN博主「yoohm」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_34260368/java/article/details/78188153

原文地址:https://www.cnblogs.com/loveyoul9/p/13290682.html