汉扬编程 C语言入门 三天学会C语言编程|上篇

三天学会C语言编程|上篇

本文试图通过上中下三篇文章引领大家进入C语言的世界。C语言是一个非常古老(1972年发明)的语言了,想必大家都有所了解,没有了解也没关系。C语言以难学和难以使用著称,想用好C语言更是难上加难。

三天学会C语言编程|上篇

本文不假设读者有任何其它编程语言的基础,但需要了解计算机的基本概念。对计算机的体系结构有基本的概念。如图1是本文简化的计算机结构,其核心是CPU和内存,其中CPU用于运行代码,而内存则用于存储程序代码和数据。输入输出设备可以简单的理解为我们电脑的鼠标、键盘和显示器。

图1 计算机体系结构简图

这里有一点需要注意的是,内存是被划分为一个一个单元的,我们可以简单的理解为一个单元的大小是1字节(Byte,也即8位),如图1右边所示。并且,内存以该单元为单位进行编址,也就是定义内存的地址。这个地址可以参考我们日常的门牌号,这样CPU才知道数据访问的位置。

环境搭建本文进行C语言开发基于Linux环境进行,之所以使用Linux是因为该环境下不需要安装负载的工具。本文假设采用的Linux发行版是Ubuntu系统,如果不清楚如何安装该系统可以参考本号的最详细的图文安装Ubuntu教程|如果还不会你找我一文。具体安装可以在虚拟机上安装,这样使用起来比较方便。

具备该操作系统环境之后,需要安装C语言源代码的编译工具。在Linux的编译工具是gcc,在Ubuntu上可以非常方便的安装该工具。执行如下命令即可安装该工具:

sudo apt-get build-dep gcc 或者执行如下命令也可以安装该工具:

sudo apt-get install build-essential 安装完成后,执行如下命令可以验证是否安装成功:

gcc –version 如图提示版本信息则代表安装成功了,如果提示命令不存在则代表安装失败了。

第一个程序为了有一个整体的认识,本文先给一个可以运行的完整的代码。如下是一个可以直接编译运行的C语言代码。

#include <stdio.h>int main(void){ printf(\”hello world!\\n\”);}可以将上述代码在Windows上通过记事本保存为一个hello.c文件,然后拷贝到Linux系统中。或者如果会使用Linux下的vim工具的话,通过该工具创建一个hello.c文件,并将上述代码拷贝到该文件中,然后保存。然后在hello.c文件所在的目录下执行如下命令:

gcc -o hello hello.c这样就会生成一个可执行文件,这个文件类似于Windows下面的*.exe文件。在该目录下,输入如下内容就可以执行该可执行文件:

./hello执行后可以看到输出的内容(hello world!)。至此,我们完成了第一个C语言程序的开发、编译和运行。

第一个程序的解释C语言是编译型的语言,也就是说起源代码需要编译成可以被CPU识别的格式(机器码)之后,才能在Linux上运行。与之相对的是解释型的语言(例如Python,PHP等),这种语言可以直接在解释器中运行,不需要编译生产其它格式的文件。

第一行(#include <stdio.h>)表示我们需要引用一个在其它地方已经实现的功能(也就是后面使用printf)。所有语言都提供了一下“轮子”,这样我们就不用从零开始。我们可以借用这些“轮子”拼装成我们的“汽车”,这样能大量的节省工作量。

第二行(int main(void))是C语言的入口,每个C语言程序都有一个这样的入口函数(后面解释什么是函数),而且必须是这个格式。这里int是该函数的返回值,表示是一个整型数;main是函数的名称,这个是固定的,不能变化;void是参数。

第三行({)和第五行(})是函数的开始和结束标识,每个函数都包含这两个标识。

第四行(printf(\”hello world!\\n\”))是一个函数调用,这个函数有其它程序实现的,这里我们借用了该功能。printf的功能是向终端打印内容,因此我们执行程序是会在终端看到hello world!字符串。

有些细节还没讲到,可以先照着葫芦画瓢。

今天先到这,后续文章介绍数据类型、变量、控制语句和函数等内容。

汇编语言与c语言的合并编程怎么做?

  

通常国外都是这样做的。 写嵌入式程序都是 C/C++/C# 和ASSEMBLY language在一起的。 因为高级语言有比较全面的wrapping class。

做法:

1。用ASSEMBLY L写比较直白的, 能加快运行速度的东西, 比如两进制的右推和左推, 常常比高级语言要巧妙得多。
   既然你提到这个问题, 你一定知道哪些用C, 哪些用ASSEMBLY L。

2。把C和ASSEMBLY的COMPILER加载到UNIX 或 LINUX, 用其下的 VI 或 EMACS 来写(这种方式主要是很方便),写的时候ASSEMBLY 和 C 的代码要分开, 各自成文

3。
  用Makefile来compile, 如果你不知道Makefile怎么写, 那就上网去找个例子, 照本宣科, 除了把所有的文件名换成你自己的。

4。 每次只要用make XXX就可以全部compile, 用make clean就可以全部清掉你所定义的所有。
  class 。object 。YY(随便你自己的需要了) XXX代表你的可执行文件的名字。

本文来自网络,不代表汉扬编程立场,转载请注明出处:http://www.hyzlch.com/cjia/6761.html

你见过“最美”的C语言代码是什么?

跨平台C语言库《cosmopolitan》,一次编译到处运行

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

返回顶部