zoukankan      html  css  js  c++  java
  • 范磊 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 }
  • 相关阅读:
    关闭编辑easyui datagrid table
    sql 保留两位小数+四舍五入
    easyui DataGrid 工具类之 util js
    easyui DataGrid 工具类之 后台生成列
    easyui DataGrid 工具类之 WorkbookUtil class
    easyui DataGrid 工具类之 TableUtil class
    easyui DataGrid 工具类之 Utils class
    easyui DataGrid 工具类之 列属性class
    oracle 卸载
    “云时代架构”经典文章阅读感想七
  • 原文地址:https://www.cnblogs.com/adalovelace/p/3996984.html
Copyright © 2011-2022 走看看