0.C语言概述

来源:互联网 发布:seed软件 编辑:程序博客网 时间:2024/05/17 09:39

学习编程的共同点是,数据的获取、数据的存储(在内存中的存储和在文件的存储)、数据的操作(语言本身提供的操作和库以及第三方的工具)、程序的组织(不同的语言,其组织形式不一样)

数据的获取

最简单的获取数据的方式是直接在代码中明确写出来并保存在内存中;还可以从输入设备中得到(例如键盘、鼠标等);从文件中得到(例如文本文件);从数据库中得到;从网络上获取等。不同的渠道,我们使用的工具不同。一般来说,不同的语言为从这些地方获取数据,提供了不同的工具(函数也好,对象也罢,其实都是获取数据的一种方式罢了)。

数据的存储与操作

获取了数据以后,我们就要对其进行存储。我们可能得到的是“Hello world”这样的字符串,也可能获得的是3.1415926这样的数字,也可能获得2017-3-15这样的日期。那么我们应该如何存储这些数据呢。不同的语言,提供不同的数据类型来存储这些数据。不同的数据类型,其存储空间、存储结构、可以进行的操作是不同的。

程序设计(程序的组织)

数据获取了,存储了,也有可以操作数据的方法了。接下来就程序的组织了——我们如何将对数据的操作(赋值、运算、比较、输出等)组织起来完成一件任务。不同的语言,其组织的方式不一样。例如C语言将对数据的定义和操作组织在头文件(以.h结尾的文件)中,将具体的操作数据完成任务的这部分代码写在以.c结尾的文件中,里面有一个一个的函数;Java把对数据的定义和操作写在类中,一个个的类又组织在包中。这里的组织其实也就是封装的意思,函数就是将一句句代码组织在一起的语法结构;类就是将数据和函数组织在一起的语法结构…。

流程控制

程序设计中,尤其要谈的是流程控制。我们写的代码都是按照写的顺序一句一句从头执行到尾,而流程控制给了代码以选择,可以有选择地(依赖于判断)执行某些代码或者重复执行某些代码。流程控制主要有:
1. 条件分支——根据判断的结果执行某些代码,而跳过某些代码。条件分支使得我们的代码可以应对变化。
2. 循环——根据判断的结果重复执行某些代码。

流程控制不管在什么语言中都是及其重要的东西,因为有了它们,我们的程序才变得灵活,有“思想”。不同的语言,提供的条件分支和循环结构是不同的。例如C语言提供的条件分支和循环结构如下:

// C语言提供的if分支条件结构如下if(n1 < n2){    // 如果n1小于n2,执行这里的代码}else{    // 否则执行这里的代码}// C语言提供的循环结构之for循环for(int i = 0; i < n; i++){    // 重复执行这里的代码n次}

Visual Basic提供的流程控制语句如下:

Dim i as IntegerFor i = 1 to n step 1    # 重复执行这里的代码n次Next i

可以看出,不同的语言,提供的流程控制可能不一致,但是本质都是相同的,只是形式不一样。

C程序的基本组织结构

hello.c

#include<stdio.h> // 引用外部工具来操作数据int main(void){    printf("Hello world\n"); // 这是外部工具stdio.h中定义的操作字符输出的方法。    return 0;}

以上就是典型的C程序的基本结构,printf是一个对字符串进行输出的工具(也就是对字符串进行操作的一个工具),这个工具在stdio.h中定义,所以我们第一句需要写#include<stdio.h>。很多语言都是如此,因此不必纠结,我们举几个例子。

hello.py

import randomprint(random.choice([1,2,3,4]))

在上面的Python代码中,我们引用了在random中定义的choice工具,因此我们需要import random。对于Java来说,也是一样的。

Hello.java

import System.out;public class Hello{    public static void main(String[] args){        // 我们用到了println这个操作字符串输出的工具,而这个工具在System.out对象中定义,所以我们要写第一句代码        println("Hello world");    }}

举这些例子只是为了说明:

  1. 不要在意#include<stdio.h>这种看似奇特的写法,不同的语言有不同的引用外部工具的声明写法,只是形式不同而已。
  2. 从上面的例子中也可以看出,不同的语言,虽然其形式结构不一致,但是本质都是一样的——引用外部工具,都要写一些“奇怪”的声明。
  3. 不同的语言都提供了很多用于操作数据的方式,我们在使用这些工具的时候,需要特殊的语法来引用。
0 0
原创粉丝点击