函数的分类

函数分类

标准库函数

  c 语言的标准库函数中有很多提前写好了放进去的函数,而我们只需要在敲代码的时候,在开头写上对应的头文件,就可以直接调用这些函数,非常的方便,例如:

#include <stdio.h>

int main(){
    printf(“我爱编程!\n”);
    return 0}

  这其中的printf就是打印输出函数,而包含它的头文件就是<stdio.h>。有了这些库函数,可以提高我们编程的效率,减少我们的工作量。
  然而标准库函数有很多,那我们要不要背下来呢?当然是不需要的,因为不是每一个库函数我们都会用到,常用的也就那几个,不常用的我们可以借助官方文档查阅即可。在敲代码的过程中,不断的使用,不断地查阅,熟能生巧,自然会熟记于心。
  另外,最重要的一点是,若是你记忆的东西稍有偏差,那么损失的代价将不可估量;而我们查阅文档,就可以得到一个非常正确的答案,相比犯错误的损失,查阅文档浪费的时间就不值一提了。
  因此,作为一个程序员,要养成经常查阅文档的良好习惯,这对我们的收益是非常大的。我给大家推荐一个官方网站:cpulspuls,这是 c 语言国际委员会编写的文档,专门查阅 c/c++ 相关的内容,十分全面且权威也是最为准确的文档。建议大家经常查阅,有百利而无一害。

第三方库函数

  c 语言的标准库函数是非常少的,因为作为最早一批的高级编程语言,当时的条件有限,c 语言使用的地方也有限,所以导致了库函数并不丰富,和现在流行的 java 的库函数比起来,简直就是小巫见大巫。
  所以很多除官方以外的大佬自己写了些库函数,来丰富 c 语言的函数库,这些称之为第三方库函数,但是由于这是第三方的,所以使用起来必须得在特定的条件下,例如:

#include<stdio.h>

int main(){
    int num=0;
    scanf("%d",&num);//①
    scanf_s("%d",&num);//②
    return 0;
}
很多人在 vs 上使用 scanf函数时,肯定会遇到报错的问题,这是因为:
1. scanf()函数是标准 c 中提供的标准输入函数,用以用户输入数据。
2. scanf_s()函数是 Microsoft 公司 vs 开发工具提供的一个功能相同的安全标准输入函数,在调用该函数时,必须提供一个数字以表明最多读取多少位字符。
scanf()在读取数据时不检查边界,所以可能会造成内存访问越界,而使用scanf_s()就可避免这个问题。所以说这是vs这个编译器出了问题,而不是你代码出了问题。而scanf_s()就是微软自己写的第三方库函数,来解决这个问题。
自定义函数

  什么是自定义函数,从字面意上来看就是,我们程序员自己写的一些函数,那么自己如何来自定义函数呢?格式如下:

dataType  functionName( dataType1 param1, dataType2 param2 ... ){
    //body
}
//中文解释就是:返回值类型 函数名(参数){功能/内容};

  自定义函数可以没有返回值;也可以没有参数;还可以既没有返回值也没有参数;具体如下:

//无返回值,一般情况使用void
void max(int n,int m){
    if(n<m){
        printf("%d<%d\n",n,m);
    }
    else if(n>m){
        printf("%d>%d\n",n,m);
    }
    else{
         printf("%d=%d\n",n,m);
    }
}
//无参数
int print(){
    printf("我爱编程!\n");
    return 0;
}
//无返回值,无参数
void print(){
    printf("我爱编程!\n");
}

博客园发表于 2020-10-29 16:56

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值