@akarin
2016-03-20T08:23:59.000000Z
字数 948
阅读 1424
作者:阿卡林
时间:2016/03/20
C语言设计目标是提供一种能以简易的方式编译、处理低级内存、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言也很适合搭配汇编语言来使用。尽管C语言提供许多低级处理的功能,但仍保持良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(微控制器或称MCU)以及超级电脑等作业平台。
Hello world!
:
#include<stdio.h>
int main()
{
printf("Hello world!\n");
return 0;
}
编写操作系统及驱动程序
开发嵌入式系统
编写服务器端软件 (如Apache、Nginx)
编写GUI程序 (如GTK)
优点:
语言简洁,使用方便灵活
可移植性好
表达能力强
表达方式灵活
可进行结构化程序设计
可以直接操作计算机硬件
生成的目标代码质量高
缺点:
开发效率低
对数组下标越界不检查
众多运算符优先级不易记忆,容易混淆
存在着一些不应该存在的语法限制
许多运算符被"重载",具有不同的意义
从实用角度讲,C++属于C语言的一个超集,基本上兼容ANSI C。但是从编译角度上讲,C语言的有些特性在C++中并不支持。相反,ANSI C继承了C++的几个特性,包括原型和常量。因此,这两种语言并不是另一个的超集或子集;而且它们在一些通用构造的定义上也不同。尽管有这些不同,许多C程序在C++环境中仍能编译,而且许多最新的编译器同时提供C和C++的编译模式。但是,不要把C代码完全当做C++代码来编译,否则在遇到不兼容问题时会给程序带来错误。
c语言从入门到精通(2016最新版)——C语言中文网
程序设计入门——C语言——中国大学MOOC
C语言程序设计进阶——中国大学MOOC
书籍:《C Primer Plus》