黑马程序员--ios基础--c语言--函数

时间:2021-09-17 12:15:07
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 一.什么是函数
  • 任何一个c语言程序都是有一个或者多个程序段(小程序)构成的,每个程序段都有自己的功能,我们一般称这些程序段为“函数”。所以,你可以说c语言是由函数构成的。
二.函数的定义 1.定义函数的目的
  • 将一个常用的功能封装起来,方便以后调用
2.定义函数的步骤
  • 函数名:函数叫什么名字
  • 函数题:函数是干啥的,里面包含了什么代码
3.格式
  • 固定格式(很多语言的函数都是这么写的)
返回值类型  函数名(形式参数列表) 函数体  } 三.函数调用
四.函数的参数 1.形参和实参的基本概念 2.形参个书和实参一致 3.参数的传递是值传递 4.参数名不能跟函数哪的局部变量同名
#include <stdio.h>


int printLine()
{
printf("-------------\n");
return 0;
}

int average(int num1, int num2)
{
return (num1 + num2)/2;
}

int main()
{
/*
printLine();

printLine();

printLine();
*/

int a = 10;
int b = 9;

int c = average(a, b);

printf("c is %d\n", c);

int a1 = 11;
int b1 = 20;

int d = average(a1, b1);
printf("d is %d\n", d);

return 0;
}


五.函数的返回值 1.返回值的基本概念,return的作用 2.void 3.return void可以省略return 可以多次使用return return后面不能有其它语句 4.函数的弱语法 如果没有写返回值类型,默认是int 如果写了返回值,可以不返回 调用一个没有定义过的函数 六.定义函数的步骤 1.明确函数作用,起一个有意义的函数名称 2.明确函数的参数和返回值 七.函数注意 不能嵌套定义函数 死循环调用,自己调用自己 不能重复定义,可以重复声明
#include <stdio.h>

// 形式参数,简称形参
int sum(int num1, int num2)
{
// 函数体内部不能定义和形参一样的变量
// int num1;

num1 = 50;

return num1 + num2;
}

/*
return的作用:
1> 退出函数
2> 返回一个具体值给函数调用者

返回值注意点
1> void代表没有返回值
2> 如果没有明确说明返回值类型,默认是返回int类型
3> 就算明确声明了返回值类型,也可以不返回任何值

默认情况下,C语言不允许两个函数的名称一样
*/

char test()
{
return 'A';
}

/*
void test(int a, int b)
{

}*/

void test5()
{

}


int test3()
{
printf("999999999\n");
}

// 如果不明确声明返回值类型,默认就是int类型
test2()
{
printf("888888888\n");
return 10;
}

int main()
{
int c = test2();
printf("c=%d\n", c);

test3();
//test();

/*
int a = 100;
int b = 27;

// a、b称为函数的实际参数,简称实参
int c = sum(a, b);


printf("a=%d, b=%d, c=%d\n", a, b, c);*/

return 0;
}


八.函数的补充 1.main函数 返回值:0,正常退出;1,异常退出 2.printf函数 #include 返回值:字符串的长i度 十.函数的声明 1.函数的定义顺序 2.函数的声明作用:声明和定义类似于身份证和人的关系 3.只有函数声明、没有定义,编译警告、链接报错 十一. .h和.c文件的分工 1.单文件的坏处 一个文件的内容太多,不利于阅读、调试 多人修改同一个文件出问题 公司里面是团队合作 2.将函数抽取到另一个.c文件中 3.在其他文件中声明函数 4.将抽取到另外一个文件中 5.抽取步骤总结 .c文件写函数的定义 .h文件写函数的声明 十二.#include 1.预处理指令简介 2.#include的作用 纯粹是文件拷贝 3.#include<stdio.h> stdio.h中有什么?链接的时候做了什么事情:把项目中所有相关联的.o目标文件、c语言函数库合并在一起,生成可执行文件。 <>和""的区别 4.#include的路径问题 代码笔记如下: ptt.c
#include <stdio.h>
#include "pdd.h"

int main()
{
int score1 = 100;
int score2 = 70;

int c = average(score1, score2);
int d = sum(score1, score2);



printf("平均分是%d\n", c);
printf("总分是%d\n", d);

// \n是一个转义字符
// \t tab键
// \" 一个双引号
// printf函数返回的字符串常量的字符数,并不是字数
// 1个汉字占据3个字符
int e = printf("哈h\"\ta\n");

printf("e=%d\n", e);

return 0;
}

函数的定义.c文件 pdd.c
    
int average(int a, int b)
{
return (a + b)/2;
}

int sum(int a, int b)
{
return a + b;
}

int minus(int a, int b)
{
return a - b;
}

int multiply(int a, int b)
{
return a * b;
}

函数的声明.h文件 pdd.h
 
/*
pdd
编写函数的声明
*/
int average(int a, int b);
int sum(int a, int b);
int minus(int a, int b);
int multiply(int a, int b);

编译链接:cc ptt.c pdd.c 生成可执行文件 ./a.out 输出结果黑马程序员--ios基础--c语言--函数