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

C语言5种程序语句(2)——函数语句

2015-08-08 16:07 274 查看
C语言有5种类型的语句:

(1)表达式语句包括:运算符表达式语句、赋值语句。

(2)流程控制语句包括结构化语句和非结构语句;

A.结构化语句包括:条件语句和循环语句;

   a.条件语句包括:if语句和switch语句;

   b.循环语句包括:while语句、do while语句和for语句。

B.非结构化语句包括:限定转向语句和非限定转向语句;

  a.限定转向语句:break语句、continue语句和return语句;

  b.非限定转向语句:goto语句。

函数:为完成一定功能的可执行代码块。函数的定义、声明和调用等。

函数是C语言源程序的基本功能单位。

函数的调用:由另一个函数触发,但函数的定义都是平行的,即:不允许把一个函数定义在另一个函数内,不同函数定义放置位置没有关系。

函数定义4要素:参数列表、返回类型、函数名和函数体。

形式:

返回类型 函数名(参数列表)

{

       函数体;

}

(1)参数列表

形式:类型 变量名1,类型 变量名2,类型 变量名3,……;

注:如果参数列表为空,可以填“void”,但“()”不可省略;

(2)返回类型:指明函数输出的类型;

注:如果没有输出值,返回类型为void,如果在函数定义时没有注明返回类型,默认为int。

(3)函数名:标示该函数,和其他函数区分。

(4)函数体:实现特定功能的代码块;注:在函数体内声明的变量不能和参数列表中的变量同名。

 

形参:函数定义时列表中的参数;(直到被调用时,系统才给分配存储空间,函数执行结束返回时。创建的形参被撤销)

实参:函数调用时传递进来的参数。

 

传址调用

例子:

#include<stdio.h>

#include<conio.h>

void swap(int*a,int *b);

void swap(int*a,int *b)     //函数头,传递的是指针

{

     int temp;

     printf("a is %d,b is%d\n",*a,*b); /*两个形参交换前输出,间接访问*/

     temp=*a;      //临时变量

     *a=*b;

     *b=temp;

     printf("a is %d,b is%d\n",*a,*b);  //两个形参交换之后输出

}

void main(void)

{

     int num1=3,num2=5;

     printf("num1 is %d,num2 is%d\n",num1,num2); //函数执行前输出

     swap(&num1,&num2);    //函数调用,实参是两个变量的地址

     printf("num1 is %d,num2 is%d\n",num1,num2); //函数执行后输出

    getch();

}

 

结果:

num1 is 3,num2is 5

a is 3,b is 5

a is 5,b is 3

num1 is 5,num2is 3

 

 

函数返回

定义:

 int bigger(int a,int b)

{

     if(a>b)

         return a;    //返回值

   else 

         return b;

}

 

结构化除了控制结构:顺序、分支和循环外,还有模块化设计。对于模块:一个入口一个出口。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: