• 范磊 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 }
  • 相关阅读:
    bestcoder #66
    uva11093 Just Finish it up
    UVA 12627 Erratic Expansion
    uva714 Copying Books
    龟兔赛跑
    神、上帝以及老天爷
    不容易系列之(3)―― LELE的RPG难题
    C. Watto and Mechanism
    Phone List hdu1671
    B. Han Solo and Lazer Gun
  • 原文地址:https://www.cnblogs.com/adalovelace/p/3996984.html
Copyright © 2020-2023  润新知