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. QT场景视图父子关系图元打印研究

    在之前的一篇文章中,实现了QT场景视图的打印功能,主要通过render函数来实现,非常简单和方便. 在实际的项目需求中,除了打印整个场景外,还需要对单个图形进行打印操作,基于item的图形可以在pai ...

  2. 算法-memcopy与memmove的区别

    memcpy()和 memmove()都是C语言中的库函数,在头文件string.h中,作用是拷贝一定长度的内存的内容,原型如下 void *memcpy(void *dst, const void ...

  3. elasticsearch组合多条件查询实现restful api以及java代码实现

    原文:http://blog.java1234.com/blog/articles/372.html elasticsearch组合多条件查询实现restful api以及java代码实现 实际开发中 ...

  4. grep基本详细使用

    过滤文件类容---grep grep正则表达式应用: #grep [option]"pattern" 文件名称 pattern模式 由普通字符和正则表达式的元字符组构成的条件 简单 ...

  5. 使用 python set 去重 速度到底是多快呢???

    这次去测试一下 python 的set去重,速度怎么样? 我们要做的是把文件一次性读取到内存中,然后去重,输出去重的长度. 第一步:对 121w 条数据去重,看去重话费的时间 上证据: 第二步:对 1 ...

  6. WPF系列 —— 控件添加依赖属性(转)

    WPF系列 —— 控件添加依赖属性 依赖属性的概念,用途 ,如何新建与使用.本文用做一个自定义TimePicker控件来演示WPF的依赖属性的简单应用. 先上TimePicker的一个效果图. 概念 ...

  7. 微信小程序中的事件

    事件 说明 bindtap bindload 当图片载入完毕时触发,event.detail = {height, width} bind事件绑定不会阻止冒泡事件向上冒泡,catch事件绑定可以阻止冒 ...

  8. hdu 6217 A BBP Formula 公式题

    题意 已知公式:$\pi=\sum_{k=0}^{\infty}\left[\frac{1}{16^{k}}\left(\frac{4}{8 k+1}-\frac{2}{8 k+4}-\frac{1} ...

  9. css 布局 一中一右

    .container { position: relative; .my-center { text-align: center; line-height: 30rpx; min-width: 400 ...

  10. 【Tomcat】系统找不到指定的路径

    确认一下端口防火墙是否开放 没开放就开一下:firewall-cmd --zone=public --add-port=9080/tcp --permanent 然后重启: firewall-cmd ...