Linux-C编程基础:C语言与Ubuntu入门指南

需积分: 9 3 下载量 147 浏览量 更新于2024-07-19 收藏 882KB PDF 举报
本资源是一份深入浅出的Linux-C编程指南,由粤嵌教育嵌入式学院提供,着重于2017年更新,涵盖了从LinuxC编程入门到高级概念的全面知识。首先,它从"LinuxC编程前奏"开始,介绍了学习Linux环境下C语言编程的基本环境设置,包括使用虚拟机如VMware以及选择Ubuntu作为开发平台。Ubuntu作为一个自由、开源的Linux发行版,强调其遵循开源原则和易用性,尤其提到了基于Debian的特性,如Gnome桌面系统,它是C语言编写的。 接下来的内容详细阐述了数据类型,这是编程的基础,对于理解和编写C程序至关重要。同时,也涉及了Linux环境下的终端操作,如shell程序的使用,它是用户与系统交互的重要工具,命令行解释器如shell提供了强大的功能,比如APT软件包管理系统,用于管理和安装软件。此外,还介绍了Linux分区与目录结构的区别,与Windows系统的不同在于Linux中,分区归属于目录而非相反。 shell基础部分深入讲解了命令提示符的使用,这是进行日常Linux操作时不可或缺的一部分。通过这份资料,学习者不仅能掌握C语言编程的技巧,还能了解Linux环境下的工作模式和基本操作流程。 这份内部资料旨在帮助读者建立起扎实的Linux C语言编程基础,无论是初学者还是进阶开发者,都能从中获益良多。无论是对Linux环境的熟悉,还是对C语言的实际应用,都能在阅读和实践过程中不断提升技能。
893 浏览量
本文是Linux 下C 语言编程入门教程。主要介绍了Linux 的发展与特点、C语言的基础知识、Linux 程序设计基础知识及其下C 语言编程环境、Linux 程序设计的特点及其下C 语言编程风格等。   Linux 作为一个优秀的操作系统,一项非常重要的功能就是支持系统调用尤其是支持C语言的系统调用功能十分的方便、快捷。C 语言具有高速、灵活、简洁、可移植性好等特点,从而很快成为了世界上最受欢迎的编程语言之一。   1 Linux 的发展和特点 Linux 最初是专门为基于Intel 处理器的个人计算机而设计的。Linux 的前身是赫尔辛基大学( University of Helsinki )一位名叫Linus Torvald 的计算机科学系学生的个人项目。Linus 把Linux 建立在一个基于PC 机上运行的、缩小型的、名为Minux 的UNIX 基础之上, Minux 本身具有UNIX 的各种特性, 这使得以Minux 做参照而产生的Linux 继承并更突出了UNIX 的各种优良特性。当时LinusTorvold 通过USENET (新闻组)宣布了Linux 是一个免费的系统,并指出它主要在x86 电脑上使用,希望大家一起来将它完善, 并将源代码放到了芬兰的FTP 站点上供人免费下载。本来他想把这个系统称为freax ,可是FTP 的工作人员认为这是Linus 的Minux ,就用Linux 这个子目录来存放,于是它就成了“ Linux ”。这时的Linux 只有核心程序(内核) ,还不能称作是完整的系统,不过由于许多专业用户(主要是程序员)自愿地开发它的应用程序,并借助Internet 拿出来让大家一起修改一起完善,所以它的周边的程序也越来越多,功能也越来越强大, Linux 本身也就这样逐渐发展壮大起来。近年来,Linux 操作系统得到了迅猛地发展,在短短的几年之内就包含了UNIX 的全部功能和特性,在中高端服务器上得到了广泛的应用,国际上很多有名的硬、软件厂商都与之结盟、捆绑,将之用作自己的操作系统。Linux 操作系统得到了非常迅猛地发展,这与Linux 具有的良好特性是分不开的。     Linux 操作系统的特点可总结为以下几点:   1. 自由软件   Linux 项目从一开始就与GNU 项目紧密结合起来, 它的许多重要组成部分直接来自GNU 项目。Linux 可以说是作为开放源码的自由软件的代表,便于定制和再开发。在遵从GPL 版权协议的条件下,各部门、企业、单位或个人就可以免费得到Linux 源程序,并根据自己的实际需要和使用环境对Linux 系统进行裁剪、扩充、修改,再开发和发布程序的源码,并公布在Internet 上。这样就激发了世界范围内热衷于计算机事业的人们的创造力。通过Internet ,这一软件的传播和使用迅速扩大。因为Linux 操作系统可以从互联网上很方便地免费下载,这样就可以省下购买Windows 操作系统的一笔不小的资金(正版Windows 很昂贵) 。且由于可以得到Linux 的源码,所以操作系统的内部逻辑是可见的,这样就可以根据源码准确地查明故障产生的原因,及时采取相应对策。   2. 开放性   开放性是指系统遵循世界标准规范,特别是遵循开放系统互连( OSI )国际标准。凡遵循国际标准所开发的硬件和软件,都能彼此兼容,可方便地实现互连。   3. 多用户   系统资源可以被不同用户各自拥有使用,即每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响,允许多个用户从相同或不同的终端上同时使用同一台计算机。   4. 多任务   它是指计算机允许多个程序同时执行,而且各个程序的运行互相独立。Linux 系统调度每一个进程,平等地访问微处理器。由于CPU 的处理速度非常快,其结果是,启动的应用程序看起来好像在并行运行。事实上,从处理器执行一个应用程序中的一组指令到Linux 调度微处理器再次运行这个程序之间只有很短的时间延迟,用户是感觉不出来的。Linux 充分利用了X86CPU 的任务切换机制,实现了真正多任务、多用户环境,允许多个用户同时执行不同的程序,并且可以给紧急任务以较高的优先级。