您的位置:首页 > 编程语言 > C语言/C++

C语言函数

2015-11-27 12:19 393 查看
//
// main.c
// C_03
//
// Created by ibokan on 15/11/27.
// Copyright © 2015年 rick. All rights reserved.
//

#include <stdio.h>
//全局变量
int ee = 0;

//在main函数的前面,我们需要将程序需要用到的函数,声明或定义出来
//函数的声明
int getSumm(int a,
int b);

//有返回值有参数类型
int getMax(int a,int b,int c)
{
//auto
int max = a;
if (max < b)
{
max = b;
}
if (max < c)
{
max = c;
}

return max;
}

//无返回值无参数类型
void print()
{
printf("我是无返回值无参数类型的\n");
}

//有返回值无参数类型
int getSum()
{
int sum =
0 ;
for (int i =
1; i<= 100; i++)
{
sum += i;
}
return sum;
}

//无返回值有参数类型
void printChar(char alphabet)
{
printf("alphabet = %c\n",alphabet);
}

//形参实参例子
void changValue(int x)
{
printf("x 改变之前的值%d\n",x);
x = 999;
printf("x 改变之后的值%d\n",x);
}

//static例子
void test()
{
static
int e = 0;
printf("e = %d\n",e);
e++;
}

int main(int argc,
const char * argv[]) {

int a =
1;
int b =2;
int c =
3;
int max = a;
if (a< b)
{
max = b;
}
if (max < c)
{
max = c;
}

/*
函数
将一些功能代码隐藏起来,给外部提供接口,我们需要知道函数可以干什么就可以了
使用函数可以实现代码的重用

*/

/*
C语言函数的定义:
语法:
返回值类型
函数名(参数类型
参数名1,参数类型
参数名2,...)
{
实现函数的代码

return 返回值;

}

*/

int getmaxa = getMax(1,
2, 3);
//函数的调用

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

//有返回值有参数类型

//无返回值无参数类型
print(); //函数的调用

//有返回值无参数类型
int getSumNumber = getSum();
printf("getSumNumber = %d\n",getSumNumber);

//无返回值有参数类型
printChar('a');

/*
每个函数都有返回值类型,即类型标识符
void类型表示此函数返回值类型为空
参数列表可以为空
如果一个函数没有参数,它依然要写()
*/

/*
函数的声明
函数的声明与函数头一样,以分号结束
*/

int theSum = getSumm(2,
3);
printf("theSum = %d\n",theSum);

/*
函数的调用
语法
方法名(实参列表)

*/

/*
形参(形式参数),在定义函数的时候使用,并且在整个函数内部可以使用,出了函数之后不能使用
形参:变量、数组

实参(实际参数),在调用函数时使用,通过实际参数,将数据传递给形式参数,然后再经由形式参数传递给函数
实参:同类型的常量、变量、数组元素、表达式、数组

*/

int x =
10;
changValue(x);

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

/*
注意:
1.形参和实参在数量、类型、顺序上应该应该严格一致,否则会发生类型不匹配的错误。

2.在函数中对形参做出改变,那么在函数执行完毕后,实参的值是不会发生改变的,因为函数内部所操作的都是实参的副本。

*/

/*
变量的作用域
全局变量 局部变量
全局变量
:定义在我们函数外部的变量称为 全局变量,任何函数都可以使用

局部变量:定义在我们的函数里面的变量称为局部变量
auto static ...

对于auto类型的局部变量出了函数以后不能使用

对static类型的局部变量,能够在程序运行期间一直保持其最后一次被改变的值

*/

for (int i =
0; i <10; i++)
{
test();
}

/*
函数的分类
1.库函数 printf scanf
2.数学库函数 #include<math.h>用
(P103)
3.自定义函数:
用户在程序中需要而编写的函数

*/

//函数的嵌套调用
// int t = getSumm(2, 3);
int value = getMax(getSumm(2,
3), 2,
3);
printf("value = %d\n",value);

/*
C程序源代码格式的一般情况如下:
预编译语句
宏定义常量
函数的声明放在这里
main函数
函数的实现放这里

*/

return
0;
}

int getSumm(int a,
int b)
{
//函数的实现
int sum = a+b;
// a++;
// b++;
return sum;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: