C语言程序设计CAP——C语言学习笔记(六) 上

6.1函数的定义与使用

素数求和

scanf("%d %d", &m, &n);
// m = 10, n = 31;
if ( m==1 ) m=2;
for ( i=m; i<=n; i++){
    int isPrime = 1;
    int k;
    for ( k=2; k<i-1; k++) {
        if ( i%k == 0 ) {
            isPrime = 0;
            break;
        }
    }
    if ( isPrime ){
        sum += i;
        cnt++;
    }
}
printf("%d %d\n", cnt, sum);
int isPrime(int i)
{
    int ret = 1;
    int k;
    for ( k=2; k<i-1; k++){
        if ( i%k == 0 ){
            ret = 0;
            break;
        }
    }
    return 0;
}


scanf("%d %d", &m, &n);
// m=10,n=31;
if ( m==1 ) m=2;
for ( i=m; i<=n; i++ ){
    if ( isPrime(i) ) {
        sum += i;
        cnt++;
    }
}
printf("%d %d\n", cnt, sum);

求和

• 求出1到10、20到30和35到45的三个和

•  三段几乎⼀模⼀样的代码!

“代码复制”是程序质量不良的表现

求和函数

 什么是函数?

• 函数是⼀块代码,接收零个或多个参数,做⼀件事情,并返回零个或⼀个值
• 可以先想像成数学中的函数:
• y = f(x)

 调用函数

• 函数名(参数值);
• ()起到了表示函数调用的重要作用
• 即使没有参数也需要()
• 如果有参数,则需要给出正确的数量和顺

• 这些值会被按照顺序依次用来初始化函数
中的参数

 函数返回

• 函数知道每一次是哪里调用它,会返回到正确的地方

 从函数中返回值

• return停止函数的执行,并送回一个值
• return;
• return 表达式;
• 一个函数里可以出现多个return语句

• 可以赋值给变量
• 可以再传递给函数
• 甚至可以丢弃
• 有的时候要的是副作用

 没有返回值的函数 

 •    void 函数名(参数表)
•    不能使用带值的return
•    可以没有return
•    调用的时候不能做返回值的赋值

 Ps:如果函数有返回值,则必须使用带值的return

思考题:

为什么要用函数?

写了函数有什么好处?有没有什么亲身感受能体会到函数的好、函数的美?

函数的好处:

  1. 减少重复代码, 简洁明了;

  2. 功能代码模块化,可读性强, 调试维护方便;

  3. 函数的积累, 函数库的积累, 方便以后编程的调用或类似功能的开发。

生活中的函数:

  1. 洗衣机和全自动洗衣机 ;

  2. EXCEL中的SUM,AVERAGE等函数,以及各种功能按钮。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值