C语言 函数 循环

《函数》


函数:是具有一定功能的一个程序块;


1) 函数的参数,返回数值(示意图):

main()

{

int a = 5,b=6,c;

c = add(a,b);

printf(“%d”,c);

}


调用函数

a,b是实参

整个函数得到一个数值就是

Add函数的返回数值。

int add ( int x, int y)

{

int z;

z=x+y;

return z;

}

被调用函数

x,y是形式参数

函数返回数值是整型


z就是这个add函数计算后得到的结果,就是函数返回给主程序的返回数值。

程序是在从上往下顺序执行,当碰到了函数add后,把a,b的数值穿给调用函数,程序暂

时中断等待返回数值。当得到了返回数值后,再顺序的往下执行


2)一定要注意参数之间的传递

实参和形参之间 传数值,和传地址的差别。(考试的重点)

传数值的话,形参的变化不会改变实参的变化。

传地址的话,形参的变化就会有可能改变实参的变化。


3)函数声明的考查:

一定要有:函数名,函数的返回类型,函数的参数类型。

不一定要有:形参的名称。


    《循环》 


三种循环结构:

a)for() ; while(); do- while()三种。

b)for循环当中必须是两个分号,千万不要忘记。

c)写程序的时候一定要注意,循环一定要有结束的条件,否则成了死循环。 d) do-while()循环的最后一个while();的分号一定不能够丢。 


2. break 和 continue的差别


理解方法:

break:是打破的意思,(破了整个循环)所以看见break就退出真个一层循环。

continue:是继续的意思,(继续循环运算),但是要结束本次循环,就是循环体内剩下的语句不再执行,跳到循环开始,然后判断循环条件,进行新一轮的循环。


3.嵌套循环

就是有循环里面还有循环,这种比较复杂,要一层一层一步一步耐心的计算,一般记住两层是处理二维数组的。


4.while((c=getchar())!=’\n’) 和 while(c=getchar() !=’\n’)的差别

先看a = 3 != 2 和 (a=3)!=2 的区别:

(!=号的级别高于=号 所以第一个先计算 3!=2) 第一个a的数值是得到的1;第二个a的数值是3。


                  ###考试注意点: 括号在这里的重要性。###


5.除了whileh和for语句,在c语言中还有一个语句goto,它也能构成循环。不过由于goto语句很容易造成代码混乱,维护和阅读困难,饱受诟病,不被推荐,而且goto 循环完全可以被奇特循环取代,所以后来的很多编程语言都取消了goto语句。


6.总结

1)while 和for 循环都可以用来处理同一个问题,一般可以相互代替。

2)对于while和do-while循环,循环题中应该包括使循环趋向于结束的语句

3)用while和do-while循环时,循环变量初始化的操作应该在while和do-while语句之前完成,而for语句可以在内部实现循环变量的初始化。

4)for循环是最常用的循环,它的功能强大,可以用来代替其他循环。

几个例子


分析:首先,系数为正数的项的分母是4n-3(n为正数项的项数),为负数的项的分母为4n-1(n为负数项的项数),即分母的变化规律是1、3、5、7...的奇数数列,则第n项的分母为2n-1,第10000项的分母为2*10000-1。


代码如下

  1. #include <stdio.h>
  2. #include <math.h>
  3. int main()
  4. {
  5.     double p=0,j=1;
  6.     int i;
  7.     for( i=1;i<10000;i++ )  //此处i为项数
  8.     {
  9.         j=pow(-1.0,i+1)/(2*i-1);  //pow(x,y)用来求x的y次幂
  10.         p+=j;
  11.         printf("%lf\n",4*p);  //输出每一项的值
  12.     }
  13.     printf("%lf\n",4*p);  //输出最终pi值
  14.     return 0;
  15. }

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值