C语言入门课程学习笔记-7


本文学习自狄泰软件学院 唐佐林老师的 C语言入门课程,图片全部来源于课程PPT,仅用于个人学习记录

第31课 - 初探程序中的函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实验-函数调用

#include <stdio.h>

int func_demo( int x )
{
    int y = 0;

    y = 2 * x  - 1;

    return y;
}

int main()
{
    int r1 = func_demo(1);
    int r2 = func_demo(5);
    int r3 = func_demo(10);

    printf("r1 = %d\n", r1);
    printf("r2 = %d\n", r2);
    printf("r3 = %d\n", r3);

    return 0;
}
    /*
    output:
r1 = 1
r2 = 9
r3 = 19
    */

在这里插入图片描述

实验-函数求前n个正整数和

#include <stdio.h>

int sum (int n)
{
    int r = 0;
    int i = 0;

    for(i=1; i<=n; i++)
    {
        r += i;
    }

    return r;
}

int main()
{
    int o[10] = {10, 20, 30, 40, 50, 100};
    int r[10];
    int i = 0;

    for(i=0; i<10; i++)
    {
        r[i] = sum(o[i]);
    }

    for(i=0; i<10; i++)
    {
        printf("sum(%d) = %d\n", o[i], r[i]);
    }

    return 0;
}
    /*
    output:
sum(10) = 55
sum(20) = 210
sum(30) = 465
sum(40) = 820
sum(50) = 1275
sum(100) = 5050
sum(0) = 0
sum(0) = 0
sum(0) = 0
sum(0) = 0
    */

在这里插入图片描述

第32课 - 深入浅出函数调用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

第33课 - 函数定义细节剖析

在这里插入图片描述

实验-返回int

#include <stdio.h>

int pow2(int a);

int main()
{
    int a = 3;

    printf("call pow2(%d): %d\n", a, pow2(a));

    return 0;
}

int pow2(int a)
{
    return a * a;
}
    /*
    output:
call pow2(3): 9
    */

在这里插入图片描述

实验-返回void

#include <stdio.h>


void demo(void i)//error: parameter 1 ('i') has incomplete type|
{
    return i;
}


int main()
{
    void v;
    void x = v;

    demo(x);

    return 0;
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#include <stdio.h>


void f( )
{
    printf("void f() \n");
}

void g(void)
{

}

int main()
{
    f();
    f(1, 2);

    g();
   // g(1);   // ERROR

    return 0;
}

在这里插入图片描述

#include <stdio.h>

void demo(void)
{
    printf("How are you?\n");
    return;
    printf("Fine, thank you!\n");
}

int func(int a, int b)
{
    if( a > 0 )
        return a + b;
    // else
        // return a - b;
}

int g(int v)
{
    if( v > 0 )
        return "Delphi";
    else
        return "Tang";
}

int main()
{
    // int c = func(-1, 2);

    printf("Begin\n");

    //demo();
    // printf("c = %d\n", c);

    printf("End\n");

    return 0;
}

在这里插入图片描述

第34课 - 函数参数深度剖析

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实验-形参实参

#include <stdio.h>

int test(int n);

int main()
{
    int i = 3;
    int j = test(i);

    printf("i = %d, j = %d\n", i, j);//i = 3, j = 30

    return 0;
}

int test(int n)
{
    n = n * 10;

    return n;
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实验-数组元素作为函数形参

#include <stdio.h>

void demo(int a[3])
{
    a[0] = 50;
}

int sum(int a[], int len)
{
    int ret = 0;
    int i = 0;

    while( i < len )
    {
        ret += a[i];
        i++;
    }

    return ret;
}

int main()
{
    int arr1[5] = {0, 1, 2, 3, 4};      // arr1[0] -> 0
    int arr2[10] = {0, 10, 20, 30, 40}; // arr2[0] -> 0

    demo(arr1);
    demo(arr2);

    printf("arr1[0] = %d\n", arr1[0]);
    printf("arr2[0] = %d\n", arr2[0]);

    printf("sum(arr1) = %d\n", sum(arr1, 5));
    printf("sum(arr2) = %d\n", sum(arr2, 10));

    return 0;
}
    /*
    output:
arr1[0] = 50
arr2[0] = 50
sum(arr1) = 60
sum(arr2) = 150
    */

小结

在这里插入图片描述

第35课 - 编写函数对数组排序

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实验-排序

#include <stdio.h>

int Min(int a[], int b, int e)
{
    int r = b;
    int i = 0;

    for(i=b; i<=e; i++)
        if( a[r] > a[i] )
            r = i;

    return r;
}

void Sort(int a[], int n)
{
    int i = 0;
    int j = 0;
    int k = 0;

    for(i=0; i<n; i++)
    {
        j = Min(a, i, n-1);

        if( i != j )
        {
            k = a[i];
            a[i] = a[j];
            a[j] = k;
        }
    }
}

void Print(int a[], int n)
{
    int i = 0;

    while( i < n )
        printf("%d ", a[i++]);

    printf("\n");
}

int main()
{
    int a[5] = {20, 30, 10, 40, 50};

    printf("Origin: \n");

    Print(a, 5);

    Sort(a, 5);

    printf("After: \n");

    Print(a, 5);

    return 0;
}

    /*
    output:
Origin:
20 30 10 40 50
After:
10 20 30 40 50
    */

在这里插入图片描述

小结

在这里插入图片描述

相关推荐

  1. C语言学习笔记day7

    2024-05-01 07:28:06       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-01 07:28:06       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-01 07:28:06       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-01 07:28:06       82 阅读
  4. Python语言-面向对象

    2024-05-01 07:28:06       91 阅读

热门阅读

  1. 常用网络知识点(网管网工需掌握)

    2024-05-01 07:28:06       26 阅读
  2. 关于chatgpt的理解与探索

    2024-05-01 07:28:06       31 阅读
  3. 移动端适配方案

    2024-05-01 07:28:06       35 阅读
  4. Go语言中的map使用及并发安全

    2024-05-01 07:28:06       42 阅读
  5. VUE2从入门到精通(一)

    2024-05-01 07:28:06       28 阅读
  6. 0115__i++循环与i--循环的执行效率

    2024-05-01 07:28:06       33 阅读
  7. HTML 表单标签

    2024-05-01 07:28:06       34 阅读
  8. 第二章:计算机系统基础知识之系统工程

    2024-05-01 07:28:06       25 阅读
  9. MongoDB聚合运算符:$strLenBytes

    2024-05-01 07:28:06       34 阅读