linux系统入门_第1页
linux系统入门_第2页
linux系统入门_第3页
linux系统入门_第4页
linux系统入门_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第1 1章章 LinuxLinux系统入门系统入门 主讲:贾电如主讲:贾电如电话:电话:1583208102815832081028邮箱:邮箱:QQ: 724807614QQ: 724807614第第1 1章章 LinuxLinux系统入门系统入门 一、一、Linux C语言程序设计概述语言程序设计概述二、怎样学习二、怎样学习Linux C语言程序设计语言程序设计三、学习目标三、学习目标四、课程计划四、课程计划五、运行一个简单的五、运行一个简单的Linux C程序程序主要内容:主要内容:第第1 1章章 LinuxLinux系统入门系统入门 一、一、Linux C语言程序设计概述语言程序设计概

2、述1、linux系统简介系统简介2、C语言的概述语言的概述3、linux C语言程序设计语言程序设计第第1 1章章 LinuxLinux系统入门系统入门 1.1操作系统概念操作系统概念v 操作系统(操作系统(Operating System,简称,简称OS)是管理和控制计算机硬件与软件资源的)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在计算机程序,是直接运行在“裸机裸机”上的最上的最基本的系统软件,任何其他软件都必须在操基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。作系统的支持下才能运行。第第1 1章章 LinuxLinux系统入门系统入门 v图图1 1 操作系统

3、在计算机系统中的地位操作系统在计算机系统中的地位第第1 1章章 LinuxLinux系统入门系统入门 1.2 Linux操作系统操作系统1. Linux的背景的背景Linux的诞生和发展与的诞生和发展与Unix系统、系统、Minix系统、系统、Internet、GNU计划有着不可分割的关系,它们对于计划有着不可分割的关系,它们对于Linux有着深刻的影有着深刻的影响和促进作用。响和促进作用。第第1 1章章 LinuxLinux系统入门系统入门 1) Unix系统系统1971年,年,Unix操作系统正式诞生于操作系统正式诞生于AT&T公司的公司的Bell实验室。它是一实验室。它是一个多用

4、户多任务的分时操作系统。在那个年代,操作系统都是用汇编语言个多用户多任务的分时操作系统。在那个年代,操作系统都是用汇编语言编写而成的,追求大而全的设计,使得系统异常庞大和复杂。而此时出现编写而成的,追求大而全的设计,使得系统异常庞大和复杂。而此时出现的的Unix是第一个用高级语言是第一个用高级语言(C语言语言)写成的,它的内核只有写成的,它的内核只有2万行代码,短万行代码,短小精悍,性能却非常优异,令研究者们如获至宝。更为重要的是,小精悍,性能却非常优异,令研究者们如获至宝。更为重要的是,Unix的的源代码是公开的,而且在整个源代码是公开的,而且在整个20世纪世纪70年代都是免费的,这使它很快

5、就在年代都是免费的,这使它很快就在大学和研究机构中流行起来,随后又被广泛移植到各种机型的硬件平台上。大学和研究机构中流行起来,随后又被广泛移植到各种机型的硬件平台上。经过不断发展和演变,经过不断发展和演变,Unix的应用范围现已覆盖了大中小型计算机、工作的应用范围现已覆盖了大中小型计算机、工作站以及站以及PC服务器,尤其是在中小型机以及工作站上始终占有统治地位。服务器,尤其是在中小型机以及工作站上始终占有统治地位。第第1 1章章 LinuxLinux系统入门系统入门 Unix已具有已具有30多年的稳定运行历史,以高可靠性、高效多年的稳定运行历史,以高可靠性、高效率著称,主要用于重要的商务运算和

6、关键事务处理。率著称,主要用于重要的商务运算和关键事务处理。Unix有如有如下主要特点:下主要特点:(1) 无可比拟的安全性与稳定性,能达到大型主机可靠性无可比拟的安全性与稳定性,能达到大型主机可靠性指标。指标。(2) 良好的伸缩性,系统内核和核外程序均可裁剪,以适良好的伸缩性,系统内核和核外程序均可裁剪,以适合不同规模的计算。合不同规模的计算。 (3) 强大的强大的TCP/IP支持,对支持,对Internet的发展功不可没。的发展功不可没。(4) 良好的可移植性,支持广泛的硬件平台。良好的可移植性,支持广泛的硬件平台。(5) 源代码公开,便于研究和教学。源代码公开,便于研究和教学。第第1 1

7、章章 LinuxLinux系统入门系统入门 Unix堪称操作系统设计的典范,它的许多优秀的设计思想堪称操作系统设计的典范,它的许多优秀的设计思想和理念对后来的操作系统产生了深刻的影响,和理念对后来的操作系统产生了深刻的影响,Linux就是许多就是许多类类Unix系统中的一个佼佼者。由于系统中的一个佼佼者。由于Linux的开发者都具有各种的开发者都具有各种Unix的背景,因此的背景,因此Linux继承了继承了Unix的优秀设计思想,也集中的优秀设计思想,也集中了了Unix的各种优点。的各种优点。第第1 1章章 LinuxLinux系统入门系统入门 2. Linux的发展历史的发展历史1991年初

8、,芬兰赫尔辛基大学的学生年初,芬兰赫尔辛基大学的学生Linus Torvalds出于个人爱好,出于个人爱好,决定自己编写一个类似决定自己编写一个类似Minix的操作系统。他在的操作系统。他在PC机上学习和研究机上学习和研究Minix,并参照它开发出最初的并参照它开发出最初的Linux内核。内核。1991年年9月,月,Linus通过通过Internet正式公正式公布了他的第一个布了他的第一个“作品作品”Linux 0.01版。这个系统在网上一出现,立版。这个系统在网上一出现,立即吸引了许多软件高手投入到开发工作中。到即吸引了许多软件高手投入到开发工作中。到1993年,大约有年,大约有100余名程

9、余名程序员参与了序员参与了Linux内核的编写和修改工作。在众多爱好者的帮助下,内核的编写和修改工作。在众多爱好者的帮助下,Linux的完整内核被迅速开发出来。的完整内核被迅速开发出来。第第1 1章章 LinuxLinux系统入门系统入门 目前,目前,Linux的开发和发布模式是:内核程序由核心组成的开发和发布模式是:内核程序由核心组成员负责更新和发布,驱动程序和应用软件由众多员负责更新和发布,驱动程序和应用软件由众多Linux爱好者、爱好者、软件供应商和系统集成商等自行开发或移植。软件供应商和系统集成商等自行开发或移植。近年来,近年来,Linux还在蓬勃发展中。凭借其优秀的设计和不还在蓬勃发

10、展中。凭借其优秀的设计和不凡的性能,加上知名企业的大力支持,市场份额逐步扩大。在凡的性能,加上知名企业的大力支持,市场份额逐步扩大。在短短的十几年中,短短的十几年中,Linux已从一个为满足个人爱好而设计的产已从一个为满足个人爱好而设计的产物成长为一个充满竞争力和活力的主流操作系统。物成长为一个充满竞争力和活力的主流操作系统。第第1 1章章 LinuxLinux系统入门系统入门 1.3.2 Linux操作系统的特点操作系统的特点 (1) 开发性系统开发性系统 (2) 多用户、多任务操作系统多用户、多任务操作系统 (3) 具有出色的稳定性和速度性能具有出色的稳定性和速度性能 (4) 具有可靠的系

11、统安全性具有可靠的系统安全性 (5) 提供丰富的网络功能提供丰富的网络功能 (6) 标准兼容性和可移植性标准兼容性和可移植性第第1 1章章 LinuxLinux系统入门系统入门 1.3.3 Linux操作系统的组成操作系统的组成Linux的基本系统由的基本系统由4个主要部分组成:个主要部分组成: 内核:运行程序和管理基本硬件设备的核心程序。内核:运行程序和管理基本硬件设备的核心程序。 Shell:系统的命令行用户界面,负责接收、解释和执:系统的命令行用户界面,负责接收、解释和执行用户输入的命令。行用户输入的命令。 文件系统:按一定的组织方式存放在磁盘上的文件集合。文件系统:按一定的组织方式存放

12、在磁盘上的文件集合。 应用程序:包括文本编译器、图形处理器、编程语言等应用程序:包括文本编译器、图形处理器、编程语言等第第1 1章章 LinuxLinux系统入门系统入门 v图1 3 Linux系统结构示意图第第1 1章章 LinuxLinux系统入门系统入门 1.3.4 Linux操作系统的版本操作系统的版本“Linux”一词有两种不同的含义:从技术角度上讲,一词有两种不同的含义:从技术角度上讲,Linux指的是一个自由的指的是一个自由的“类类Unix”操作系统的内核,由操作系统的内核,由Linus带领的内核团队维护和发布。从使用角度看,带领的内核团队维护和发布。从使用角度看,Linux是指

13、以是指以Linux内核为基础的,包含了系统工具和各种应用的完整的内核为基础的,包含了系统工具和各种应用的完整的“类类Unix”操作系统,这种完整的操作系统,这种完整的Linux系统称为系统称为Linux发行发行(distribution)版本,由各发行商或社团组织维护和发布。版本,由各发行商或社团组织维护和发布。第第1 1章章 LinuxLinux系统入门系统入门 1. Linux的内核版本的内核版本所有所有Linux系统使用的内核只有一个版本,由系统使用的内核只有一个版本,由Linus本人带本人带领的内核团队维护和发布。内核的版本号由三组数字表示。领的内核团队维护和发布。内核的版本号由三组数

14、字表示。第第一组数字是主版本号一组数字是主版本号,主版本不同的内核在功能上有很大的差,主版本不同的内核在功能上有很大的差异。异。第二组数字是次版本号第二组数字是次版本号。如果是。如果是奇数奇数,则表示该版为,则表示该版为测试测试版版,可能有潜在缺陷;如果是,可能有潜在缺陷;如果是偶数偶数则表示该版已经过严格测试,则表示该版已经过严格测试,是是稳定的版本稳定的版本。第三组数字是。第三组数字是修订序列号修订序列号,数字越大则表示功数字越大则表示功能越强或缺陷越少能越强或缺陷越少。目前的内核稳定主次版本是在。目前的内核稳定主次版本是在2003年年12月发布的月发布的2.6版。版。第第1 1章章 Li

15、nuxLinux系统入门系统入门 2. Linux的发行版本的发行版本 Linux的知名发行版本多达几百种,每种发行版本都以的知名发行版本多达几百种,每种发行版本都以Linux内核为基础,配置的程序也大同小异,通常包括图形界内核为基础,配置的程序也大同小异,通常包括图形界面、网络服务程序、标准系统库、应用程序等。各版本之间真面、网络服务程序、标准系统库、应用程序等。各版本之间真正的区别在于其安装、配置、附加应用、管理工具以及技术支正的区别在于其安装、配置、附加应用、管理工具以及技术支持的不同。目前比较流行的发行版本主要有以下几种:持的不同。目前比较流行的发行版本主要有以下几种:第第1 1章章

16、LinuxLinux系统入门系统入门 1) Red Hat和和FedoraRed Hat公司是公司是商业化最成功的商业化最成功的Linux发行商发行商,它的,它的Red Hat Linux无论在服务器上还是桌面系统中都工作得很好。无论在服务器上还是桌面系统中都工作得很好。Red Hat Linux拥有数量庞大的用户和许多创新技术,并获得拥有数量庞大的用户和许多创新技术,并获得了很多商业的支持和社区技术支持。了很多商业的支持和社区技术支持。Red Hat提供了优秀的安提供了优秀的安装程序、图形配置工具以及先进的软件包管理工具装程序、图形配置工具以及先进的软件包管理工具RPM,在硬,在硬件与软件兼

17、容性上也做得很好。件与软件兼容性上也做得很好。 Fedora定位于桌面用户的免定位于桌面用户的免费版本费版本,一般用来体验,一般用来体验Linux前沿技术,所以不太稳定。前沿技术,所以不太稳定。第第1 1章章 LinuxLinux系统入门系统入门 2) Debian和和UbuntuDebian/GNU Linux是是最纯正的自由软件最纯正的自由软件Linux发行版发行版,Debian的所有软件包都是自由软件,完全由分布在世界各地的所有软件包都是自由软件,完全由分布在世界各地的的Linux爱好者维护并发行,因而它的软件资源十分丰富。爱好者维护并发行,因而它的软件资源十分丰富。Debian非常注重

18、稳定性非常注重稳定性,它的发行版本变化不快,但特别强,它的发行版本变化不快,但特别强调网络维护和在线升级。调网络维护和在线升级。Ubuntu是一个是一个基于基于Debian的较新的发行版的较新的发行版,它拥有,它拥有Debian所有的优点,并在某些方面有所加强。所有的优点,并在某些方面有所加强。Ubuntu的安装的安装非常人性化,其默认的桌面系统既简单又不失华丽。非常人性化,其默认的桌面系统既简单又不失华丽。Ubuntu还被誉为对还被誉为对硬件支持最好、最全面的硬件支持最好、最全面的Linux发行版本之一发行版本之一,许,许多在其他发行版上无法使用的硬件,在多在其他发行版上无法使用的硬件,在U

19、buntu上可以轻松搞上可以轻松搞定。此外,定。此外,Ubuntu的版本更新周期也较的版本更新周期也较Debian短。短。第第1 1章章 LinuxLinux系统入门系统入门 3) SuSESuSE是来自德国的一个是来自德国的一个Linux发行版,发行版,2003年被年被Novell公司收购,并将其公司收购,并将其定位于构建企业级服务器平台的定位于构建企业级服务器平台的Linux版本版本。SuSE运行稳定,拥有强大的技术支持力量运行稳定,拥有强大的技术支持力量,目前已成为,目前已成为Red Hat商用商用Linux的最主要的竞争者。的最主要的竞争者。SuSE的安装程序和图形管的安装程序和图形管

20、理工具非常直观易用,即使是没有经验的用户也能在很短的时理工具非常直观易用,即使是没有经验的用户也能在很短的时间内学会使用。间内学会使用。第第1 1章章 LinuxLinux系统入门系统入门 4) GentooGentoo是一个是一个基于源代码的发行版基于源代码的发行版,它因,它因其高度的可定其高度的可定制性出名制性出名:Gentoo的用户都选择手工编译源代码,生成专为的用户都选择手工编译源代码,生成专为自己定制的系统。自己定制的系统。Gentoo适合比较熟悉适合比较熟悉Linux系统的资深用户系统的资深用户使用。此外,完整的使用手册以及广受美誉的使用。此外,完整的使用手册以及广受美誉的Port

21、age软件在软件在线更新系统也是线更新系统也是Gentoo的出色之处。的出色之处。第第1 1章章 LinuxLinux系统入门系统入门 5) SlackwareSlackware是是最早的最早的Linux发行版发行版,它保留了原始的传统,它保留了原始的传统,使用基于文本的工具和配置文件,升级也不是很频繁。它的特使用基于文本的工具和配置文件,升级也不是很频繁。它的特点是点是稳定、可靠、简单和敏感稳定、可靠、简单和敏感。Slackware在老牌在老牌Linux用户用户中最为流行,目前仍有很多忠实的老用户。此外,中最为流行,目前仍有很多忠实的老用户。此外,Slackware拥有一套很大的程序库,其中

22、包括开发应用程序可能需要的几拥有一套很大的程序库,其中包括开发应用程序可能需要的几乎每一个工具,是开发自由软件的理想平台。乎每一个工具,是开发自由软件的理想平台。第第1 1章章 LinuxLinux系统入门系统入门 1.3.5 Linux操作系统的应用与发展操作系统的应用与发展Linux可以说是被最广泛移植的操作系统内核,从掌上电可以说是被最广泛移植的操作系统内核,从掌上电脑脑iPad到到IBM大型机都可以看到大型机都可以看到Linux内核的成功应用。内核的成功应用。Linux是是IBM超级计算机超级计算机Blue Gene的主要操作系统,并在超级计算的主要操作系统,并在超级计算机操作系统领域

23、中占有高达机操作系统领域中占有高达90%以上的份额。以上的份额。Linux系统在嵌系统在嵌入式系统领域中的占有率位居第一,应用前景十分广阔。然而,入式系统领域中的占有率位居第一,应用前景十分广阔。然而,Linux系统的最主要应用是中高端服务器系统系统的最主要应用是中高端服务器系统。作为高性能的。作为高性能的网络和应用服务器,网络和应用服务器,Linux已成为大中型企业信息系统的支柱,已成为大中型企业信息系统的支柱,广泛应用于通信、金融、商业和军事等领域。广泛应用于通信、金融、商业和军事等领域。第第1 1章章 LinuxLinux系统入门系统入门 由于源代码公开和免费,由于源代码公开和免费,Li

24、nux系统已经广泛地渗入到操系统已经广泛地渗入到操作系统的教学和研究领域。对于研究者来说,可以剖析系统的作系统的教学和研究领域。对于研究者来说,可以剖析系统的内核,合法地修改它和改进它,以适应研究的需要。对于普通内核,合法地修改它和改进它,以适应研究的需要。对于普通用户来说,通过用户来说,通过Linux可以了解操作系统的内部实现原理,并可以了解操作系统的内部实现原理,并动手实践所学习的知识。动手实践所学习的知识。Linux还在快速地发展中。还在快速地发展中。Linux内核的发展方向主要是对内核的发展方向主要是对新体系结构和新硬件技术的支持新体系结构和新硬件技术的支持。分布式系统是当前操作系统。

25、分布式系统是当前操作系统研究的一个重要领域,以研究的一个重要领域,以Linux内核为基础,按照自由软件模内核为基础,按照自由软件模式开发高性能的分布式操作系统,这是式开发高性能的分布式操作系统,这是Linux的发展趋势之一。的发展趋势之一。另外,提供对更多硬件平台另外,提供对更多硬件平台(尤其是嵌入式系统尤其是嵌入式系统) 的支持以及更的支持以及更多高性能的硬件驱动程序,让新的硬件技术能很快地在多高性能的硬件驱动程序,让新的硬件技术能很快地在Linux下工作,这是下工作,这是Linux技术更新的重要工作。技术更新的重要工作。第第1 1章章 LinuxLinux系统入门系统入门 Linux系统的

26、另一个发展方向是面向个人用户的普及。系统的另一个发展方向是面向个人用户的普及。Linux桌面系统正在不断地完善,用户界面更加友好,应用软桌面系统正在不断地完善,用户界面更加友好,应用软件以及软件开发工具也在进一步地丰富。这些都将提高件以及软件开发工具也在进一步地丰富。这些都将提高Linux系统的易用性,使其能够逐渐被普通用户所接受系统的易用性,使其能够逐渐被普通用户所接受。第第1 1章章 LinuxLinux系统入门系统入门 v2、 C语言概述语言概述2.1程序设计语言的发展程序设计语言的发展机器语言机器语言汇编语言汇编语言高级语言高级语言面向过程面向过程面向对象面向对象CPU指令系统,由0、

27、1序列构成的指令码组成如:10000000 加 10010000 减用助记符号描述的指令系统如 ADD A, B面向机器的语言程序设计是数据被加工的过程客观世界可以分类,对象是类的实例对象是数据和方法的封装对象间通过发送和接受消息发生联系程序设计关键是定义类,并由类派生对象第第1 1章章 LinuxLinux系统入门系统入门 程序设计语言的发展程序设计语言的发展v高级语言:a+bv汇编语言:ADD AX,BXv机器语言:0000 0001 1101 10000第第1 1章章 LinuxLinux系统入门系统入门 52 54 56 58 60 62 64 66 68 70 72 74 76 78

28、 80 82 84 86 88 90 92 94 96AdaALGOL60ALGOL68PascalModula-2CPLBCPL BCC+JavaLISPPROLOGCOBOLFORTRAN77FORTRANPL/1Simula 67Smalltalk 80BASICANSI-BASICQBASIC VBFORTRAN90第第1 1章章 LinuxLinux系统入门系统入门 C语言发展过程语言发展过程v产生背景产生背景v产生过程产生过程时间时间:19721973地点地点:美国贝尔实验室美国贝尔实验室(Bell)目的目的:改写改写UNIX操作系统操作系统设计人设计人: Ken.Thompson

29、和和Dennis.M.RitchievC标准标准标准标准C: K&R合著合著The C Programming LanguageANSI C: 1983年年87 ANSI C: 1987年年1999年国际标准的年国际标准的ANSI C99第第1 1章章 LinuxLinux系统入门系统入门 v2.2 C语言特点语言特点语言简洁、紧凑、灵活语言简洁、紧凑、灵活运算符和数据类型丰富运算符和数据类型丰富程序设计结构化、模块化程序设计结构化、模块化可移植性好可移植性好生成目标代码质量高生成目标代码质量高第第1 1章章 LinuxLinux系统入门系统入门 v2.3 C语言应用领域语言应用领域系

30、统软件应用软件WindowsUnxiLinux第第1 1章章 LinuxLinux系统入门系统入门 v2.5 C语言重要性第第1 1章章 LinuxLinux系统入门系统入门 3、Linux C程序设计vC语言是一种面向底层的编程语言,操作系统本身语言是一种面向底层的编程语言,操作系统本身也是用也是用C语言编写的,语言编写的,C语言编写的应用程序直接语言编写的应用程序直接使用操作系统提供的接口;使用操作系统提供的接口;vWindows平台上开发工具和各种集成环境(平台上开发工具和各种集成环境(IDE)绑在一起,绑在一起,IDE使用快捷,但不利于初学者,没用使用快捷,但不利于初学者,没用对编译器

31、,连接器,对编译器,连接器,makefile概念;概念;v编译器,连接器和编译器,连接器和C语言的语法有密切的关系。语言的语法有密切的关系。第第1 1章章 LinuxLinux系统入门系统入门 二、怎样学习二、怎样学习Linux C程序设计?程序设计?途径:多阅读途径:多阅读 多思考多思考 多上机多上机第第1 1章章 LinuxLinux系统入门系统入门 (1) 谭浩强谭浩强C C语言程序设计语言程序设计 (2)C Primer PlusC Primer Plus中文版中文版(C Primer Plus)(C Primer Plus) 作者:作者:Stephen Prata Stephen P

32、rata 简介:作为核心计算机技术成熟、完整的参考书籍,简介:作为核心计算机技术成熟、完整的参考书籍,Primer PlusPrimer Plus系列系列历经十数年不衰,通过学习历经十数年不衰,通过学习C Primer Plus(C Primer Plus(第五版第五版) )中文版中文版,你将奠定,你将奠定坚实的坚实的C C编程基础。编程基础。 (3)C C和指针和指针(Pointers on C)(Pointers on C) 作者:作者:Kenneth A.Reek Kenneth A.Reek 简介:本书提供和简介:本书提供和C C语言编程相关的全方面资源和深入讨论。全书覆盖语言编程相关

33、的全方面资源和深入讨论。全书覆盖了数据、语句、操作符和表达式、指针、函数、数组、字符串、结构和联合了数据、语句、操作符和表达式、指针、函数、数组、字符串、结构和联合等几乎所有重要的等几乎所有重要的C C编程话题。书中给出了非常多编程技巧和提示。编程话题。书中给出了非常多编程技巧和提示。参考书籍和资料参考书籍和资料- C语言语言初级初级教材教材第第1 1章章 LinuxLinux系统入门系统入门 (1)C C陷阱和缺陷陷阱和缺陷(C Traps and Pitfalls)(C Traps and Pitfalls) 作者:作者:Andrew Koenig Andrew Koenig 简介:作者以

34、自己简介:作者以自己19851985年在年在BellBell实验室时发表的一篇论文为基础,结实验室时发表的一篇论文为基础,结合自己的工作经验扩展成为这本对合自己的工作经验扩展成为这本对C C程式员具有珍贵价值的经典著作。本书程式员具有珍贵价值的经典著作。本书的出发点不是要批判的出发点不是要批判C C语言,而是要帮助语言,而是要帮助C C程式员绕过编程过程中的陷阱和程式员绕过编程过程中的陷阱和障碍。障碍。 (2)C C专家编程专家编程(Expert C Programming )(Expert C Programming ) 作者:作者:Perter Van Der LinDenPerter V

35、an Der LinDen 简介:展示了最优秀的简介:展示了最优秀的C C程式员所使用的编码技巧。程式员所使用的编码技巧。 书中书中C C的历史、语的历史、语言特性、声明、数组、指针、链接、运行时、内存及怎么进一步学习言特性、声明、数组、指针、链接、运行时、内存及怎么进一步学习C+C+等等问题进行了细致的讲解和深入的分析。全书撷取几十个实例进行讲解,对问题进行了细致的讲解和深入的分析。全书撷取几十个实例进行讲解,对C C程式员具有非常高的实用价值程式员具有非常高的实用价值。 (3)C C语言编程常见问题解答语言编程常见问题解答(C Programming : Just the Faqs )(C

36、 Programming : Just the Faqs ) 作者:作者:Paul S.R.Chisholm Paul S.R.Chisholm 等等 简介:这是一本专门解答简介:这是一本专门解答c c语言编程常见问题的著作。书中所覆盖的内语言编程常见问题的著作。书中所覆盖的内容相当广泛,并附有大量鲜明的例子。容相当广泛,并附有大量鲜明的例子。参考书籍和资料参考书籍和资料- C语言语言进阶进阶书籍书籍第第1 1章章 LinuxLinux系统入门系统入门 三、学习目标三、学习目标了解有关了解有关linux操作系统的组成和基本原理、掌操作系统的组成和基本原理、掌握握vi常用命令,编写简单的常用命令

37、,编写简单的shell脚本,脚本,makefile文件;文件;掌握掌握C语言的基本语法和用法,程序设计的基语言的基本语法和用法,程序设计的基本结构,本结构,c程序的设计与算法分析;程序的设计与算法分析;熟练掌握熟练掌握linux系统下系统下C程序的开发。程序的开发。 第第1 1章章 LinuxLinux系统入门系统入门 v课程体系模块四、课程计划四、课程计划第第1 1章章 LinuxLinux系统入门系统入门 课程教学实施计划课程教学实施计划讲讲次次学学 时时 数数教教 学学 内内 容容重点、难点重点、难点讲讲课课实实验验其其他他132Linux系统概述系统概述Linux的常用命令和的常用命令

38、和Shell脚脚本本232Linux C代码编译调试与分析代码编译调试与分析Vi编译器编写编译器编写Linux C程序,程序,make工具的使用和工具的使用和makefile文件的编写文件的编写332Linux C数据类型,常量和变量数据类型,常量和变量Linux C所以数据类的含义所以数据类的含义及使用方法,各种数据及使用方法,各种数据类型间的转换方法及相类型间的转换方法及相关的转换函数关的转换函数432运算符和表达式运算符和表达式Linux C程序运算符和表达程序运算符和表达式的使用式的使用532C C程序三大结构程序三大结构顺序和选择顺序和选择选择结构选择结构if和和switch632循

39、环结构循环结构For、while和和Do-while732数组数组一维数组、二维数组、字符一维数组、二维数组、字符数组的定义及使用方法数组的定义及使用方法832指针的基本概念、定义及使用方法,指针指针的基本概念、定义及使用方法,指针类型的参数及返回值类型的参数及返回值指针的基本概念、定义及使指针的基本概念、定义及使用方法用方法第第1 1章章 LinuxLinux系统入门系统入门 932指针与数组的关系指针与数组的关系指针与数组的关系,指向指指针与数组的关系,指向指针的指针和指针数组针的指针和指针数组1032函数声明和定义的方法函数声明和定义的方法函数的声明、定义和返回值,函数的声明、定义和返回

40、值,函数的形参与实参函数的形参与实参1132函数的调用,函数的嵌套函数的调用,函数的嵌套函数调用形参与实参的区别函数调用形参与实参的区别及值传递关系及值传递关系1232结构体的概念,构体变量的定义、引用和初结构体的概念,构体变量的定义、引用和初始化方法;始化方法;结构同类型变量的结构体类结构同类型变量的结构体类型型1332嵌套结构体嵌套结构体数据类型标志,嵌套结构体数据类型标志,嵌套结构体1432编译预处理编译预处理宏定义、文件包含、条件编宏定义、文件包含、条件编译译1532LinuxLinux文件系统与文件操作文件系统与文件操作文件类型指针和文件描述符文件类型指针和文件描述符1632Linu

41、x CLinux C高级程序设计高级程序设计进程与线程和网络通信进程与线程和网络通信173总复习总复习总复习总复习合计5132第第1 1章章 LinuxLinux系统入门系统入门 实验教学实施计划实验教学实施计划编编号号实验项目名称实验项目名称学时分学时分配配实验类实验类型型1运行一个简单的运行一个简单的Linux C程序程序4设计性设计性2数据类型、运算符和表达式数据类型、运算符和表达式4设计性设计性3程序设计基础结构程序设计基础结构顺序、选顺序、选择、循环择、循环4设计性设计性4 4数组和指针数组和指针4设计性设计性5 5函数函数4设计性设计性6结构体结构体4设计性设计性7预处理命令预处理

42、命令4设计性设计性8Linux C文件系统与文件操作文件系统与文件操作4设计性设计性第第1 1章章 LinuxLinux系统入门系统入门 考核:考试最终成绩最终成绩=考试考试+实验实验+平时成绩平时成绩第第1 1章章 LinuxLinux系统入门系统入门 C语言程序的结构特点:1.一个程序由一个或多个源程序文件组成一个程序由一个或多个源程序文件组成小程序往往只包括一个源程序文件小程序往往只包括一个源程序文件五、运行一个简单五、运行一个简单Linux C程序程序v一个源程序文件中可以包括三个部分:一个源程序文件中可以包括三个部分:预处理指令预处理指令全局声明全局声明函数定义函数定义第第1 1章章

43、 LinuxLinux系统入门系统入门 C语言程序的结构特点:2. 函数是函数是C程序的主要组成部分程序的主要组成部分u一个一个C程序是由一个或多个函数组成的程序是由一个或多个函数组成的u必须包含一个必须包含一个main函数函数(只能有一个)(只能有一个)u每个函数都用来实现一个或几个特定功能每个函数都用来实现一个或几个特定功能u被调用的函数可以是库函数被调用的函数可以是库函数,也可以也可以是是自自己编制设计的函数己编制设计的函数第第1 1章章 LinuxLinux系统入门系统入门 C语言程序的结构特点:3.一个函数包括两个部分:一个函数包括两个部分:函数首部函数首部 int max ( in

44、t x, int y )函数的第函数的第1行行函数类型函数类型函数名函数名 参数类型参数类型参数名参数名若函数无参,在括弧中写若函数无参,在括弧中写void或空括弧或空括弧 int main( void) 或或 int main()第第1 1章章 LinuxLinux系统入门系统入门 C语言程序的结构特点:3.一个函数包括两个部分:一个函数包括两个部分:函数体函数体v声明部分声明部分定义在本函数中所用到的变量定义在本函数中所用到的变量对本函数所调用函数进行声明对本函数所调用函数进行声明v执行部分:由若干个语句组成,指定在函数中执行部分:由若干个语句组成,指定在函数中所进行的操作所进行的操作可以

45、没有声明部分可以没有声明部分第第1 1章章 LinuxLinux系统入门系统入门 C语言程序的结构特点:3.一个函数包括两个部分:一个函数包括两个部分:函数体函数体void dump ( ) 可以是空函数可以是空函数第第1 1章章 LinuxLinux系统入门系统入门 C语言程序的结构特点:4. 程序总是从程序总是从main函数开始执行函数开始执行5. C程序对计算机的操作由程序对计算机的操作由C语句完成语句完成C程序书写格式是比较自由的程序书写格式是比较自由的v一行内可以写几个语句一行内可以写几个语句v一个语句可以分写在多行上一个语句可以分写在多行上为清晰起见,习惯上每行只写一个语句为清晰起

46、见,习惯上每行只写一个语句第第1 1章章 LinuxLinux系统入门系统入门 C语言程序的结构特点:1. 程序总是从程序总是从main函数开始执行函数开始执行2. C程序对计算机的操作由程序对计算机的操作由C语句完成语句完成3. 数据声明和语句最后必须有分号数据声明和语句最后必须有分号4. C语言本身不提供输入输出语句语言本身不提供输入输出语句5. 程序应当包含注释,增加可读性程序应当包含注释,增加可读性第第1 1章章 LinuxLinux系统入门系统入门 C语言允许用两种注释方式:语言允许用两种注释方式:v/:单行注释:单行注释可单独占一行可单独占一行可出现在一行中其他内容的右侧可出现在一行中其他内容的右侧v/*/:块式注释:块式注释可包含多行可包含多行第第1 1章章 LinuxLinux系统入门系统入门 格式特点格式特点v习惯用习惯用小写小写字母,大小写敏感字母,大小写敏感v可使用空行和空格可使用空行和空格v常用常用锯齿形锯齿形书写格式书写格式main( ) . . . . . . .main( ) i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论