C语言与C#、C++和Java有着密切的“血缘”关系,可以说C语言是这几种语言的“鼻祖”,因为这几种语言都是在C语言的基础上发展起来的,所以常常能听到“C语言是一切语言的基础”这类话。没错,真正把C语言学明白后,再学习其他语言就非常简单了,反之,如果连C语言都没有学会,那么,再怎么学别的语言也不会精通。

C语言以其简洁、灵活、表达能力强、产生的目标代码质量高、可移植性好的特点而著称于世,一种语言要具有长久的生命力,总是有一些不同于其他语言的特点,详细归纳起来有以下几点,如图1.1所示。

为了方便读者理解,下面对C语言的特点进行详细的介绍。

C语言程序结构简洁、紧凑、规整、表达式简练、使用灵活。

C语言编写的程序可读性强、编译效率高。

C语言具有丰富的运算符,多达34种。丰富的数据类型与丰富的运算符相结合,使C语言具有表达灵活和效率高等特点。

C语言数据类型种类繁多。C语言具有5种基本的数据类型和多种构造数据类型,以及复合的导出类型,同时还提供了与地址密切相关的指针机器运算符。指针可以指向各种类型的简单变量、数组、结构,乃至函数等。C语言还允许用户自己定义数据类型。

C语言是一种结构化程序设计语言,特别适用于大型程序的模块化设计。C语言具有编写结构化程序所必需的基本流程控制语句。C语言程序是由函数集合构成的,函数各自独立,并且可作为模块化设计的基本单位。

说明 C语言的源文件可以分割成多个源程序分别进行编译,然后连接起来构成可执行的目标文件,为开发大型软件提供了极大的方便。C语言还提供了多种存储属性,使数据可以按其需要在相应的作用域中使用,从而提高了程序的可靠性。

C语言语法限制不太严格,程序设计自由度大。例如,对数组下标越界不做检查,由程序编写者自己保证程序的正确性。一般的高级语言语法检查比较严格,能检测出几乎所有的语法错误,而C语言允许程序编写者有较大的自由度,因此放宽了语法的检查。程序员应当仔细检查程序,保证其正确,而不要过分依赖C语言编译程序去查错。

C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。因此,C语言既具有高级语言的功能,又兼容低级语言的许多功能,可用来编写系统软件。

生成目标代码质量高,程序执行效率高。C语言一般只比汇编程序生成的目标代码率低10%~20%。

C语言具有较高的可移植性。C语言的语句基本上不做修改就能用于各种型号的计算机和各种操作系统。

C语言是处于汇编语言和高级语言之间的一种中间型程序设计语言,常被称为中级语言。它把高级语言的基本结构和汇编语言的高效率结合起来。因此,它既具有高级语言面向用户、可读性强、容易编程和维护等特点,又具有汇编语言面向硬件和系统,可以直接访问硬件的功能。

C语言是每个刚开始学习程序的人的首选,就像每个学英语的人,在刚开始时都要学习英语中的语法知识一样,只有语法知识掌握牢固了,学习其他内容才会更加得心应手,C语言也是一样的,先把C语言学好了,其他语言学起来就容易多了。

红黑联盟c语言教程,1.1.2 C语言的特点相关推荐

  1. it技术 学习资料库 红黑联盟:

    http://www.xuexi111.com/book/jisuanji/68383.html 红黑联盟: android教程_android高级教程_android教程 pdf_android开发 ...

  2. 我就纳闷了。。。红黑联盟。。的水印真的好明显,欺负我大csdn

    红黑联盟的人为毛老转载我的原创文章,而且还不标明出处... 还有其他的我就不说了.. 看看下面这张图: 有多可怜: 里面我的csdn是最不明显的....郁闷啊郁闷..    哎,也没什么了, 就那么回 ...

  3. c语言教程在线阅读,《C语言基础教程》.doc

    <C语言基础教程>.doc C语言基础教程(一) 网上收集整理 Turbo C语言概述 1.1 C 语言的产生与发展 C 语言是1972年由美国的Dennis Ritchie设计发明的, ...

  4. 初识c语言教程,第1课C语言教程一: 初识C程序.doc

    第1课C语言教程一: 初识C程序 第1课 初识C程序 教学目标 1.计算机语言介绍 2.了解C语言 3.如何学好C语言(多做题,多上机调试程序) 4.C语言上机调试环境 教学过程 计算机程序设计语言的 ...

  5. 【C语言教程】1、C 语言简介

    C 语言简介 历史 C 语言最初是作为 Unix 系统的开发工具而发明的. 1969年,美国贝尔实验室的肯·汤普森(Ken Thompson)与丹尼斯·里奇(Dennis Ritchie)一起开发了 ...

  6. c语言如何编程硬件,硬件C语言教程开篇——我对c语言的理解

    对于没有编程经历的人来说,初次听说 C语言 这个概念是一种很奇怪的感觉,C语言是什么,是一种外星语言么?为什么叫C语言呢?它是哪国说的话呢? 那"语言"是个什么概念呢?百度百科上解 ...

  7. 【红黑vip提权教程和饭客vip2010***教程全套】

    压缩包解压密码www.7747.net 第1课:提权综述(包括提权概念.通常所处的权限.常用第三方软件) http://soft3.7747.net/free/tq/1zs.rar 第2课:serv- ...

  8. mysql索引红黑联盟_MySQL索引

    MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度. 可以把索引看作是汉语字典的目录页,我们可以按拼音.笔画.偏旁部首等排序的目录(索引)快速查找到需要的字. ...

  9. android面试题之一(红黑联盟)

    本文属于转载 原文地址http://www.2cto.com/kf/201309/246530.html 在接下来的一段时间,我将收集一些常见面试题,综合网上资料加自己测试与理解,将其总结出来和大家分 ...

最新文章

  1. 猜拳小程序c语言编程,无聊的时候写的猜拳小程序
  2. Java,开源,分享
  3. java 对象被回收的例子_jvm(4)---垃圾回收(哪些对象可以被回收)
  4. 《CMake实践》笔记二:INSTALL/CMAKE_INSTALL_PREFIX
  5. 读书笔记-互联网思维必读10本书之一《免费》
  6. html 微博下拉菜单,jQuery实现模仿微博下拉滚动条加载数据效果
  7. C++笔记-获取光标(非鼠标坐标)在屏幕的位置
  8. 前端笔记-vue cli中使用router-link进行路由跳转
  9. java 自动装载_java_详解Java的Spring框架下bean的自动装载方式,Spring容器可以自动装配相互协 - phpStudy...
  10. android 62 手机存储目录的划分
  11. 20172304 《程序设计与数据结构》 第一周学习总结
  12. Linux面试题(总结最全面的面试题!!!)
  13. scrapy持久化存储
  14. 开源配置管理中心apollo使用方法
  15. 朋友圈那个随便辞职的年轻人,后来活成了什么样?
  16. 用docker快速搭建flarum论坛
  17. 移动端h5 顶部菜单栏_手机界面设计中12种常用布局 - 轩枫阁
  18. Winform(C#) 国内开源美化控件主题库2:花木兰控件库
  19. micro SD(TF)卡详解
  20. 详解randn函数及 randn('state')

热门文章

  1. 我在使用chrome经常使用的一些技巧
  2. 设置背景图片模糊,内容不模糊
  3. office 高效办公智慧树_华为发布首款商用台式机,打造未来高效智慧办公体验_企业...
  4. 解决网页中不能复制文字的问题
  5. 2019年6月26 突然想到的代码优化
  6. 使用mpvue开发微信小程序——原生微信小程序、mpvue、wepy对比
  7. 推荐系统的十个关键点
  8. STL容器底层数据结构的实现
  9. java国际化---native2ascii.exe 的使用方法
  10. 从php+mysql环境的注入,到整台服务器的沦陷