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效率较低,适合编辑一些小脚本). ...
随机推荐
- 解决 Electron 5.0 版本出现 require is not defined 的问题
Electron已经发布了5.0正式版,升级后发现原来能运行的代码报错提示require is not defined 经查相关资料,原来官方在5.0版本修改了nodeIntegration的默认值, ...
- iOS应用开发应遵循的10条设计原则
转自:http://mobile.51cto.com/design-309719.htm 1.操控便捷 iOS应用的控制设计应该具有圆润的轮廓和程式化的梯度,操作便捷. 2.结构清晰.导航方便 充分利 ...
- xamarin Mqtt
1 什么是MQTT? mqtt (Message Queuing Telemetry Transport,消息队列遥测传输)是 IBM 开发的一个即时通讯协议,有可能成为物联网的重要组成部分.MQTT ...
- 安装php源码包内的扩展
本地环境 PHP 7.0.4 (cli) (built: Mar 13 2016 21:50:22) ( NTS ) 安装 进入源码包中的ext文件夹中 [root@test etc]# cd /us ...
- rocketmq 两主两从异步集群搭建
1.安装JDK 需要先卸载系统默认的OPENJDK,安装 JDK1.8 64位的版本. 卸载open-jdk rpm -qa|grep java 查到open jdk的安装. 使用命令 rpm -e ...
- nginx实现tcp的反向代理
nginx不仅可以实现http的反向代理,同时也支持TCP的反向代理以SSH为例1.编译的时候需要加入--with-stream这个参数,以加载ngx_stream_core_module这个模块2 ...
- properties文件属性值@Value注解为 java entity属性赋值
一.使用@Value为 java entity类中的非static属性赋值 举个栗子,一目了然 1.1 properties文件 1.2 servlet.xml 文件增加的配置: 1.2.1 serv ...
- HDU 1372 Knight Moves 题解
Knight Moves Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tota ...
- 逆向破解之160个CrackMe —— 027
CrackMe —— 027 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- jieba模块
jieba模块 下载 pip install jieba 使用 import jieba 精确模式 jieba.cut() 直接打印出的是单个文字 转换成列表-->jieba.lcut() im ...