试论C语言程序设计中算法设计的作用

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2019.05

在C 语言程序设计中,存在概念复杂化、规则多样化等特征,很容易在C 语言程序设计中出现问题,影响程序的正常应用。因此,在C 语言程序设计中,编程人员需要提高对基础编程技术———算法设计的重视,通过算法设计与C 语言程序设计的合理应用,提升C 语言程序设计的质量及效率,简化程序结构。

1算法设计的作用

C 语言是目前程序设计中应用较为广泛的一种计算

机语言,在程序设计中具有显著优势。在计算机程序设计中,数学作为最为重要的计算机字母,是程序设计的重要组成部分。在此基础上,C 语言程序设计中的算法设计属于基础内容,与C 语言程序设计的执行效率和质量效果联系密切。编程人员可以通过合理的算法设计,进行C 语言程序的编写,不仅可以解决数学问题,还可以实现数学思维在计算机程序设计中的有效应用[1]。具体而言,C 语言程序设计中常用的数学思维为归纳法及演绎法,可以有效实现C 语言程序的循环,有助于C 语言程序结构的简化及执行效率的提升。具体而言,C 语言程序设计中算法设计的作用主要体现在以下两点:(1)C 语言编程问题的简化,在实际的C 语言程序

设计工作中,编程人员大都通过C 语言程序进行复杂问

题的解决。在此基础上,算法设计的应用可以在复杂问题的解决中应用数学理念,实现C 语言编程问题的简化[2]。具体而言,数学算法的应用可以将编程问题从传统的问题模式转变为数据结构模式,将问题中的已知条件和问题转变为数量关系,编程人员通过C 语言程序设计进行数量关系的分析,从而实现高效解决复杂问题的目标。由此可以看出,算法设计的应用可以为C 语言程序设计提供便利,简化编程问题。

(2)C 语言编程流程的优化,在C 语言程序设计过

程中,普遍存在重复编译问题,影响C 语言程序设计的效果,大大降低了C 语言程序的执行效率。算法设计的应用可以通过数学思维的引进,简化C 语言程序的代码及整体结构,从而避免重复编译问题的出现,提升C 语言程序的执行效率。基于上述优势,C 语言编程人员在开展C 语言程序设计时,首先要开展逻辑分析,通过分析程序完成问题解决流程图的绘制,从而明确C 语言程序的逻辑;再利用数学思维进行算法设计,实现简化C 编程代码的目标,节约C 语言程序运行的时间[3]。

2C 语言程序设计中算法设计的应用

通过上述分析可知,算法设计在C 语言程序设计中

的应用有显著优势,需要在C 语言程序设计中推广应用。主要结合C 语言程序设计实例,分析算法设计在C 语言程序设计中的应用方法及作用发挥,为编程人员应用算法设计提供参考。

2.1利用算法设计简化C 语言程序结构

在C 语言程序设计中,编程人员可以通过数学分析

方法实现C 语言结构的优化,进一步简化C 语言的算法流程,提升C 语言程序的执行效率及质量[4]。主要将“判断一个数是否为素数”作为实例,对算法设计简化C 语言结构进行分析。其中,判断一个数是否素数的方

法为除了1和此数本身,不可以被其他数整除。因此,在进行该数学问题的编程时,可以将n 作为被除数,并按照2,3,4……n-2,n-1的顺序将其作为除数,如果都不可以将n 整除,就表明n 为素数。根据上述数学算法设计理念,C 语言程序的结构如下:

Int n,i ;

Printf(“请输入一个数:\n”);试论C 语言程序设计中算法设计的作用

王照

(河南护理职业学院,河南安阳455000)

要:在程序设计方面,C 语言具有功能丰富、灵活性强及适用范围广等优势,是应用较为广泛的计算

机程序设计语言,而C 语言程序设计与算法设计联系密切。基于此,从C 语言程序设计中算法设计的作用入手,阐述了算法设计在C 语言编程中的具体应用,从而为编程人员应用算法设计提供理论及实践参考。关键词:C 语言;程序设计;算法设计

收稿日期:

2019-02-23

47

2019.05

Scanf(“%d”,&n);

For(i=2;i <=(n-1);i++)/*2到(n-1)的各整数轮流当作除数*/

{

If(n%i==0)Break ;}

If(i <=(n-1)){

Printf(“此数不是素数\n”);

Printf(“计算次数为:%d\n”,i-1)}else {

Printf(“此数不是素数\n”);

Printf(“计算次数为:%d\n”,i-2)}

观察上述分析可知,上述程序设计流程相对简单,按照被判断数的数值进行一次计算。如果被判断数的数值相对较大,则上述C 语言程序需要进行长时间的运行,执行效率偏低。在此基础上,编程人员需要应用不同的算法设计理念,重新进行数学问题的算法分析,将素数的判断方法进一步简化,将其简化为将n 作为被除数,将2,3,4……作为除数,从而简化C 语言的程序结构。简化后的C 语言程序结构如下:

Int n,i ;

Printf(“请输入一个数:\n”);Scanf(“%d”,&n);K=sqrt(n);

/*2到的各整数轮流当作除数*/For(i=2;i <=k ;i++){

If(n%i==0)Break ;}

If(i <=k){

Printf(“此数不是素数\n”);

Printf(“计算次数为:%d\n”,i-1);}else {

Printf(“此数不是素数\n”);

Printf(“计算次数为:%d\n”,i-2);}

观察上述C 语言程序结构可知,算法设计流程简化后,C 语言程序中的执行次数有显著的降低。C 语言程

序的时间复杂度从原本的O (n)转变为O (logn),有效降低了C 语言程序结构的复杂性,使C 语言程序的结构设计更为简洁。在实际的C 语言程序设计中,上述算法设计流程有广泛的应用,编程人员需要提高对算法设计流程优化的重视,利用算法设计的简化,实现C 语言程序的简化。

2.2利用算法设计提升C 语言编程效率

在编程过程中,算法设计的合理应用可以有效提升

C 语言编程的效率[5]。算法在C 语言编程中的应用可以使编程人员明确问题的本质,并通过思维程序和操作流程的合理设置,实现问题的灵活高效解决,保障C 语言

程序的高效执行。主要将“求1+2+3+……+99+100”这一数学问题为例,分析算法设计如何提升C 语言编程效率,为C 语言编程人员提供参考。针对这一问题,可以采用不同的算法设计,而不同算法设计下的C 语言编程效率有所差异。主要介绍3种算法设计方法。

(1)按照1+2+3+……的顺序完成这一问题的解答,

将加数作为因变量,将和程序作为变量,进行C 语言程序设计。具体的C 语言算法设计如下:

main()

{int i,sum=0;

For(i=1;i <=100;i++)Sum+=i ;

Printf(“%d”,sum);}

在上述算法中,需要应用for 循环进行约为一百次的计算,才可以得出最终的答案。由此可以看出,该算法下的C 语言程序需要运行较长的时间,而且计算的过程较为复杂,需要应用到较多的数字,会占用较大的计算机内存,影响C 语言程序的运行效率。

(2)为了进一步提升C 语言程序的运行效率,编程人员可以采用算法设计中的归纳方法,按照1+100、2+99、3+98……的顺序,进行数学问题的计算[6]。归纳法主要是指针对特殊问题或者个别状况,按照实际内容进行给出相应的判断,综合不同问题及状况的判断方式和结论,总结出事件的发展趋势和内在规律,从而得出普及性的结论。简而言之,归纳法是一种通过个体分析整体、通过特殊转向为一般的推理算法,该算法在C 语言编程中的应用可以有效提升运行效率。基于此种算法,C 语言程序的算法结构如下:

main()

48

相关文档
最新文档