• iOS_02_第一个C语言程序(理解编译、连接、运行)


    一、开发工具的选择

      1、 可以用来写代码的工具:记事本、ULtraEdit、Vim、Xcode等。

      2、 选择XCode的原因:苹果公司官方提供的开发利器、简化开发的工程、有高亮显示功能。

      3、 使用XCode新建一个C程序的源代码文件(扩展名为.c或者.C)

        # 开发XCode

        # 新建文件

        # 选择文件类型 .c

    二、代码编写

      1、程序结构

        * C程序的结构:由函数组成  

          # 任何一个C语言程序都市有一个或者多个程序段(小程序)构成的,每个程序段都有自己的功能,我们一般称这些程序段为“函数”。所以,你可以说C语言程序是由函数构成的。

        * 函数的概念

          # 函数名: 一个程序中由无数个函数组成,每个函数都有自己的名称。

          # 调用(执行)函数:根据函数名酒可以调用对应的函数,执行相应的功能。

        * C程序的入口

          # C程序的入口是一个名字叫做main的函数,简称main函数。

          # 不管整个程序中又多少个函数,都是先执行main函数。

      2、编程程序

        * 编写main函数(大括号{}中得内容是函数体)

        #include<stdio.h>

        int main()

        {

          printf("这是函数体"); // 输出字符串 调用系统函数

          return 0;

        }  

    三、编译

      1、什么是编译:将C源程序翻译成计算能识别的0和1

      2、使用什么编译器:Xcode3是用GCC,XCode4使用LLVM编译器(前端clang)

      3、如果使用clang编译程序?

        * 在终端中输入:CC -c 文件名.c。(cd进入当前目录下)

        * 编译成功,会生成.o目标文件。

      4、编译器的错误和警告功能

        * 如果嗲吗有语法问题,编译器会直接报错,并指出错误的个数和具体的行号。

        * 只要有1个错误,程序就不能编译成功,也不好生成.o文件。

        * 警告信息只是编译的一些建议,并不影响编译通过。

    四、连接

      1、连接的作用:将.o文件和C语言函数库组合在一起,生成可执行文件

      2、由连接器完成,clang编译器里面已经包含了连接指令。

        * 终端输入:cc 文件.o。

        * 连接成功,会生成a.out可执行文件。

    五、运行

      1、两种方式运行

        * 直接双击打开a.out文件。

        * 终端中使用./a.out指令。

      2、修改文件内容之后,一定要重新编译、连接、再运行。

      3、 的作用:回车换行。

    六、其他clang指令

      1、刘改可执行文件名称:cc  xx.o   -o   文件名

      2、一起编译、连接:cc   xxx.c

    七、初学者常见错误

      1、不写分号、用了中文分号

      2、字符串少了双引号、或者用了单引号,双引号里面又又双引号

      3、代码没有写在main函数内部、return之前

      4、文件扩展名不是.c 或者.C,比如.txt

      5、用绝对路径编译文件,注意目标文件生成的地方。

    八、总结

      1、整个程序的运行过程

        * 编写程序 -> 源代码-> 编译 -> 目标代码 -> 连接(c语言函数库)-> 可执行的机器代码 -> 运行

      2、总结常见文件的扩展名

        * .c是C语言源文件,在编写代码的时候创建

        * .o是目标文件,在编译成功的时候产生。

        * .out是可执行文件,在连接成功的时候产生。

      3、总结clang指令

        * 编译:cc -c   xx.c

        * 连接: cc xxx.o

        * 编译、连接:cc xxx.c

        * 运行可执行文件: ./a.out

        * 更改可执行文件的名称:cc xxx.o -o xxx

      4、开发中会遇到哪些错误?如果解决?

        * 语法错误,可以通过编译器的报错信息解决

        * 逻辑错误,需要内心调试程序

      5、学习建议

        * 学编程并不是学英文

        * 程序的可读性(非常重要)

        * 初学者不要过于寻根问底

    九、例子

      1、用二种不同的代码方式输出下面图案

        ************

        ****8888****

        ************

     

    #include <stdio.h>

     int main()

    {

     

        printf("************ ****8888**** ************ ");

     

        return 0;

     

    }

    #include <stdio.h>

     int main()

    {

        printf("************ ");

        printf("****8888**** ");

        printf("************ ");

        return 0;

    }

  • 相关阅读:
    windows权限维持之注册表
    mstsc痕迹清理
    内网常用爆破手法
    RDP攻击&防御
    Java SPI 机制
    mysqldump 数据库备份
    Redis分布式锁
    Seata分布式事务中间件学习和实践
    pytube
    idea github登录
  • 原文地址:https://www.cnblogs.com/-ljj/p/3709773.html
Copyright © 2020-2023  润新知