了解:
1、iOS开发,使用Mac平台下的Xcode搭建C语言开发环境;
2、Windows环境下,下载微软的Visual C++搭建C语言开发环境;
 
(一) 创建C程序(Mac平台)
       1、打开Xcode,新建Xcode项目;
       2、选择简单的命令行项目(OS X ==>Application、选中命令行项目);
       3、输入项目信息(项目名:中文、英文均可,Type==> C);
       4、选择一个用来存放C程序代码的文件夹;
       5、运行程序(左上角运行按钮 或 command + R组合键运行);
(二) 程序代码分析:
       1、打开项目中的main.c文件:(C 程序的源文件为.c文件)
              1> #include <stdio.h>
                     ① #include 是C语言预处理指令之一,所谓预处理:就是在编译之前做的处理,预处理指令一般以#开头;
                     ② #include 后面会跟一个文件名,预处理器发现#include 指令后,就会根据文件名去查找文件,并把这个文件的内容包含到当前文件中,被包含文件中的文本将替换源文件中的#include 指令,就像你把被包含文件中的全部内容拷贝到这个#include 指令所在位置一样;
                     ③ #include 指令不仅仅限于.h头文件,它还可包含任何编译器能识别的C/C++代码文件,包括.C、.hpp、.cpp等,甚至.txt、.abc等都可以;
                     注意:若头文件为系统自带文件,使用<>,若为自己创建文件,则用"";
              2>main函数:
                     ① C中的函数即是面向对象中的方法;
                     ② C语言是一门面向过程的语言,是以过程为中心的编程思想,就是先分析出解决问题所需的步骤,然后用函数一步步实现,使用时一个个一次调用函数就可以了;
                     ③ 一个C程序中一定会有且只有一个main函数,main函数是整个C程序的入口;
                     ④ main函数的返回值为int类型,接收2个参数,参数可省略不写;
                     注意:
                     ① main函数没有写返回值类型,并不代表函数没有返回值,而是表示返回值类型为int类型,只有void才表示无返回值;
                     ② 由于C语言的语法限制不严格,可简化main函数为:(下图所示),虽然它要求main函数返回int类型的值,但可不返回;


<pre name="code" class="objc">#include <stdio.h>

int main()
{
      printf("Hello word");
}





       3>stdio.h 头文件:是C语言函数库中的一个头文件,里面指定了一些输入输出函数;


(三) 开发和运行程序的步骤


       1、编写程序:C语言原文件扩展名为".c",源文件以ASCII码形式存储,不能直接被计算机执行,因为计算机仅能识别0和1;


       2、编译:(VC环境下)(编译只会检查有没有语法错误,不会检测有没有main函数)


              1> 把C的源程序翻译成计算机可识别的二进制形式的目标代码文件,这个过程叫“编译”,由C的编译器完成;


              2> 在编译同时,还对源程序进行语法检查。若出现错误则编译失败,否则生成目标文件,且目标文件与源程序文件名一致,扩展名为".obj";


              3>每个源文件是单独编译的,若一个项目中有多个.c源文件,编译成功会生成多个对应的.obj目标。一般情况下,目标文件间是有关联的,如a.obj可能会调用b.obj中定义的函数,因此他们不能单独被计算机执行,且目标文件中并不包含程序运行所需的库函数等;


       3、链接:(VC环境下)(链接只会检查有没有错误)


              1> 将所有有关联的obj目标文件以及系统提供C库函数等组合在一起生成可执行文件的过程,称为“链接”;


              2>链接生成的可执行文件的文件名跟源程序文件同名,扩展名为“.exe”,计算机可直接执行;


       4、运行:


              1>若在Windows环境下,直接双击“.exe”文件即可运行C程序;


              2> 若在Mac OS X环境下,用Xcode创建的命令行项目运行,Mac OS X系统是基于UNIX系统的,因此生成的可执行文件;


(四) 总结:


       1、在编译器编译程序前先执行预处理指令#include指令,拷贝stdio.h的内容到源文件中;


       2、编译源程序(.c文件),生成目标文件;


              1> Mac环境下:生成.o目标文件;


              2> Windows环境下:生成.obj文件;


       3、链接C语言函数库,生成可执行文件;


              1> Mac环境下:生成.out目标文件;


              2> Windows环境下:生成.exe文件;


       4、运行可执行文件,在屏幕上输出内容;


       5、若使用终端运行C程序


              1> clang指令编译链接执行程序)


                     ① 编译:cc -c one.c


                     ② 链接:cc one.o


                     ③ 编译、链接:cc one.c


                     ④ 运行当前路径下的可执行文件:./a.out


                     ⑤ 更改可执行文件名称:cc two.c -o one


              2> 常见错误:linker链接


                     ① 语法错误:可通过编译器报错信息解决;


                     ② 逻辑错误:需耐心调试程序;


       6、多语言对比(输出“哈哈”并换行):


              C语言:


          

#include <stdio.h>
 
              int main()
 
              {
 
                     print(“哈哈\n”);
 
                     return 0;
 
              }


              Object-C语言:


            

#import <Foundation/Foundation.h>
 
              int main()
 
              {
 
                     NSLog(@“哈哈”);//自动换行
 
                     return 0;
 
          }


              Java语言:


           

class Test{
 
                                   public static void main(String [] args){
 
                                          System.out.println(“哈哈”);
 
                 }
 
              }


 


PS:本章节介绍了如何编写第一个C程序以及它的运行原理,接下来的章节中将探索C语言内部具体知识;