学习网考试学习资料

Gzu521.com

考全国计算机等级考试三级如何学C语言(3)

全国计算机等级考试   点击:次   发布时间:2007-4-3   【字体: 】   来源:ncre
GZU521.COM学习网


  (4)模块化程序结构 

  c语言的模块化程序结构用函数来实现,即将复杂的c程序分为若干模块,每个模块都编写成一个c函数,然后通过主函数调用函数及函数调用函数来实现一大型问题的c程序编写,因此常说:c程序=主函数+子函数。 因些,对函数的定义、调用、值的返回等中要尤其注重理解和应用,并通过上机调试加以巩固。 

  五、掌握一些简单的算法 

  编程其实一大部分工作就是分析问题,找到解决问题的方法,再以相应的编程语言写出代码。这就要求掌握算法,根据我们的《c程序设计》教学大纲中,只要求我们掌握一些简单的算法,在掌握这些基本算法后,要完成对问题的分析就容易了。如两个数的交换、三个数的比较、冒泡法排序,这就要求我们要清楚这些算法的内在含义,其中选择法排序和冒泡法排序稍难,但只要明白排序的具体过程,对代码的理解就不难了。 

  (1)数字拆分 

  此类题在南开100中占的比重很大,共占了16道题,主要是对四位数分解成千位数,百位数,十位数,个位数,这些就要用到运算中的整除(“/”)和求余(“%”)运算,一定要理解这两个运算的结果。 

  如南开15题:已知数据文件in.dat中存有200个四位数,并已调用读函数readdat()把这些数存入数组a中,请考生编制一函数jsval(),其功能是:若一个四位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等于个位数字上的值,并且原四位数是偶数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writedat()把结果cnt以及数组b中符合条件的四位数输出到out.dat文件中。 

  从解法中可以看出,分别求出这个四个位数,假如原四位数是a 

  千位数:a/1000; 

  百位数:a%1000/100; 

  十位数:a%100/10; 

  个位数:a%10; 

  当然方法很多,只要我们正确掌握了这两种运算,问题就迎刃而解。 

  (2)排序法 

  排序方法很多,只要掌握一种方法,就可以应对南开题中关于排序题的解法,建议用冒泡排序法。 

  如用冒泡排序法对10个不同整数排序(从小到大),选择法排序思路:设有10个元素a[1]~a[10],将a[1]与a[2]~a[10]比较,若a[1]比a[2]~a[10]都小,则不进行交换,即无任何操作;若a[2]~a[10] 中有一个比a[1]小,则将其中最大的一个(假设为a)与a[1]交换,此时a[1]中存放了10个中最小的数。第二轮将a[2]与a[3]~a[10]比较,将剩下9个数中的最小者a与a[2]交换,此时a[2] 中存放的10个数中第2小的数;依此类推,共进行9轮比较,a[1]到a[10]就已按从小到大的顺序存放。即每一轮都找出剩下数中的最小一个,代码如下: 

以下是引用片段: 
  for(i=1;i<=9;i++)  
  for(j=i+1;j<=10;j++)  
  if(a>a[j]  
  {temp=a;  
  a=a[j];  
  a[j]=temp;  
  }  


  
  结束语:此文主要是结合三级c上机的特点所举的一些例子分析下重点,首先声明不全,只是起抛砖引玉的作用,大家在学习c语言中,不能局限性于此,书一定要看完,不作考核的部分尽量能够知道一点,也不枉考试一场,各人考试的目的不同,自己把握就是。 

  本人水平有限,加上时间仓促,如有错误,欢迎批评指正。 

上一页 本文共3页:第 [1] [2] [3]

责任编辑:gzu521

IT认证分类
计算机软件水平考试
全国计算机等级考试
思科认证
微软认证
ORACLE/CIW认证
Linux认证
JAVA认证
其它认证
分类推荐信息
更多...
大类最新文章
更多...