C语言学习笔记(二)函数(1)

前言

       我认为,函数就像是一座工厂,它可以将我们提供的数据进行加工,转化为我们需要的数据,从而提高代码运行效率。


目录

前言

一、主函数

二、库函数

三、自定义函数

总结


一、主函数

       主函数就是一个工程的主要程序,一个工程内必须包含有且仅有一个主函数。主函数的写法非常简单,如下图

int main()
{
    return 0;
}

       那么这些代码分别代表什么意思呢?别着急,在函数部分的最后,我再来详细谈谈我的理解。


二、库函数

       库函数是C语言自带的一类函数,是由C语言的创建者写出并不断完善的一类函数。下面我就来介绍一下我目前接触到的库函数。

1)printf

       我们知道,print是打印的英文单词,那么printf即为print function,也就是打印函数,它的作用是在屏幕上打印出我们需要的数据,书写格式如下(例如在屏幕上打印"Hello World")

#include <stdio.h>

int main()
{
    printf("Hello World");
    return 0;
}

       如图,当我们需要打印一串字符时,只需要在printf后加上(" 所需打印的字符 ")即可。需要注意的是,由于printf是C语言的库函数,所以当我们使用它的时候,需要调用包含printf函数的头文件,调用格式即"#include <stdio.h>"。

       当然,我们需要打印一个变量时,我们需要用到一个格式符,例如打印一个整型变量a,如下图

#include <stdio.h>

int main()
{
    int a = 10;
    printf("%d",a);
    return 0;
}

       运行这段代码我们可以发现,屏幕上会打印出一个10。printf里的%d是一个格式符,代表了一个整型(十进制),后面跟上一个,a说明这个%d代表了变量a的值,因此输出10。当我们需要在同一个printf函数中输出多个变量值时,格式符需与变量名对齐,例如按顺序打印a,b的值

#include <stdio.h>

int main()
{
    int a = 10;
    int b = 20;
    printf("%d %d",a ,b);
    return 0;
}

       此时屏幕上会依次打印10 20。若需打印n个变量则以此类推。关于代表不同变量的格式符我将会在讲操作符(我所了解到的)时详细解说。

2)scanf

       scanf函数是一种读取函数,它可以读取我们在键盘上输入的数据并参与程序运算。例如,我们可以定义一个整型变量a,并手动给a赋值,然后用printf函数将a打印出来,如下图

#include <stdio.h>

int main()
{
    int a = 0;
    scanf("%d",&a);
    printf("%d",a);

    return 0;
}

       与printf不同,scanf读取数据后需要将数据存入一个变量中,因此我们需要找一个变量来接收数据,而每个变量在内存中都有一个地址,这时我们在接收变量前加上一个&(取地址操作符),这样计算机就能将数据精准地存入变量中了。

3)strlen 

      strlen是一个用来计算字符串长度的函数,它的用法非常简单,如下

#include <string.h>

int main()
{
    int len = strlen("abc");
    
    
    return 0;
}

       如此便能计算字符串abc的长度。需要注意的是,strlen的返回值为整型,且需要调用头文件<string.h>。

4)getchar

       getchar的作用也是读取数据,但它与scanf不同的地方在于它只能读取字符,且只能读取单个字符,使用方式也与scanf有所不同,具体写法如下

#include <stdio.h>

int main()
{
    char ch = 0;
    ch = getchar();

    return 0;
}

       即定义一个字符型变量,并将输入的字符赋值给该变量。

5)putchar

        putchar与printf相似,用于打印单个字符,用法较简单,如打印字符型变量ch

#include <stdio.h>

int main()
{
    char ch = 'a';
    putchar(ch);
    
    return 0;
}

三、自定义函数

       函数的存在大大提高了我们代码的运行效率,除了C语言提供的库函数外,我们当然也可以针对特定的工程自定义一些函数,用以缩减代码运行时间,提高运行效率。

       让我们从主函数讲起,如图

int main()
{

    return 0;
}

       首先,我们可以看到一个int,即整型,说明这个函数的返回值类型为整型,与定义变量相同,变量类型int后的main即为函数名,而main为主函数独有的名称,当你定义一个函数并起名为main时,计算机会自动将其当做主函数。现在让我们写一个自定义函数,例如

int add(int x,int y)
{
    int z = 0;
    z = x + y;
    return z;
}

       我们看到,这个函数完成了加法运算,函数名后面的括号中定义了两个变量x,y,即对这个函数输入两个变量x,y,然后计算x+y的值并赋值给z,即z=x+y,后面接着return z,即返回z的值。那么,当我们对该函数输入x,y后,经过加工,该函数会返回给我们一个z。

       由于主函数就是程序主体,故主函数的返回值并不重要,习惯性写作return 0。

       当我们写好一个函数后,如何使它发挥作用呢?接下来,我们就来看看如何在主函数中调用一个自定义函数,如图

#include <stdio.h>


int add(int x,int y)
{

    return ( x + y );
}

int main()
{
    int a = 5;
    int b = 10;
    int c = 0;
    c = add( a , b );
    printf("%d",c);
    return 0;
}

         将主函数中的a,b放入函数add中进行加法运算,如图中写法时,在函数add中,x = a,y = b。计算完毕后,将函数add的返回值赋给c,此时c = a + b,那么,printf的打印值就是15。


总结

       本篇主要总结了函数的基本知识,关于更多的库函数的使用方法,我将会在学习整理之后再解释说明。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值