C语言系列(一):C语言程序概述

C语言作为一种高级程序设计语言,既有高级语言的方便性、灵活性和通用性等特点,又兼具低级语言的特性,提供程序员直接操作计算机硬件的功能。

适合各种类型的软件开发,深受软件工程技术人员的青睐。嵌入式从事者亦如此,C语言是嵌入式工程师使用最多的语言。

程序设计语言的发展大致经历了以下的5个阶段:
机器语言:计算机能够识别的指令集合(指令系统)。每条指令都用二进制0和1组成的序列来表示。用机器语言编写的程序,计算机可以直接执行,且执行效率高,但机器语言的指令不直观,编程缺乏通用性,需查阅机器指令系统,编程效率低。

汇编语言:采用一些助记符号(如ADD,SUB等)来表示机器语言的指令,用汇编语言编写的程序称为源程序,计算机不能直接执行,必须经过汇编程序翻译成机器语言。汇编语言指令与机器语言指令有一一对应关系,故不同类型计算机其汇编语言也不尽相同,编程时仍需要熟悉机器的内部结构,比较繁琐。

高级语言:面向算法过程的程序设计语言。一条语句相当多条汇编语言指令或机器语言指令,不需熟悉机器的内部结构。经过编译和链接过程,才能由计算机执行。

面向任务的程序设计语言:非过程化语言,无须知道问题怎么求解,只需描述求解什么问题,便可编程实现。如数据库语言。

面向对象的程序设计语言:程序被看作相互协作的对象集合,每个对象都是每个类的实例,所有的类构成一个通过继承关系相联系的层次结构。(C++、Java)

程序=数据结构+算法
算法就是对特定问题求解步骤的一种描述:有穷性,确定性,有效性,有数据输入,有结果输出。描述算法的方法包括自然语言,传统流程图和伪代码等。
伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法。

C语言的特点
1.是一种结构化语言:函数是基本结构模块
2.语句简洁紧凑,使用方便灵活
3.易于移植:将与硬件有关的因素从语言主体中分离出来,通过库函数或其他实用程序来实现。
4.有强大的处理能力:在许多方面具有汇编语言的特点,大大提高语言的处理能力
5.生成的目标代码质量高,程序运行效率高

C语言的不足之处主要表现在数据类型检查不严格,表达式出现二义性、不能自动检查数组越界。

第一个C语言程序

#include //编译预处理命令
void main() //主函数
{
printf(“Hello World.\n”); //输出Hello World 并换行
}
运行结果打印输出Hello World

分析:

  1. C语言程序由函数构成,案例涉及函数包括主函数main()、系统函数printf()。{}的内容为函数的主体,即函数体。每个程序有且只有一个主函数。
  2. 程序都是从main函数开始运行,main函数运行结束代表程序亦结束。
  3. #include作用是将有关文件信息包含到程序中。将stdio.h头文件包含,程序便可调用其中的系统库函数printf()。
  4. //或/* */代表注释。

一个完整的C语言程序由1个main()函数带多个用户自定义函数构成,大致包括:
头文件包含(一组#include命令)、用户自定义函数声明、主函数main()、若干用户自定义函数的定义。

程序设计语言必须具有数据表达和流程控制的功能,数据类型包含数据类型的定义域(规定该类型代表什么数据)和数据操作(规定该类型能做什么运算)。C语言提供了基本数据类型(整形,实型,字符型等)和构造数据类型(数组,指针,结构,联合,文件等)。提供语句级控制(顺序结构,分支结果,循环结构)和单位级控制(函数结构)两种方式。

字符集:英文字母,阿拉伯数字,下画线(_),其他特殊符号(主要是运算符)。
标识符:由字母,数字和下画线组合而成,首字符必须是字母或者下画线。
关键字:指C语言系统中规定的具有特殊含义的标识符,关键字不能用作变量名,常量名或函数名来使用。
根据ANSI标准,C语言可以使用以下32个关键字:
auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union void unsigned volatile while

C语言基本语法
常量:程序运行过程中,值不能改变的量。
变量:程序运行过程中,值可以改变的量。变量通常具有名字,称为变量名,其必须是合法的标识符。变量有数据类型,定义时必须指明变量的数据类型,以便系统为其分配内存空间。
运算符:表示对各种类型数据对象的运算操作,分三大类,算术运算符,关系运算符和逻辑运算符。除此之外还有一些特殊的运算符如赋值运算符,条件运算符,逗号运算符等。
表达式:用运算符将运算对象链接起来的符合C语言规则的式子。主要有算术表达式,关系表达式,逻辑表达式。
语句:程序最基本的执行单位。含赋值语句,分支语句,循环语句,复合语句。
函数:涉及函数声明,函数定义和函数调用。
输入和输出:调用系统库函数中的相关函数scanf()和printf()。

编写一个程序需要做许多工作,包括编辑(源程序.c),编译(目标程序.obj),链接(可执行程序.exe)和运行调试(单步调试,断点调试,观察变量)等过程。

参考资料:肖捷 侯家利——C语言程序设计

你可能感兴趣的:(C语言,程序设计,嵌入式,c语言)