1.C语言起源
C语言是由UNIX的研制者丹尼斯 . 里奇和肯 . 汤普逊于1970年研制出的B语言的基础上发展完善起来的。19世纪70年代初期,贝尔实验室的丹尼斯 . 里奇第一次将B语言改为C语言。
2.C语言特点
C语言是一种面向过程的语言,同时具有高级语言和汇编语言的优点。由于具有良好的移植性,稍加修改或不用修改即可进行跨平台的程序开发操作。
3.算法与数据结构
算法是完成特定任务的一系列步骤描述,是解决问题的策略, 规则, 方法,即解决”做什么“和”如何做“的问题。算法具备的特性为:有穷性, 确定性, 可行性, 输入和输出。算法的3种基本结构:顺序结构, 选择结构(分支结构), 循环结构,按照判断条件出现的位置,循环结构分为当型循环和直到型循环。衡量一个算法的好坏,可从正确性, 可读性, 健壮性, 时间复杂度与空间复杂度几个方面来分析。描述一个算法常用的方法有:自然语言, 流程图, N-S流程图等。
数据结构主要研究非数值性程序设计中计算机操作的数据及相互关系和运算。数据是对客观事物的符号表示,数据元素是数据的基本单位,又称为记录。数据元素一般由若干基本项(或称字段, 域, 属性)组成。数据类型是对数据元素取值范围与运算的限定。数据的逻辑结构可分为两大类:线性结构和非线性结构。
数据元素之间的关系有集合关系, 线性关系(线性结构), 层次关系(树结构), 网状关系(图结构)。线性结构是一对一,除了第一个和最后一个数据元素外,数据中的每一个元素都有且只有一个直接前驱和一个直接后继,如线性表, 栈, 队列。树形结构是一对多,有且仅有一个根节点,除根节点外,其余节点有且只有一个前驱节点,末端元素没有后续节点,其余每个元素可以有一个或多个后续元素。图状结构是多对多,任一元素可以有若干个直接前驱和直接后继。
在计算机运算中,数据需要按照其原本的逻辑关系存储于存储器(内存)中。数据的存储结构包括:顺序存储, 链式存储, 索引存储, 散列存储。顺序存储是将数据结构中各元素存放于内存中一片连续的存储空间中。链式存储是将各元素分布到存储器的不同位置,通过地址(链指针)方式建立它们之间的逻辑关系。索引存储是在存储数据的同时,建立一个附加的索引表。散列存储(Hash)是将数据元素的存储位置与关键码(值)之间建立确定对应关系的查找技术,其基本思想是由节点的值决定节点的存储地址,基本原理是散列函数,通过存储的数据在散列函数的值来查找存储的位置。
4.简单的C程序
程序来源于日常生活,是指完成某些事务的既定方式和过程。计算机中的程序指完成一系列指令的有序集合,由算法和数据结构构成。
#include <stdio> //预处理操作, include为文件包含命令
int main() //程序的入口部分
{
printf("Hello World!\n");//输出字符串
return 0; //程序返回0
}
程序的执行:程序编写完成后,首先需要编译转换成.o的目标文件,然后通过连接创捷可执行文件,最后执行该程序。
5.C语言注释
1)单行注释
//注释内容
2)多行注释
6.开发环境
1)Turbo C
特点:简单小巧直观,但界面不是很友好,不能用鼠标进行操作,不支持同时编辑多个文件
2)Visual C++ 6.0
特点:经典开发工具,体积大,功能强大,可视化
3)Code::Blocks
特点:开源C/C++开发工具