栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言的特点

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言的特点

C语言的特点

1. 静态弱类型语言,在使用变量时需要声明变量类型,部份变量类型可以转换, 例如整型和字符型变量;

  • 基于C89标准下的隐式类型转换规则:
  1. 算术运算中或者逻辑判断表达式中操作式,不匹配的时候
  2. 赋值时,如果左右操作数类型不匹配
  3. 函数传递进去的实参和匹配的形参对应不上
  4. 函数返回的表达式的类型和函数返回类型不匹配
  • 强制类型转换
(type_name)expression

2. 只有32个保留字,使变量、函数命名有更多弹性

但其实c99及之后已经不止32个保留字了,(说实话我get不到这个特点的意义在哪里??)

3. 不同的变量类型可以用结构体(struct)组合在一起,以此来声明新的数据类型
不同类型的数据存放在一起,方便作为一个整体进行处理。结构体的作用并不仅仅是为了简便,其最主要的是封装。封装的一个好处就是可以再次利用。另一个好处就是使用者不必关心这个是什么,只要根据定义使用就可以了。

4. C语言是一个有结构化程序设计、具有变量作用域以及递归功能的过程式语言。
C语言程序设计的结构有:顺序结构,选择结构 ,循环结构 ,跳转语句;总共分为9条语句,实现程序结构化编程,使程序具有逻辑性,层次性。
顺序结构没啥好说的,就是从上往下依次执行,是程序的整体的趋势。
选择结构的语句有: if 语句, switch语句
循环结构的语句有:for语句,while语句,do-while语句
跳转语句有:break,continue,goto,return

5. 传递参数一般是以值传递,也可以以址传递(指针)
值传递 使用变量、常量、数组元素作为函数参数,实际是将实参的值复制到形参相应的存储单元中,即形参和实参分别占用不同的存储单元,这种传递方式称为“参数的值传递”或者“函数的传值调用”。
值传递的特点是单向传递,即主调函数调用时给形参分配存储单元,把实参的值传递给形参,在调用结束后,形参的存储单元被释放,而形参值的任何变化都不会影响到实参的值,实参的存储单元仍保留并维持数值不变。

6.使用用 typedef 关键字来定义类型的别名,以此来达到变量类型的抽象
一种常用的使用场景是使用 typedef 来定义与平台无关的类型,当跨平台移植程序时,只需要修改一下 typedef 的定义即可,而不用对其他源代码做任何修改。标准库中就广泛地使用了这个技巧:

#ifndef _SIZE_T_DEFINED
#ifdef  _WIN64
typedef unsigned __int64    size_t;
#else
typedef _W64 unsigned int   size_t;
#endif
#define _SIZE_T_DEFINED
#endif

大部分时候,也会使用 typedef 来为自定义数据类型(结构体、共用体和枚举类型)、数组、指针等定义简洁的类型名称。

7.通过指针,C语言可以容易的对存储器进行低级控制
在C语言中,指针的使用非常广泛,因为使用指针往往可以生成更高效、更紧凑的代码。总的来说,使用指针有如下好处:
1)指针的使用使得不同区域的代码可以轻易的共享内存数据,这样可以使程序更为快速高效;
2)C语言中一些复杂的数据结构往往需要使用指针来构建,如链表、二叉树等;
3)C语言是传值调用,而有些操作传值调用是无法完成的,如通过被调函数修改调用函数的对象(例如swap() 函数),但是这种操作可以由指针来完成,而且并不违背传值调用。

8. 预编译处理让C语言的编译更具有弹性
C语言的三种预处理包括:宏定义(#define)、文件包含(#include)、条件编译(#if、#else、#endif)
C语言源码生成过程:

其中预编译阶段,也就是编译预处理阶段,读取C源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理。
在C 语言中,并没有任何内在的机制来完成如下一些功能:在编译时包含其他源文件、定义宏、根据条件决定编译时是否包含某些代码。要完成这些工作,就需要使用预处理程序。尽管在目前绝大多数编译器都包含了预处理程序,但通常认为它们是独立于编译器的。预处理过程读入源代码,检查包含预处理指令的语句和宏定义,并对源代码进行响应的转换。预处理过程还会删除程序中的注释和多余的空白字符。


正是C 语言的这些特性,使得程序员可以在微观层面进行非常精细的编程操作,在底层和系统细节上非常自由、灵活和精准地控制代码。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/965870.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号