函数是一个可以从程序其他地方调用执行的语句块。
"函数格式:type name (argument1, argument2, ……) statement
type 是函数返回的数据的类型
name 是函数被调用时使用的名
argument 是函数调用需要传入的参量(可以声明任意多个参量),参量仅在函数范围内有效
statement 是函数的内容。例一:
#include <iostream.h>
int addition (int a, int b) {
int r;
r = a +b;
return (r);
}
int main () {
int z;
z = addition (5, 3);
cout << ""The result is "" << z;
return 0;
}
输出结果:The result is 8"
"没有返回值类型的函数,使用void;例二:
#include <iostream.h>
using namespace std;
void printmessage () {
cout << ""I'm a function!"";
}
int main () {
printmessage ();
return;
}
输出结果:I'm a function!"
参数按数值传递和按地址传递;
上面学到的函数都是按值传递
下面是按地址传递的例子:
#include <iostream.h>
"void duplicate (int& a, int& b, int& c) {
a*=2;
b*=2;
c*=2;
}"
int main () {
"int x = 1, y = 3, z = 7;
duplicate (x, y, z);
cout << ""x="" << x << "", y= "" << y << "", z="" << z;
return 0;
}"
输出结果:x=2, y=6, z=14
参数的默认值,例子如下:
#include <iostream.h>
"int divide (int , int b = 2) {
int r ;
r = a/b;
return (r);
}"
int main () {
cout << divide (12);
cout << endl;
cout << divide (20, 4);
return 0;
}
输出结果:6换行 5
函数重载:函数名相同,参数不同。例子:
#include <iostream.h>
int divide (int a, int b) {
return (a/b);
}
float divide (float a, float b) {
return (a/b);
}
int main () {
int x = 5. y = 2;
float n = 5.0, m = 2.0;
cout << divide (x, y);
cout << "\n";
cout << divide (n, m);
return 0;
}
输出结果:2 换行 2.5
inline 函数:inline 指令可以被放在函数声明之前,要求该函数必须在被调用的地方以代码形式被编译。这相当于一个宏定义(macro)。它的好处只对短小的函数有效,这种情况下因为避免了调用函数的一些常规操作的时间(overhead),如参数堆栈操作的时间,所以编译结果的运行代码会更快一些。
声明形式:inline type name (arguments … ) { instructions … }
递归:指函数被自己调用的特点,对排序和阶乘运算很有用。例子如下:
#include <iostream.h>
long factorial (long a) {
if (a > 1) return (a *factorial (a - 1));
else return (1);
}
int main () {
long l;
cout << "Type a number: ";
cin >> l;
cout << "!" << "=" << factorial (l);
return 0;
}
"输出结果:Type a number: 9
!9 = 362880 "
函数的声明,为了让主函数能调用后面写的函数,我们需要先声明函数,否则会有编译错误。
声明形式:type name (argument_type1, argument_type2, … );
例如:
#include <iostream.h>
void odd (int a);
void even (int a);
int main () {
int i;
do {
cout << "Type a number: (0 to exit)";
cin >> i;
odd (i);
} while (i != 0);
return 0;
}
void odd (int a) {
if ((a%2) != 0) cout << Number is odd.\n";
else even (a);
}
void even (int a) {
if ((a%2) != 0) cout << Number is even.\n";
else odd (a);
}
"输出结果:Type a number (0 to exit): 9
Number is odd.
Type a number (0 to exit): 6
Number is even.
Type a number (0 to exit): 1030
Number is even.
Type a number (0 to exit): 0
Number is even.
分享到:
相关推荐
C++学习笔记--函数指针 函数指针 程序运行期间。每个函数都会占用一段连续的内存空间。而函数名就是该函数所占内存区域的起始地址(也称“入口地址”)。我们可以将函数入口地址赋给一个指针变量,使该指针变量...
### C++ 学习笔记精华版 #### 一、C++ 语言概述 **1、历史背景** - **C++ 的江湖地位** - Java、C、C++、Python、C# 是当前主流的编程语言之一,而 C++ 在这些语言中以其高效性和灵活性著称。 - **C++ 之父 ...
这篇学习笔记主要探讨的是如何在C++ Builder中实现一个可新建文件夹的选择目录对话框。 选择目录对话框是许多应用中常见的功能,它允许用户浏览文件系统并选择一个文件夹。在C++ Builder中,我们可以利用Windows ...
这篇学习笔记主要涉及了C++编程的一些核心概念,包括程序结构、变量、基本类型、初始化与赋值、可读性、常量与引用、typedef、枚举以及标准库中的字符串和向量类型。 1. **程序结构**: - 每个C++程序都必须包含`...
【C++ Primer 学习笔记】深入理解C++的基础概念 C++ Primer 是一本广泛使用的C++编程教材,本系列学习笔记旨在探讨那些容易被忽视或引起误解的C++知识点,适合已经具备一定C++基础知识的读者。我们将从C++的基础...
这份"C++学习笔记"涵盖了C++的基础到高级概念,旨在帮助初学者和有一定经验的程序员深入理解并掌握C++。 在C++的学习过程中,以下几个关键知识点是不可或缺的: 1. **基础语法**:C++起源于C语言,因此它保留了...
【C语言和C++Builder学习笔记】 C语言和C++是两种广泛使用的编程语言,它们在软件开发领域占据着重要地位。C语言以其简洁、高效和底层操作能力著称,而C++则在C的基础上引入了面向对象编程,极大地扩展了其应用范围...
C++是一种静态类型、编译式、通用的编程语言,它支持过程化编程、面向对象编程和泛型编程。C++广泛应用于软件开发领域,包括操作...以上内容覆盖了C++语言中一些基础知识点,对于学习和理解C++编程具有重要的指导意义。
C++ Standard Template Library(STL)是C++编程语言的一个重要组件,它提供了一系列通用的数据结构和算法模板,使程序员能够以一种标准化和高效的方式处理数据。STL的主要组成部分包括容器(containers)、迭代器...
【C++ 学习笔记】深入理解编程与C++基础 C++是一种强大的、面向对象的编程语言,广泛应用于系统软件、游戏开发、嵌入式系统以及许多高性能应用。学习C++不仅仅是掌握语法,更重要的是理解编程的核心概念,以便更好...
【C++学习笔记】这份详尽的资源是为那些希望深入了解C++编程语言的人们精心准备的。C++是一种强大的、通用的编程语言,它的设计理念是面向对象,同时支持过程化编程,使得它在系统软件、应用软件、游戏开发、设备...
**C++学习笔记--函数** 在C++编程中,函数是一种可重用的代码块,它执行特定的任务并可能接收参数、返回值或两者都有。本笔记将深入探讨C++中的函数,包括它们的定义、调用、参数传递以及如何在实际编程中有效地...
3. **运算符**:C++支持多种运算符,包括算术运算符(+、-、*、/、%)、关系运算符(==、!=、<、>、、>=)、逻辑运算符(&&、||、!)等,理解它们的优先级和结合性很重要。 4. **流程控制语句**:包括条件语句(if...
【C++学习笔记概述】 C++是一门强大的编程语言,其在C语言的基础上进行了扩展,引入了许多现代化的特性。这份笔记主要涵盖了C++的基础知识,包括C++11和C++17的新特性,旨在帮助初学者理解C++的核心概念。 ### C++...
《C++ Primer学习笔记》是一份详尽的资料,涵盖了C++编程语言的基础到高级概念。这份笔记旨在帮助初学者和有一定经验的开发者深入理解C++的语法、特性以及最佳实践。C++ Primer是C++编程领域的一本经典教材,以其...
本资源摘要信息涵盖了C++语言的学习笔记,涵盖了C++的基本语法、数据类型、运算符、控制结构、函数、数组、指针、类和对象、继承、多态、异常处理等方面的知识点。 1. 方法标记事务的开始 在录制Vuser脚本时,单击...
"黑马C++学习笔记" 本笔记主要记录了C++的基础知识和一些重要的概念,包括变量的声明、赋值、输出、引用、指针、结构体等。 变量声明和赋值 在C++中,变量的声明和赋值是非常重要的。变量可以是整数、浮点数、...
这份"C++学习笔记"涵盖了C++的基础概念、语法结构、面向对象编程以及可能的高级主题,旨在帮助初学者或者有经验的程序员巩固C++知识。 首先,C++是从C语言发展而来,它保留了C语言的效率,同时引入了类和对象的概念...