APP下载

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

2018-11-15朱敬涵

科技传播 2018年21期
关键词:C语言编程技巧

朱敬涵

摘 要 随着计算机技术、人工智能及物联网的飞速发展,各种编程语言层出不穷,如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.

猜你喜欢

C语言编程技巧
肉兔短期增肥有技巧
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
基于Visual Studio Code的C语言程序设计实践教学探索
开好家长会的几点技巧
纺织机上诞生的编程
基于C语言的计算机软件编程
指正要有技巧
提问的技巧