您的当前位置:首页正文

C语言编程及调试技巧研究

2020-12-01 来源:爱go旅游网
C语言编程及调试技巧研究

作者:朱敬涵

来源:《科技传播》 2018年第21期

摘 要 随着计算机技术、人工智能及物联网的飞速发展,各种编程语言层出不穷,如Java、Python、C#、PHP、JavaScript 和Ruby 语言等。由于C 语言功能强大、可移植性强,因此尽管出现了很多功能强大的编程语言,但C 语言从来没有被抛弃过,且一直深受大众青睐,应用非常广泛。文章首先简单介绍了C 语言的概念,阐述了C 语言的优势,然后探讨了C 语言的编程技巧,最后提出了C 语言的调试技巧。

关键词 C 语言;编程;技巧;研究

中图分类号 TP3 文献标识码 A 文章编号 1674-6708(2018)222-0080-02

虽然在C 语言之后产生了大量的编程语言,然而大多语言都没有实现自举,仅有为数不多的编程语言实现了自举,如C 语言和Go 语言等,而且Go语言早期版本也是用C 语言开发的。目前,很多资料表明,有非常多的编程语言都是基于C 语言开发的,因此,适时进行C 语言编程技巧研究具有一定的现实意义。

1 C 语言概述

所谓C 语言,是指诞生于20 世纪70 年代的一种计算机编程语言,相对汇编语言来说属于一种高级语言,是一种可以用来进行结构化程序设计的面向过程的编程语言。由于C 语言是目前世界上最流行的编程语言之一,而且是一种较为基础的编程语言,因此目前很多高校计算机相关专业都开设“C语言程序设计”课程,同时也有非常多的非计算机专业的编程爱好者自学C 语言。由于C 语言不仅拥有高级语言的特点,还发扬了汇编语言的一些特征,因此无论开发台式电脑软件,还是开发单片机及嵌入式程序,使用C 语言都能轻松应对。

2 C 语言的优势

1)语法众多。C 语言的语法规则较多,包括运算符、关键字及指针等语法规则,例如程序都是从main 函数开始,一行可以包含多条语句,也可以将一个语句写成多行,语句必须以分号结尾。

2)高效灵活。虽然C 语言语法规则较多,但其语法限制不是十分严格,程序书写较为自由,除了具有高级语言的特点,又同时具有低级语言的实用性,能够像汇编语言一样直接访问计算机硬件,因此能够高效灵活的运行。

3)表达力强。C 语言的表达能力非常强,主要体现为以下几个方面:第一,C 语言具有多种运算符,多达44 种。第二,C 语言可以采用多种方式表达问题的解决方案。第三,C 语言的部分数据类型可以通用,例如整型和逻辑型数据。

4)高移植性。C 语言的可移植性非常高,采用C 语言编写的程序可以在不同的机器上进行编译及运行。在某一计算机上编写的C 语言程序,往往不加修改或稍加修改就可以在其他计算机上运行。

5)数据类型丰富。C 语言的数据类型非常丰富,具体包括以下几类:第一,基本类型,C 语言的基本类型主要包括数值型和字符型,其中数值型又包括整型和浮点型。第二,构造类型,

C 语言的构造类型主要包括数组、结构体、共用体和枚举类型等。第三,指针类型,C 语言的指针类型非常重要,其应用非常广泛。第四,空类型。

6)结构性强。C 语言结构性强,具体表现为以下几个方面:第一,C 语言是结构式语言,能有效分隔代码和数据。第二,C 语言可以使得语句层次结构更清晰。第三,C 语言还能通过多种循环及条件语句控制程序逻辑,使得程序的各部分相对独立。

7)完善的内存储器。C 语言具有强大的内存访问功能,允许程序直接读写物理存储空间,还可以直接对硬件进行访问,可以用来编写系统软件。

8)应用广泛。C 语言不仅具有高级语言的易懂特性,还能像汇编语言那样直接访问硬件,而且可移植性非常高,因此一直以来被广泛应用到各个领域,例如PC 操作系统、智能手机系统、嵌入式系统、工业设备和交通工具等。

9)功能丰富。由于C 语言是图灵完备的语言,能够自举,不仅适用于高级程序设计,也适用于底层编程,因此理论上可以完成任何功能。

3 C 语言的编程技巧

3.1 适当牺牲存储空间来提高程序的执行效率

在C 语言实际应用过程中,可以采用牺牲存储空间的方式换取较高的执行效率,具体表现为以下几点:第一,在相同的存储空间情况下,采用指针一般可以提高程序的执行效率。第二,为了实现同样的程序功能,可以多预存一些变量,虽然存储空间增加了,但效率也提高了。第三,采用宏函数替换函数来提高效率,由于宏函数在编译时直接替换为源代码,跳过了函数调用,比函数调用少了入栈出栈操作,因此宏函数的执行效率要比函数高,只是宏函数比函数占用的存储空间更大一些。

3.2 采用巧妙的计算方法来提高程序的执行效率

在利用C 语言进行计算的时候,采用巧妙的计算方法通常可以提高程序的执行效率,例如要计算“1+2+…… +100”的和,采用常规的方法一般是采用循环累加的方法,循环100 次才能得到结果5050,而采用巧妙的计算方法,可以将“1+2+……+100” 的和, 转换为

“1+100+2+99+3+98……+50+51”的和,显而易见算式为101 乘以50 即可,结果为5050,只要一步即可得出结果,不需要循环,比常规方法节省了百倍的时间,可见采用巧妙的计算方法能够有效地提高程序的执行效率。

3.3 采用位操作代替除法及模运算来提高程序的执行效率

在C 语言程序中,位是可以处理的最小数据单位,通常用在直接与硬件打交道的程序中,也可能用在数据转换的情况下,理论上能够利用位操作替换较为耗时的除法和求余运算,不过位运算会因CPU 的不同而出现结果不同的情况。因此,当C 语言编制的程序总是运行在CPU 字长一样的机器上时,可以采用位运算代替除法及模运算来提高程序的执行效率。

3.4 嵌入式程序设计中的C 语言编程技巧

在采用C 语言进行的嵌入式程序开发过程中,其编程技巧与台式计算机不同,具体表现为以下几个方面:第一,采用指针函数的指针提高嵌入式C语言程序的执行效率,即将指针指向所要调用的函数入口,然后利用指向函数入口的指针来调用函数,以此简化代码,提高效率。第二,直接操作寄存器来提高效率,由于每个寄存器都有固定的地址,因此可以通过C 语言访

问这些地址来操作寄存器,提高程序的执行效率。第三,在嵌入式程序设计时,可以利用C 语言直接进行寄存器位运算来提高程序的执行效率。第四,在利用C 语言开发嵌入式程序时,涉及循环语句时尽量用“i--”替换“i++”,能够提高程序的执行效率,尤其在循环次数较多的情况下效率提高更多。

3.5 C 语言三种循环编程技巧

可以通过一个简单实例深入了解C 语言三种循环的用法,先从

for( 表达式1 ;表达式2 ;表达式3)

{10 以内整数求和;}

为例,熟悉for 语句的用法,将for 语句中表达式1 和表达式3 省略,将常用形式转变为如下形式:

表达式1 ;

for( ;表达式2 ;)

{10 以内整数整数求和;

表达式3 ;}

此形式可以与while 语言等价,将以上形式变成while 语句:

表达式1 ;

while( 表达式2)

{10 以内整数整数求和;

表达式3 ;}

同一个例子,套用do-while 语句,通过运行结果,查看三个语句的区别和联系。在练习过程中,寻找相关的知识点,循序渐进,最终达到游刃有余使用C 语言编程的目的。例如,在此例中进行扩展,求100 以内整数和,求100 以内偶数和,求100 以内奇数和等,相关联的例子可以将枯燥的知识变得趣味十足。

4 C 语言的调试技巧

较大的C 语言程序调试起来还是比较麻烦的,程序员们通常采用调试器来进行调试,但有时被编译器自动优化的代码可能会让调试器不知所措。其实有个既简单又实用的调试方法,那就是在程序运行过程中利用“printf”函数输出程序运行的中间结果,这样无论编译器如何对源代码进行优化,都不会影响利用“printf”函数来进行调试。该方法一般被称为“输出大法”,能够在C 语言程序运行过程中输出显示各种程序员所要显示的中间结果,简单直观,相对于调试器来说更容易跟踪C 语言程序的执行情况,能够很好地提高调试程序的效率。

5 结论

文章介绍了C 语言的概念,阐述了C 语言的优势,归纳了C 语言的编程技巧,探寻了C 语言的调试技巧。经过一段时间的C 语言编程实践表明,文章总结的关于C 语言的编程及调试技巧,能够很好地提升使用C 语言进行程序设计及调试的效率,帮助编程人员迅速完成工程项目,具有一定的推广价值。

参考文献

[1]贾庆文.计算机C语言编辑程序技巧及应用[J].山东工业技术,2018(11):135.

[2]王蕊.计算机软件C语言的编程实验研究[J].无线互联科技,2018,15(10):104-105.

[3]刘子嘉.C语言开发应用程序口令字实现思路和算法[J].电脑编程技巧与维护,2018(5):50-52.

[4]刘卫东,曾绍杰,袁梦,等.浅析单片机C语言(C51)与C语言的关系[J].河北农机,2018(5):42.

[5]葛娅敬,赵礼峰.基于C语言的计算机编程技术探讨[J].信息与电脑(理论版),2018(7):45-46.

[6]邓广彪,覃贤立.提高C语言编程能力的几点策略[J].电脑知识与技术,2016(12):60-61.

因篇幅问题不能全部显示,请点此查看更多更全内容