C语言函数

1. 定义
  1. 概念:具有特定功能的小工具
  2. 分类:
    1. 自定义函数:由程序员根据需求自己写的函数
    2. 库函数:官方提供的常用函数,可以直接调用,但需要包含该函数所在头文件
2. 格式
  1. 书写格式

    返回值类型 函数名(形参列表) {
        // 函数体
    }
    
  2. 调用格式

    函数名(实参列表);
    
5. 名词解释
  1. 返回值:函数执行结束后要 return 的结果,不需要返回值时则返回值类型为 void
  2. 实参:函数在执行操作时所需原料
  3. 形参:用于接收实参的临时变量
  4. 函数声明:也称函数原型、函数接口定义
    1. 书写:将定义函数的第一行复制,粘贴至主调函数之前的位置,末尾加上分号
    2. 作用:
      1. 便于函数的调用,即不需要将函数定义在主调函数之前
      2. 规定函数的书写的返回值类型以及参数信息
4. 案例:计算两个整数的商
  1. 分析:函数作为一个工具,现在这个工具的功能是计算两个整数的商,因此形参应该为两个整型变量,考虑到两个数的商应该为浮点型,故返回值为浮点型

  2. 代码实现

    #include <stdio.h>
    
    float division(int a, int b);		// 函数声明
    
    // 主函数
    int main() {
        float result = division(10,5);	// 调用函数
        printf("结果为:%f", result);	 // 输出结果
        return 0;
    }
    
    // 求商函数
    float division(int a, int b) {
        float result = (float)a/b;		// 计算结果
        return result;					// 返回结果
    }
    
5. 相关练习
  1. 有参有返型:编写函数用于判断是否为素数

    #include <stdio.h>
    
    _Bool isPrimeNumber(int num);				// 函数声明
    
    // 主函数
    int main() {
        int num;
        printf("请输入一个数:");
        scanf("%d", &num);  
        if(isPrimeNumber(num)) {				// 调用函数
            printf("%d是素数", num);
        } else {
            printf("%d不是素数", num);
        }
        return 0;
    }
    
    // 判断是否是素数函数
    _Bool isPrimeNumber(int num) {
    	int i;
        for(i=2; i<num; i++) {
            if(num % i == 0) {
                break;
            }
        }
        if(i == num) {							// 如果是素数,返回真
            return 1;
        } else {
            return 0;							// 不是素数,返回假
        }
    }
    
  2. 有参无返型:编写函数遍历输出数组

    #include <stdio.h>
    
    void showArray(int array[], int len);		// 函数声明 
    
    // 主函数
    int main() {
    	int a[] = {1, 2, 3, 4, 5};
    	showArray(a, 5);						// 调用函数
    	
        return 0;
    }
    
    // 遍历输出数组函数 
    void showArray(int a[], int len) {
    	for(int i=0; i<len; i++) {
    		printf("%d ", a[i]);
    	}
    } 
    
  3. 无参有返型:目前未找到合适案例(学了结构体后会有)

  4. 无参无反型:使用函数输出九九乘法表

    #include <stdio.h>
    
    void multiplyTable();		// 函数声明 
    
    // 主函数
    int main() {
    	
    	multiplyTable();		// 调用函数 
    	
        return 0;
    }
    
    // 九九乘法表函数 
    void multiplyTable() {
    	for(int i=1; i<=9; i++) {
    		for(int j=1; j<= i; j++) {
    			printf("%d ×%d = %d\t", j, i,i*j);
    		}
    		printf("\n");
    	}
    } 
    
6. 常用库函数汇总
  1. stdio.h:标准输入输出头文件
    1. 格式化输入输出函数
      1. scanf:按照指定格式从键盘上输入数据,返回成功输入的字符数
      2. printf:将数据以指定格式输出至控制台,返回成功输出的字符数
    2. 字符输入输出函数
      1. getchar:从键盘上获取一个字符,返回该字符
      2. putchar(ch):将括号里的字符ch输出至控制台
    3. 字符串输入输出函数
      1. gets(str):从键盘上输入一个字符串,赋值给str
      2. puts(str):将str对应的字符串输出至控制台
  2. math.h:数学头文件
    1. 三角函数(弧度):sincostanasinacosatan
    2. 指数函数:
      1. exp(n):e的n次方
      2. pow(x,y):x的y次方
    3. 对数函数:
      1. log(n):n的自然对数(以e为底)
      2. log10(n):n的常用对数(以10为底)
    4. 算数平方根:sqrt(n)
    5. 绝对值:fabs(n)
    6. 向上取整:ceil(x)
    7. 向下取整:floor(x)
  3. stdlib.h:标准库头文件
    1. 执行Dos命令:system("命令”)
    2. 动态内存分配:malloc(字节数),学到指针的时候讲
  4. string.h:字符串头文件
    1. 字符串求长度(不包含\0):strlen()
    2. 字符串复制:strcpy(str1,str2):把str2复制到str1
    3. 字符串比较:strcmp(str1,str2):比较 str1 和 str2 是否相等
      1. 返回0:两个字符串相等
      2. 返回1:str2 小于 str1
      3. 返回-1:str1 小于 str2
7. 库函数查询

地址:https://www.runoob.com/cprogramming/c-tutorial.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值