范磊 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!\n" ;
 10 }
 11 void fun1()///3.1 一个简单的函数
 12 {
 13     std :: cout << "函数开始\n" ;
 14     show();
 15     std :: cout << "函数结束\n" ;
 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\n" ;
 58 }
 59 void B()    //定义函数B的具体内容.
 60 {
 61     std::cout <<"函数B\n" ;
 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函数中:\n" ;
116     cout << "X = "<< x << ",Y = " << y << endl;
117     func();
118
119     return 0;
120 }
121 void func()
122 {
123     cout << "func函数中:\n" ;
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 << "-----------------------\n" ;
132
133     //fun2();  //3.2 函数的传参数
134     std :: cout << "-----------------------\n" ;
135
136     fun4();  //3.4 函数的声明与定义
137     std :: cout << "-----------------------\n" ;
138
139     fun5();  //3.5 局部变量
140     std :: cout << "-----------------------\n" ;
141
142     fun6();  //3.6 全局变量
143     std :: cout << "-----------------------\n" ;
144
145     return 0;
146 }
时间: 2024-12-18 23:50:45

范磊 C++ 第3章 初步了解函数的相关文章

范磊 C++ 第6章 面向对象

1 // section_6.cpp : Defines the entry point for the console application. 2 //范磊C++ 第6章 面向对象 3 4 #include "stdafx.h" 5 #include "iostream" 6 7 8 9 //6.3.7 对象只能调用类中存在的方法(函数) 10 using std :: cout; 11 class Human 12 { 13 public: 14 void w

范磊 C++ 第8章 指针

1 // section_8.cpp : Defines the entry point for the console application. 2 //范磊 C++ 第8章 指针 3 //指针本质也是一个变量,只是这个变量存放的数据比较特殊,怎么特殊? 4 //里面存放的是别人家的地址. 其他变量的内存编号而已. 5 6 #include "stdafx.h" 7 #include "iostream" 8 9 using namespace std; 10 1

范磊 C++ 第4章 C++数据类型

1 // section_4.cpp : Defines the entry point for the console application. 2 //范磊C++ 第4章 C++数据类型 3 //c++有6种数据类型 4 /* 5 布尔型 bool .布尔型可表示两个逻辑值0和1.即"真" 和 "假". 6 字符型 char . 7 双字节行 w_char 8 整形 int 9 单精度浮点型 float 10 双精度浮点型 double 11 */ 12 13

范磊 C++ 第5章 if语句与运算符

1 // section_5.cpp : Defines the entry point for the console application. 2 //范磊 C++ 第5章 if语句与运算符 3 4 #include "stdafx.h" 5 #include "iostream" 6 7 8 void fun1() //5.3表达式的定义 9 //凡是用于计算值得操作,都可以看作是表达式,总能返回一个值 10 { 11 using namespace std;

范磊 C++ 第7章 循环语句

1 // section_7.cpp : Defines the entry point for the console application. 2 //范磊 C++ 第7章 循环语句 3 4 #include "stdafx.h" 5 #include "iostream" 6 7 using namespace std; //cout 和 endl 前面不用加 std:: 了. 8 9 //7.1 循环语句的前身--go to 语句 10 void fun1(

范磊 C++ 第2章

//范磊C++ 第2章 //这章我觉得最主要的是:1, 命名空间 namespace 作用; 2,std 的作用. #include "stdafx.h" //这个#include "stdafx.h"和#include "iostream" 好像有顺序的吧?反过来放,先写#include "iostream"就错了?不明白. #include "iostream" // iostream 是一个标准库,类

第四章 初步进入linux世界

第四章 初步进入linux世界 [Linux 系统启动过程] Linux的启动其实和windows的启动过程很类似,不过windows我们是无法看到启动信息的,而linux启动时我们会看到许多启动信息,例如某个服务是否启动. Linux系统的启动过程大体上可分为五部分:内核的引导:运行init:系统初始化:建立终端 :用户登录系统. A 内核引导 当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动.紧接着由启动设备上的grub程序开始引导linux,当引

mySQL教程 第7章 存储过程和函数

第7章 存储过程和函数 存储过程和存储函数 MySQL的存储过程(stored procedure)和函数(stored function)统称为stored routines. 1. MySQL存储过程和函数的区别 函数只能通过return语句返回单个值或者表对象.而存储过程不允许执行return,但是通过out参数返回多个值. 函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程不行. 函数限制比较多,比如不能用临时表,只能用表变量.还有一些函数都不可用等等.而存储过程的限制

重构改善既有代码的设计--第6章--重新组织函数

第6章 重新组织函数 6.1 Extract Method Long methods,因为包含太多信息和逻辑,不容易处理和修改.所以需要进行Extract Method. (1)场景 当一个函数过长,或者一段代码需要注释才能看懂,就可以考虑将其放入独立函数中. (2)优点 每个函数粒度小,被复用的几率大,被修改的难度也会低一些:高层函数逻辑分明. (3)做法 以"做什么"命名,而不是"怎么做".比如,printDetail(). 将源函数中的某一段提取到目标函数中.