Linux操作系统 教学课件 作者 孙斌 6 11 第10章.ppt
文本预览下载声明
第10章 Linux C编程 10.1 Linux C编程初探 10.1.1 学习Linux C编程的意义 Linux C编程的应用范围很广,并且还在不断发展、壮大和延伸,主要原因有: (1) 便于积累,可以继承前人的优秀成果,不断优化。计算机程序设计语言有很多种,之所以许多计算机程序设计语言逐渐淡化、萎缩,甚至正在走向消亡、淘汰,是因为它们在诸多方面,特别是函数继承性等方面,并不具备优势,而C程序设计语言则不同。C程序设计语言自出现后,首先在各高校流行开来,然后,各主要操作系统都逐渐采用C或C++?进行程序编写。 (2)? C程序以稳定而著称,Linux C及DOS下的C程序设计语言都比较稳定。Turbo C至今仍很流行,Linux C已成为嵌入式、中间件、单片机、单板机、接口编程等的常用控制语言。所以消费类的电子产品,如手机内部的控制程序,汽车中电设备的控制程序,电脑、电视机、电冰箱、空调、洗衣机等电器内部的控制程序和其它设备控制场合大量用到C程序。现代工业发展已和软件结缘,C程序会在人类的探索、继承、进取和发展中继续发挥关键的作用,不断创造新的价值。 (3) ?C编程比较好掌握,只要潜心学习,C程序设计对于不管是计算机软硬件、通信、信息类专业,还是文理类结合的其它非计算机类专业的人士,都容易上手。 (4) C有广泛的技术市场。目前在Unix、Linux、Windows、Mac、Solaris、NetWare等操作系统中,主体语言都用C/C++?实现,并在控制场合得以流行;此外,大量的小程序都用C编写。 (5) 在底层开发领域,物美价廉,性价比高,便于继承和推广。 (6) 适应规模大小可选,可深入到内层的各个方面。 正是基于以上优点,C/C++?具有较强的生命力。当然C/C++?的优点还不仅限于这些,在不同的应用场合,如通信中,C也是发展势头较猛的一个主流计算机控制语言;在数学建模、电器设备控制、油田设备控制中用到C/C++?程序设计的地方也很多。 当然,C并不是十全十美的,如果编程者掌握不好,乱用或滥用便会发生不稳定或内存泄漏的问题。但这主要是由于设计者或编程者对C/C++?的核心理解不够或适用场合不妥,而且C/C++?本身发展中的问题也有,其实绝大部分问题经过研究,发现问题所在,都可解决或绝大部分解决,并不影响工程的实际发展和应用。 10.1.2 Linux C编程技术 1.? Linux C编程基本步骤 为了快速掌握C,现以一个简单的Linux C程序为例,说明在Linux环境下C语言程序设计的基本步骤。 例如,设计一个程序,要求在屏幕上输出“Hello Linux C!”。 分析:可用C程序最简单的主函数来解决这个问题,主函数体只要一个输出语句,printf 是C中的输出函数,双引号中的内容将被原样输出,\n是换行符。 编程步骤如下: (1) 编写程序源代码。Linux下常用的文本编辑器是Vim,在屏幕终端中输入如下命令: [root@localhost root]# vim 10-1.c 得到文本编辑器工作界面,接着按 i(a / o)键,进入编辑模式,输入如下程序代码: #include stdio.h int main() { printf (Hello Linux C! \n); /* C程序的内容,显示输出Hello Linux C! */ return 0; } 为了便于他人或编程者以后阅读,建议从最简单的程序开始,养成写注释的习惯。其中,注释内容在“/*”与“*/”之间,凡是在此之间的文字(或其它字母、数字),编译器均会忽略,不予编译,只是便于编程者了解或读懂程序。 “#include”是指定程序中用到的系统函数所包含的文件库,“stdio.h”是标准输入/输出库。“main()”表示主函数,每个C语言设计的程序都必须至少有一个主函数,主函数体(主函数内容)使用“{ }”(大括号)括起来,每条语句使用标点符号“;”(分号)来结束。 (2) 编译程序。编译程序之前,最好先确定程序的源文件是否存在,可使用Linux的“ls”命令查看当前目录下是否有10-1.c的源文件。若在根目录下,输入[root@localhost root]# ls,则显示出“10-1.c”的源文件名。接着使用编译命令编译此源文件,将其编译成可执行文件;若编译时没有出错信息,则说明程序编译成功,显示如下代码: [root@localhost root]#gcc -o 10-1 10-1.c [root@localhost root]# (3) 运行程序。编译成功以后
显示全部