zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    php分页类 (来源网络)
    symfony2 symofny3中得到get post session cookies的方法
    symfony route参数
    Symfony2同步数据库的数据表
    mysql中SQL执行过程详解与用于预处理语句的SQL语法
    使用MySQL命令行新建用户并授予权限的方法
    抽象类和接口的区别
    Yaf 使用遇到的坑
    Mysql 常用引擎的特点及选择使用策略
    定时任务 Crontab命令 详解
  • 原文地址:https://www.cnblogs.com/loveyoul9/p/13290682.html
Copyright © 2011-2022 走看看