Linux平台上常用到的c语言开发程序
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语言开发程序的更多相关文章
- JAVA平台上的网络爬虫脚本语言 CrawlScript
JAVA平台上的网络爬虫脚本语言 CrawlScript 网络爬虫即自动获取网页信息的一种程序,有很多JAVA.C++的网络爬虫类库,但是在这些类库的基础上开发十分繁琐,需要大量的代码才可以完成一 个 ...
- 如何在linux平台上编译安装zlib软件(公司部分线上机器缺少zlib不能安装supervisor)
文章在Centos 6.5 linux平台上演示一下如何进行编译安装zlib软件,并配置相关的选项加载使用.示范从下载到安装并配置进行使用过程一系列整套讲解,希望可以给网友考虑使用,谢谢. 工具 ...
- Linux平台上轻松安装与配置Domino
Linux平台上轻松安装与配置Domino Domino Server的编译安装过程中需要用到libstdc++-2.9和glibc-2.1.1(或者其更高的版本)两个编译模块,它们是Linux开发编 ...
- 在LINUX平台上手动创建多个实例(oracle11g)
在LINUX平台上手动创建多个实例(oracle11g) http://blog.csdn.net/sunchenglu7/article/details/39676659 ORACLE linux ...
- Jexus是一款Linux平台上的高性能WEB服务器和负载均衡网关
什么是Jexus Jexus是一款Linux平台上的高性能WEB服务器和负载均衡网关,以支持ASP.NET.ASP.NET CORE.PHP为特色,同时具备反向代理.入侵检测等重要功能.可以这样说,J ...
- 关于如何在Android、Java等非微软平台上建立高信任的SharePoint应用程序
关于如何在非微软平台上建立高信任的SharePoint应用程序 原文 :http://blogs.msdn.com/b/kaevans/archive/2014/07/14/high-trust-sh ...
- Domino V8 在 UNIX/Linux 平台上的安装及其常见问题
在 IBM Bluemix 云平台上开发并部署您的下一个应用. 开始您的试用 Domino V8 的安装需求 Domino V8 可以支持多种平台和操作系统,表1 列出了其支持的各种 UNIX/Lin ...
- [4G]Linux平台上实现4G通信
转自:http://blog.sina.com.cn/s/blog_7880d3350102wb92.html 在ARM平台上实现4G模块的PPP拨号上网,参考网上的资料和自己的理解,从一无所知到开发 ...
- windows平台是上的sublime编辑远程linux平台上的文件
sublime是个跨平台的强大的代码编辑工具,不多说. 想使用sublime完毕linux平台下django网站的代码编辑工作以提高效率(原来使用linux下的vim效率较低,适合编辑一些小脚本). ...
随机推荐
- MySql数据库 timeout超时报警的解决方法
今天做查询mysql数据库是,因为数据量大所以报错 最后在 连接的地方做了如下改动: MySqlCommand cmd = new MySqlCommand(procedureName, conn); ...
- mysql 无法连接提示 Authentication plugin 'caching_sha2_password' cannot be loaded
mysql 无法连接提示 Authentication plugin 'caching_sha2_password' cannot be loaded 可能是密码没有设置或者,密码设置类型不符,可参考 ...
- Reactive-MongoDB 异步 Java Driver 解读
一.关于 异步驱动 从3.0 版本开始,MongoDB 开始提供异步方式的驱动(Java Async Driver),这为应用提供了一种更高性能的选择.但实质上,使用同步驱动(Java Sync Dr ...
- 性能测试基础---ant集成1
·Jmeter的命令行与ant等的集成.·为什么需要使用Jmeter的命令行模式(Non-GUI).·为了更好的利用负载机的资源.GUI模式会消耗更多的系统资源.·为了更好的掌握jmeter和其它工具 ...
- centos7下安装docker 以及简单使用
一 环境准备1.虚拟机or物理机 2.centos7系统(稳定,对docker支持友好) 二 安装过程step1:使用yum命令进行安装 yum install -y docker备注:-y 表示不询 ...
- request.user怎么来的
1.登录认证(auth认证登录后login后设置了session等信息包含用户的pk) >>>>> 2.用户再次请求登录的时候,通过 ...
- Python实战之ATM+购物车
ATM + 购物车 需求分析 ''' - 额度 15000或自定义 - 实现购物商城,买东西加入 购物车,调用信用卡接口结账 - 可以提现,手续费5% - 支持多账户登录 - 支持账户间转账 - 记录 ...
- java注释代码规范
//收集了一小部分,忘记的时候过来查一下 java--hadoop部分 /** * 此类用来处理DNS原始日志:统计给定域名平均响应时延 * @param Input * @param Output ...
- Lotus words
We are going to memorize a lot of words in the fourth grade of primary school. It's very difficult f ...
- Shell编程——多命令顺序执行、管道、grep命令
1.多命令执行符: (1)命令1:命令2 多个命令顺序执行,没有逻辑联系,即使命令1出错,命令2依旧执行. (2)命令1&&命令2:只有命令1正确执行,命令2才能正确执行:命令1 ...