范磊 C++ 第3章 初步了解函数


  1 //范磊C++ 第3章
  2 
  3 #include "stdafx.h"
  4 #include "iostream"
  5 
  6 //3.1 一个简单的函数
  7 void show()
  8 {
  9     std :: cout << "Hello word!
" ;
 10 }
 11 void fun1()///3.1 一个简单的函数
 12 {
 13     std :: cout << "函数开始
" ; 
 14     show();
 15     std :: cout << "函数结束
" ;
 16 
 17 }
 18 
 19 //3.2 函数的传参
 20 using namespace std;
 21 int add(int x, int y)
 22 {
 23     return x + y;
 24 }
 25 int fun2()
 26 {
 27     int a;
 28     int b;
 29     int c;
 30 
 31     cout << "请输入两个整数 :" ;
 32     cin >> a;
 33     cin >> b;
 34     c = add(a, b);
 35     cout << "a + b =" << c << endl;
 36 
 37     return 0;
 38 }
 39 
 40 //3.4 函数的声明与定义
 41 void A();      //声明函数A.
 42 void B();      //声明函数B.
 43 int main_fun4();      //声明函数main_fun4.
 44 void fun4()
 45 {
 46     main_fun4();         //在fun4函数里面调用了函数main_fun4.
 47 /*    int main_fun4()      //这样是一个错误的调用函数的方法.
 48     {                 
 49         A();             //如果要在一个函数(f1)里面实现另外一个函数(f2)的功能,必须只能调用.
 50         B();             //不能直接在函数(f1)里面新声明并且定义一个函数(f2).
 51         
 52         return 0;
 53     }  */    
 54 }
 55 void A()    //定义函数A的具体内容.
 56 {
 57     std::cout <<"函数A
" ; 
 58 }
 59 void B()    //定义函数B的具体内容.
 60 {
 61     std::cout <<"函数B
" ; 
 62 }
 63 int main_fun4()    //定义函数main_fun4的具体内容.
 64 {
 65     A();  //在main_fun4调用了函数A.
 66     B();  //在main_fun4调用了函数B.
 67 
 68     return 0;
 69 }
 70 
 71 //3.5 局部变量
 72 //在函数内部声明的变量为局部变量,只存在本函数当中,函数结束时,局部变量也随之结束.
 73 //例如在函数f1中有两个变量a,b.他们只能存货在函数f1中,当离开了f1时,a和b无意义,无法使用.
 74 void swap(int, int);
 75 int fun5()
 76 {
 77     int x;
 78     int y;
 79     
 80     x = 3;
 81     y = 4;
 82 
 83     cout << "在fun5函数中,调用swap函数之前,x的值为:" <<x <<",y的值为:" << y << endl;
 84     swap(3, 4);
 85     cout << "在fun5函数中,调用swap函数之前,x的值为:" <<x <<",y的值为:" << y << endl;
 86 
 87     return 0;
 88 }
 89 
 90 void swap(int x, int y)
 91 {
 92     cout << "在swap函数中,调用swap函数之前,x的值为:" <<x <<",y的值为:" << y << endl;
 93 
 94     int z;
 95     z = x;
 96     x = y;
 97     y = z;
 98 
 99     cout << "在swap函数中,调用swap函数之前,x的值为:" <<x <<",y的值为:" << y << endl;
100 }
101 
102 //3.6 全局变量
103 void func();
104 int x = 3;   //全局变量时,定义就要赋值.否则编译不能通过.
105 int y = 4;
106 //x = 3;     //全局变量时,不可以先定义,然后再赋值.
107 //y = 4;
108 /*
109 全局变量虽然 int a = 1 和 int b = 2是可以通过了编译.
110 1.但是如果在整个文件中都没有任何程序使用到全局变量的时候,编译器还是不会为全局变量分配内存空间的.
111 2.如果f1函数使用了全局变量,f1的函数框架不会为了全局变量多生成8个字节的内存空间.
112 */
113 int fun6()
114 {
115     cout << "fun6函数中:
" ;
116     cout << "X = "<< x << ",Y = " << y << endl;
117     func();
118 
119     return 0;
120 }
121 void func()
122 {
123     cout << "func函数中:
" ;
124     cout << "X = "<< x << ",Y = " << y << endl;
125 }
126 
127 
128 int main(int argc, char* argv[])
129 {
130     fun1();  //3.1 一个简单的函数
131     std :: cout << "-----------------------
" ;
132 
133     //fun2();  //3.2 函数的传参数
134     std :: cout << "-----------------------
" ;
135 
136     fun4();  //3.4 函数的声明与定义
137     std :: cout << "-----------------------
" ;
138 
139     fun5();  //3.5 局部变量
140     std :: cout << "-----------------------
" ;
141 
142     fun6();  //3.6 全局变量
143     std :: cout << "-----------------------
" ;
144 
145     return 0;
146 }
原文地址:https://www.cnblogs.com/adalovelace/p/3996984.html