Linux操作系统上大部分应用程序都是基于C语言开发的。小编将简单介绍Linux平台上常用的C语言开发程序。

一、C程序的结构
1.函数

必须有一个且只能有一个主函数main(),主函数的名为main。main()是在程序的什么位置,C程序总是从main()函数开始执行。
可以是系统预定义的标准函数,如scanf函数,printf函数等。
大多数函数由程序员根据实际问题的需要进行定义,函数之间是平行的关系。基此,C语言也被称为函数语言。
函数由函数头和函数体两部分组成。
2.语句
语句是组成程序的基本单位,函数功能的实现由若干条语句完成。
语句有若干关键字加以标识,如if-else语句、do-while语句等
C语言的输入/输出由scanf函数/printf函数
3.其他
预处理命令。C程序往往含有“#”开头的命令,是预处理命令,如图例1-2中#include"stdafx.h"。
程序注释。以/*开头,以*/结束的内容,是程序中注释的部分,注释语句不会被程序编译执行。

二、C语言的标识符,关键字,运算符和分隔符
标识符。分为预定义标识符和用户自定义标识符两种。
(1)系统预定义标识符。他们的功能和含义由系统预先定义好的,如printf代表输出函数名,main代表主函数名。他于关键字不同的是,系统预定义标识符允许用户赋予新的含义,但是这样往往会引起一些误解,所以建议用户不要把这些系统预定义标识符另作他用。
(2)用户自定义标识符。合法的用户自定义标识符应满足:
只能由大小写英文字母,阿拉伯数字和下划线组成。
标识符的开头必须是字母或下划线,大小写字母有区别。如R,r是两个变量名。
标识符长度视不同编译器而规定不同,不宜太长,通常在6个字符之间均能适应各种系统。
像myster、R_1、_start都是合法的标识符。

像12d、D$、int都是不合法的用户自定义标识符。

(3)关键字。又称保留字,由系统提供用以表示特定的语法成分。如int表示整型数据、float表示单精度实型。所有关键字都有特殊的固定的意义不能他用

(4)运算符。用来对运算对象进行规定的运算,并得到一个结果值。如:“+”表示加法运算,“=”表示赋值运算,“==”表示“相等”的判断,有的运算符中的两个字符是分开的,如“?:”表示条件运算。

根据运算对象个数不同,可分为单目运算符,双目运算符和三目运算符,又称一元运算符,二元运算符,三元运算符。

(5)分隔符。用于分隔各个词法记号或程序正文,用于表示程序中的一个实体的结束和另一个实体的开始。常用的分隔符有:

()   {}  ,  :  ;  空白

这些分隔符不表示任何操作,仅用于构造程序。

三、C程序的算法
算法应具有以下特点:

①有穷性。
②确定性。
③无输入或有多个输入。
④有一个或多个输出。
⑤有效性。
四、C程序的编辑、编译、连接装配和执行
为了让计算机能够正确的理解和执行高级程序设计语言所编写的“源”程序,就需要将高级语言所写的源程序翻译成二进制形式的“目标”程序。能够完成上述工作任务的软件被称为编译程序或编译器。用C语言编写的源程序通过编译器编译成二进制的目标程序,然后将目标程序与系统函数库及其他目标程序连接起来,就形成了在一定操作系统平台上的可执行程序或命令程序。
本文纯属小编总结,仅供参考。

Linux平台上常用到的c语言开发程序的更多相关文章

  1. JAVA平台上的网络爬虫脚本语言 CrawlScript

    JAVA平台上的网络爬虫脚本语言 CrawlScript 网络爬虫即自动获取网页信息的一种程序,有很多JAVA.C++的网络爬虫类库,但是在这些类库的基础上开发十分繁琐,需要大量的代码才可以完成一 个 ...

  2. 如何在linux平台上编译安装zlib软件(公司部分线上机器缺少zlib不能安装supervisor)

    文章在Centos  6.5 linux平台上演示一下如何进行编译安装zlib软件,并配置相关的选项加载使用.示范从下载到安装并配置进行使用过程一系列整套讲解,希望可以给网友考虑使用,谢谢.   工具 ...

  3. Linux平台上轻松安装与配置Domino

    Linux平台上轻松安装与配置Domino Domino Server的编译安装过程中需要用到libstdc++-2.9和glibc-2.1.1(或者其更高的版本)两个编译模块,它们是Linux开发编 ...

  4. 在LINUX平台上手动创建多个实例(oracle11g)

    在LINUX平台上手动创建多个实例(oracle11g) http://blog.csdn.net/sunchenglu7/article/details/39676659 ORACLE linux ...

  5. Jexus是一款Linux平台上的高性能WEB服务器和负载均衡网关

    什么是Jexus Jexus是一款Linux平台上的高性能WEB服务器和负载均衡网关,以支持ASP.NET.ASP.NET CORE.PHP为特色,同时具备反向代理.入侵检测等重要功能.可以这样说,J ...

  6. 关于如何在Android、Java等非微软平台上建立高信任的SharePoint应用程序

    关于如何在非微软平台上建立高信任的SharePoint应用程序 原文 :http://blogs.msdn.com/b/kaevans/archive/2014/07/14/high-trust-sh ...

  7. Domino V8 在 UNIX/Linux 平台上的安装及其常见问题

    在 IBM Bluemix 云平台上开发并部署您的下一个应用. 开始您的试用 Domino V8 的安装需求 Domino V8 可以支持多种平台和操作系统,表1 列出了其支持的各种 UNIX/Lin ...

  8. [4G]Linux平台上实现4G通信

    转自:http://blog.sina.com.cn/s/blog_7880d3350102wb92.html 在ARM平台上实现4G模块的PPP拨号上网,参考网上的资料和自己的理解,从一无所知到开发 ...

  9. windows平台是上的sublime编辑远程linux平台上的文件

    sublime是个跨平台的强大的代码编辑工具,不多说. 想使用sublime完毕linux平台下django网站的代码编辑工作以提高效率(原来使用linux下的vim效率较低,适合编辑一些小脚本). ...

随机推荐

  1. SpingMVC流程图

    Struts的请求流程 springmvc的流程 0.struts2       MVC框架  Controller  Hibernate     持久化框架   Model  spring      ...

  2. python基础-面向对象编程之组合

    面向对象编程之组合 定义:一个对象中拥有另一个或其他多个对象的属性和方法. 作用:减少代码的冗余,降低耦合度 关于耦合度的说明 耦合:通俗地讲,就是相互作用,相互影响的意思 耦合度越高,程序的可扩展性 ...

  3. Windows 系统常用命令

    /** 环境变量配置 * sysdm.cpl */ /** 系统服务管理 * sservices.msc */ /** 远程服务器连接 * mstsc */ /** doc命令窗口 * doc */

  4. Nginx Rewrite相关功能-防盗链

    Nginx Rewrite相关功能-防盗链 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  5. Ubuntu 16.04.6 + Win10 双系统时间错误且不一致

    1.在Win系统下,按Win键 + R,输入regedit 运行, 2.打开注册表,按照路径查找     计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet ...

  6. css 高度随宽度比例变化

    [方案一:padding实现] 原理: 一个元素的 padding,如果值是一个百分比,那这个百分比是相对于其父元素的宽度而言的,padding-bottom 也是如此. 使用 padding-bot ...

  7. 调试CEF3程序的方法

    CEF3多进程模式调试时按F5只会启动调试Browser进程,要调试Renderer进程就要让进程在启动时就暂停并附加进程. 所幸google早就想到了这一点,chrome的命令行参数就可以办到, - ...

  8. JDK1.8 LocalDate 使用方式;LocalDate 封装Util,LocalDate工具类(四)

    未完待续 ........ 前言:       加班了好几天,终于结束上一个坑的项目了,项目交接人员全部离职,代码一行注释没有,无人问津的情况下,完成了项目,所以好的规范真的很重要. 继续日期改写 一 ...

  9. luoguP5495:Dirichlet 前缀和

    题意:给定数组a[]的生成方式,然后b[i]=∑a[j]  ,(i%j==0),求所有b[i]的异或和.所有运算%2^32; 思路:高维前缀和的思想,先筛出所有素数,然后把每个素数当成一维,那么分开考 ...

  10. [codevs3044]矩形面积求并

    题目描述 Description 输入n个矩形,求他们总共占地面积(也就是求一下面积的并) 输入描述 Input Description 可能有多组数据,读到n=0为止(不超过15组) 每组数据第一行 ...