4.2 C语言优缺点
4.2.1 C语言优点
简洁紧凑、灵活方便
C语言一共只有32个关键字,9种控制语句,程序书写形式自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。 C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。 运算符丰富
C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型装换
等都作为运算符处理。从而使C语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。 数据结构丰富
C语言的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能,支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。 C是结构式语言
结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
C语法限制不太严格,程序设计自由度大
虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。
C语言允许直接访问物理地址,对硬件进行操作
13
由于C语言允许直接访问物理地址,可以直接对硬件进行操作,因此它既具有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可用来写系统软件。
生成目标代码质量高,程序执行效率高一般只比汇编程序生成的目标代码效率低10へ20%。 C语言适用范围大,可移植性好
C语言有一个突出的优点就是适合于多种操作系统,如DOS、UNIX;也适用于多种机型。C语言具有强大的绘图能力,可移植性好,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画,它也是数值计算的高级语言。
4.2.2 C语言缺点
1. C语言的缺点主要表现在数据的封装性上,这一点使得C在数据的安全性上有很大缺陷,这也是C和C++的一大区别。 2. C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。
C语言也有自身的不足,比如:C语言的语法限制不太严格,对变量
的类型约束不严格,影响程序的安全性,对数族下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。
总之,C语言既有高级语言的特点,又具有汇编语言的特点;既是一个成功的系统设计语言,又是一个使用的程序设计语言;既能用来编写不依赖计算机硬件的应用程序,又能用来编写各种系统程序;是一种受欢迎、应用广泛的程序设计语言C语言版本 。
4.3 C语言结构特点
1.一个C语言源程序可以由一个或多个源文件组成。 2.每个源文件可由一个或多个函数组成。
3.一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。
4.源程序中可以有预处理命令(include 命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面。
5.每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数
14
头和花括号“}”之后不能加分号。
6.标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。
15
第5章 详细编程及运行
5.1 基于C语言程序编写
就74循环码的编码与译码程序如附录所示:
5.2 运行及分析
5.2.1 运行结果理论分析
由循环码性质我们可以知道,对于(7,4)循环码来说,最小码距d0=4,
可以检测出3 位错误,纠正1 位错误,编码效率为4 7 ×100% = 57.1%。设传输信道的误码率为p ,据此设定信道模型存在如下关系:
传输正确概率为(1? p)n,信息帧传输错误概率为Pe=1-(1-p) n,每帧仅发生1 位错误的概率为Pe=Cn1p(1-p) n-1=np(1-p) n-1, 则1 位错误帧在总的错误帧中的概率为
R?(PE1np(1?p)n?1)?100%??100%PE1?(1?p)n表2 为其Pe,Pe1,R 的模拟结果 P 10-1 10-2 10-3 10-4 10-5 Pe 0.521703 0.0679347 0.00697903 0.00069979 0.000069979 Pe1 0.372009 0.0659036 0.0069581 0.00069958 0.00069958 R/% 71.30 97.01 99.70 99.97 99.97 表2 Pe,Pe1,R的模拟结果(n=7)
综合表2 的模拟结果和理论分析可知,通信系统的帧传输具有下列性质: (1) 在n 一定的条件下,信息帧错误概率随着比特误码率p 的增加而增加,最坏条件下帧错误 概率几乎为100%,此时系统失去通信能力。
(2) 在典型的通信环境下( p为10-3 ~10-5 5,帧长n =128 ~ 1024,np <1 ) , 当p → 0 时,R →1,表明当比特误码率p 足够小的情况下,绝大多数信息帧错误是每帧1 位错误,因此纠正每帧1 位错误有实际应用价值。
16
5.2.2 程序运行结果 1.初始化界面
图3
2.正确编码界面
图4
17