zoukankan      html  css  js  c++  java
  • C语言概述

    【C语言】C语言概述

    说明:这个C语言专题,是学习iOS开发的前奏。

    也为了让有面向对象语言开发经验的程序猿,可以高速上手C语言。假设你还没有编程经验,或者对C语言、iOS开发不感兴趣。请忽略

    为什么iOS开发要先学C语言?

    iOS开发的核心语言是Objective-C,Objective-C是在C语言的基础加了一层面向对象的语法。

    为了能够更好地掌握Objective-C。我们能够先学习C语言,然后在C语言的基础上升华到Objective-C。当然。你也能够直接学习Objective-C,仅仅是我个人建议先学习C语言,再学习Objective-C,最后学习iOS开发,这样效果会好一点。

     一、C语言简史

    • C语言于1972年发明,首次使用是用于重写UINX操作系统(UNIX曾经是用汇编写的)
    • 随着UNIX操作系统的成功。C语言也得到了大幅度地推广,至今还是世界上最流行、使用最广泛的高级程序设计语言之中的一个
    • C语言是一门面向过程的语言,非面向对象的语言

    以下是2013年3月份的编程语言热门排行榜

    从C语言诞生至今。它的热度一点也没减过,前两名基本上都是Java和C

    二、C语言的特点

    1.丰富的运算符

    计算机的基本功能就是计算。因此一门程序设计语言的计算能力是很重要的。C语言提供了34种运算符,计算类型及其丰富。当中包含了最主要的加减乘除运算。

    2.丰富的数据类型

    C语言之所以生命力怎样强大,非常大一部分是由于它拥有丰富的数据类型。C语言的数据类型有:整型(int)、实型(float)、字符型(char)、数组类型(int [])、指针类型(void *)、结构体类型(struct)、共用体类型(union)等。众多数据类型中,最强大的是指针。通过指针我们能够直接訪问内存地址。

    指针使用得当的话,不仅能够节省代码量。还能够优化内存管理、提高性能。因此。指针是一个非常重要的概念,必须重视。假设你说C语言中除了指针,其它都学得挺好的,那你干脆说你没学过C语言。

    正由于C语言数据类型丰富。运算能力极强,因此非常多数据库都是用C语言编写的。比方DB2、Oracle等。

    3.同意直接訪问物理地址,对硬件进行操作

    因为C语言同意直接訪问物理地址,可以直接对硬件进行操作。因此它既具有高级语言的功能,又具有低级语言的很多功能,可以像汇编语言一样对位(bit)、字节和地址进行操作,而这三者是计算机最主要的工作单元。

    4.高效率的目标代码

    对照汇编语言,C语言可读性好,易于调试、改动和移植,代码质量与汇编语言相当。

    5.可移植性好

    在一个环境上用C语言编写的程序。不修改或稍加修改。就可移植到还有一个全然不同的环境中执行。

     

    上面说的都算是C语言的长处。只是它肯定是有缺点的:

    • 因为C语言是面向过程的,因此它的数据封装性差、安全性低,这就是C语言和其它面向对象语言的差别之中的一个。

      面向对象语言的特性之中的一个就是数据的封装性

    • 语法限制不严格,对变量的类型约束不严格,对数组下标越界不作检查等

     三、C语言能做什么?

    • 因为C语言具有强大的数据处理能力,并且同意直接訪问物理地址。直接对硬件操作。因此它适于编写系统软件、图形处理、单片机程序、嵌入式系统开发甚至是用于科研
    • 非常多操作系统的底层都是用C语言写的。比方android
    •  iOS开发中的核心语言是Objective-C(简称OC),OC是在C语言的基础上加了一层面向对象语法
      四、C语言的版本号问题

    从UNIX操作系统的成功后,C语言得到了广泛地应用,从大型主机到小型微机,都有C语言活跃的身影。也衍生了非常多个版本号的C语言。长期以往。C语言将可能成为一门有多个变种、松散的语言。一门正式的语言,肯定要有个标准才行。不然就乱套了。为了改变这样的局面,1983年美国国家标准局(American National Standards Institute,简称ANSI)成立了一个委员会,開始制定C语言标准的工作。

    1989年C语言标准被批准,这个版本号的C语言标准通常被称为ANSI C

     


  • 相关阅读:
    很好的Socket教程
    TcpClient 错误"不能做任何连接,因为目标机器积极地拒绝它" 的解决
    Tcp通信 暑期学习笔记(二)
    svn1.5+TortoiseSVN1.5+VisualSVN1.5
    进程、线程、应用程序域 暑期学习笔记(一)
    线程状态(转)
    Udp通信 暑期学习笔记(三)
    杜婧/于洋(为奥运冠军名字作诗)
    王峰(为奥运冠军名字作诗)
    刘子歌(为奥运冠军名字作诗)
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/6839362.html
Copyright © 2011-2022 走看看