跨平台C语言快速入门
2016年05月02日

C语言大家并不陌生,在大学中,一般理工科都会开设计算机程序设计(C语言)这门课程。全国计算机等级考试中,也有C语言也是考试科目之一。工作之后,有很多对性能要求较高的程序,也是需要用C或C++来编写。整理这篇博客,也是因为在工作过程中,逐渐认识到了C语言的重要性,所以不得不拾起C语言这门古老而又高效的语言,重新学习。    

  在翻看了《Head First C》之后,大学时学习的很多知识以及工作中使用的其他语言的经验逐渐被唤醒。其实C语言和其他程序语言差别并不大。很多人说C/C++难学,个人以为和其他语言相比,C语言作为一种面向过程语言,基本语法和其他面向过程语言基本没差别。个人认为,C语言在学习过程中,主要难点在于以下方面:

  1. 指针与内存操作
  2. 编译与跨平台(特别是用惯了VC6的同学们)
  3. 回调函数与函数指针
  4. 静态库与动态库
  5. 模块化

好吧,那让我们赶紧进入正题,看看如何用C来开发跨平台程序。

语法

1、基本流程控制语句

  我们先来看看C对于基本程序,我们知道,基本流程控制包括:顺序、条件、循环。不同的语言写法可能有些不同,有些语言通过语言特性,甚至不需要循环(例如erlang,借助尾递归来实现循环)。但从大多数C语系的语法来看,基本控制流程,都是一样的(C/C++/JAVA/C#/javascript)。

  • 顺序语句
    就不说了,代码如果不遇到goto以及其他条件、循环、函数调用,都是顺序执行的。
  • 条件语句:
int a = 3;  
if(a == 3){  
     /*条件:满足a=3执行*/
     ...
}
else if (a > 3){  
    /*条件:满足a>3执行*/
    ...
}
else{  
    /*条件:不满足a=3或a>3执行*/
    ...
}
  • 循环语句
int a = 0;  
do{  
    /*执行三次*/
    a++;
}while(a < 3)
int b = 0;  
while(b < 3){  
    /*执行三次*/
    b++;
}
for(int c = 0;c < 3; c++){  
    /*执行三次*/
}