Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > C/C++ > (3)'c++:COMPLETE REF...' 第一部分 第一章(c语言概述) 第二节
【标  题】:(3)'c++:COMPLETE REF...' 第一部分 第一章(c语言概述) 第二节
【关键字】:c++,COMPLETE,REF...
【来  源】:http://blog.csdn.net/ThinkingHalo/archive/2007/01/18/1486547.aspx

(3)'c++:COMPLETE REF...' 第一部分 第一章(c语言概述) 第二节

Your Ad Here

c语言是一种中级语言

      c语言常常被称为中级语言。并不是说c语言不够强大,也不是说它很容易掌握,更不是说它不如其他高级语言如Basic、Pascal那样先进。同时,c语言也不像汇编语言那样的繁琐。c语言之所以被认为是中级语言,主要是因为它把高级语言的优秀特性和汇编语言的控制力、灵活性结合在了一起。表1-1展示了c语言在所有编程语言光谱中的位置。

表1-1:C's Place in the World of Languages
Highest level                      Ada
                                          Modula-2
                                          Pascal
                                          COBOL
                                          FORTRAN
                                          BASIC
Middle level                       Java
                                          C#
                                          C++
                                          C
                                          Forth

                                          Macro-assembler
Lowest level                      Assembler

      做为中级语言,c语言允许访问位、字节和地址等计算机底层功能元件。尽管这样,c语言代码仍然具有高度的可移植性。可移植性是指能方便的把为某一特定计算机开发的代码的改写成适用于另一种计算机的代码的特性。例如,如果你使一个为Unix操作系统编写的程序同样能在windows操作系统上运行,那么这个程序就具有可移植性。

      所有的高级语言都支持数据类型的概念。数据类型定义了该类型变量可以存储的值的集合,并且还定义了可应用于这种变量的一个操作符的集合。常见的数据类型有整型、字符型、实数类型。尽管c语言定义了5种基本类型,但是和Pascal和Ada语言一样,c语言并不是强数据类型语言。c语言几乎允许所有的类型转换。例如,c语言允许把整型和字符型变量放在通一个表达式中进行运算。

      c语言与高级语言不同的一个地方是:c语言不对运行时错误提供检测机制。比如,c语言无法确保数组在程序运行时不越界。对于数组越界等运行时错误的检查要求程序员自己去完成。

      同样,c语言也不要求形参和实参的数据类型有严格的兼容性。如果你具有其它高级语言的编程经验,你会知道,大部分高级语言基本上都要求实参和接受该实参的形参的数据类型有严格的对应,而c语言并非如此。相反,c语言允许实参使用任何数据类型,只要该类型可以转换为形参可以接受的类型。同时为了实现这些功能,c语言提供了几乎所有数据类型之间的转换机制。

      c语言具备一个特点就是它允许对位、字节、字以及指针的直接操作。这使得它非常适合进行系统级的开发。

      c语言还有一个重要的特点实它使用的关键字数量不多。例如,C89标准仅仅给c语言定义了32个关键字,C99标准也只添加了另外5个。对比之下,大部分版本的Basic语言都有至少100个以上的关键字!

 

应用log4cxx在c++中记录日志:【上一篇】
用VC在局域网实现IP多播通信:【下一篇】
【相关文章】
  • 应用log4cxx在c++中记录日志
  • 痛并快乐着的C++学习之旅
  • Pro visual c++/cli and .net 2.0 platform2 学习笔记(8第三章 面向对象的C++/CLI===1)
  • C++ Tips: 类型和声明
  • C++中typename关键字的使用方法和注意事项
  • 向大家推荐一个C++ Web Framework:witty
  • C/C++语言中void及void指针的深层探索
  • 我的C++路程
  • 获取文件CRC32值VC++实现
  • Doxygen-C/C++ java文档生成器入门心得
  • 【随机文章】
  • 让你的Windows 2000"冬眠"
  • WPF/E 12 CTP 现状与将来.
  • 用flash制作时间
  • 谨防Microsoft RPC漏洞
  • ASP 3.0高级编程(五)
  • 普法学习后才知道信息产业部的计算机信息系统集成资质认证是非法的
  • 关于SerialPort类的一些东东
  • PhotoImpact 10 视频教程-辅助说明
  • 写一点关于排序的总结
  • abs-guide-part2
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.