2006-09-13

c语言难点透彻分析

来源: 本站收集整理 作者:佚名 评论 0 条
 

函数:

对于函数最基本的理解是从那个叫main的单词开始的,一开始总会觉得把语句一并 写在main里不是挺好的么,为什么偏择出去。其实这是因为对函数还不够熟练,否则函数的运用会给我们编程带来极大的便利。我们要知道函数的返回值类型, 参数的类型,以及调用函数时的形式。事先的函数说明也能起到一个提醒的好作用。所谓形参和实参,即在调用函数时写在括号里的就是实参,函数本身用的就是形 参,在画流程图时用平行四边形表示传参。

函数的另一个应用例子就是递归了,本文作者开始比较头疼的问题,反应总是比较迟钝,按照老师的方法,把递归的过程耐心准确的逐级画出来,学习的效果还是比较好的,会觉得这种递归的运用是挺巧的,事实上,闻名的八皇后、汉诺塔等问题都用到了递归。

例子:
long fun(int n)
{
long s;
if(n==1||n==2) s=2;
else s=n-fun(n-1);
return s;
}
main()
{
printf("%ld",fun(4));
}

数组:

分为一维数组和多维数组,其存储方式画为表格的话就会一目了然,其实就是把相同类型的变量有序的放在一起。因此,在处理比较多的数据时(这也是大多数的情况)数组的应用范围是非常广的。

具体的实际应用不便举例,而且绝大多数是与指针相结合的,本文作者个人认为学习数组在 更大程度上是为学习指针做一个铺垫。作为基础的基础要明白几种基本操作:即数组赋值、打印、排序(冒泡排序法和选择排序法)、查找。这些都不可避免的用到 循环,假如觉得反应不过来,可以先一点点的把循环展开,就会越来越熟悉,以后自己编写一个功能的时候就会先找出内在规律,较好的运用了。另外数组做参数 时,一维的[]里可以是空的,二维的第一个[]里可以是空的但是第二个[]中必须规定大小。


(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:推荐:在Flash中实现与数据库的连接  
下一篇:SQL技巧:使用SQL子选择来合并查询
    评论加载中…
冒泡法排序函数:
void bubble(int a[],int n)
{
int i,j,k;
for(i=1,i<n;i )
for(j=0;j<n-i;j )
if(a[j]>a[j 1])
{
k=a[j];
a[j]=a[j 1];
a[j 1]=k;
}
}

选择法排序函数:
void sort(int a[],int n)
{
int i,j,k,t;
for(i=0,i<n-1;i )
{
k=i;
for(j=i 1;j<n;j )
if(a[k]<a[j]) k=j;
if(k!=i)
{
t=a[i];
a[i]=a[k];
a[k]=t;
}
}
}

折半查找函数(原数组有序):
void search(int a[],int n,int x)
{
int left=0,right=n-1,mid,flag=0;
while((flag==0)&&(left<=right))
{
mid=(left right)/2;
if(x==a[mid])
{
printf("%d%d",x,mid);
flag =1;
}
else if(x<a[mid]) right=mid-1;
else left=mid 1;
}
}
共3页: 上一页 [1] 2 [3] 下一页
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号