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. jQuery中的动画(七)

    一.jQuery对象样式相关方法1.设置高度和宽度height([num])    [获取或设置样式属性height的值]获取匹配元素中第一个元素的height样式值或给匹配所有元素设置height样 ...

  2. vue-quill-editor富文本编辑器 中文翻译组件,编辑与展示

    vue项目中用到了富文本编辑器,网上找了一些,觉得vue-quill-editor最好用, ui简洁,功能也好配,够用了,文档不好读,有些小细节需要自己注意,我懒得分析,就封装成了组件 大家用的时候直 ...

  3. mysql后台线程详解

    1.mysql后台线程 mysql后台线程主要用于维持服务器的正常运行和完成用户提交的任务,主要包括:master thread,read thread,write thread,redo log t ...

  4. pyecharts的使用

    折线图1 import pyecharts.options as opts from pyecharts.charts import Line ​ x_data = ["Mon", ...

  5. LAMP架构性能测试+php优化

     性能测试:1. 首先查看一下服务器的硬件性能free  -m  ---->查看一下内存的情况lscpu或者cat  /proc/cpuinfo     ------à查看一下cpu的情况2.  ...

  6. XGBoost使用教程(与sklearn一起使用)二

    一.导入必要的工具包# 运行 xgboost安装包中的示例程序from xgboost import XGBClassifier # 加载LibSVM格式数据模块from sklearn.datase ...

  7. django 自定义分页,网址存储缓存,CBV

    1. 通过切片控制分页 自定义分页: from django.shortcuts import render # Create your views here. from app01.models i ...

  8. MySol序

    1.mysql是基于C/S端的服务器软件 mysql服务端: server端开启,对文件的增删改查 , musql客户端::连接S端, 发送指令 isnert into t1 values(1); 2 ...

  9. 对象存储服务 OSS(Object Storage Service),知识点(待补充上仓库代码)

    资料 网址 官方文档 https://help.aliyun.com/product/31815.html?spm=a2c4g.11186623.3.1.3e1459669xRokl OSS Brow ...

  10. 5.服务注册与发现Consul,简学API,手动注册和删除服务

    package main import ( httptransport "github.com/go-kit/kit/transport/http" mymux "git ...