C++教程 第10页

C++ 传递数组给函数-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

C++ 传递数组给函数

C++ 传递数组给函数 C++ 数组 C++ 不允许向函数传递一个完整的数组作为参数,但是,您可以通过指定不带索引的数组名来传递一个指向数组的指针。 如果您想要在函数中传递一个一维数组作为参数,您必须以下面三种方式来声明函数形式参数,这三种声明方式的结果是一样的,因为每种方式都会告诉编译器将要接收一个整型指针。同样地,您也可以传递一个多维数组作为形式参数。 方式 1 形式参数是一个指针: void myFunction(int *param) { . . . } 方式 2 形式参数是一个已定义大小的数组: void myFunction(int param[10]) { . . . } 方式 3 形式参数是一个未定义大小的数组: void myFunction(int param[]) { . . . } 实例 现在,让我们来看下面这个函数,它把数组作为参数,同时还传递了另一个参数,根据所传的参数,会返回数组中各元素的平均值: double getAverage(int arr[], int size) { int i, sum = 0; double avg; for (i = 0; i < size; ++i) { sum += arr[i]; } avg = double(sum) / size; return avg; } 现在,让我们调用上面的函数,如下所示: #include <iostream> using namespace std; // 函数声明 double getAverage(int arr[], int size); int main () { // 带有 5 个元素的整型数组 int balance[5] = {1000, 2, 3, 17, 50}; double avg; // 传递一个指向数组的指针作为参数 avg = getAverage( balance, 5 ) ; // 输出返回值 cout <<...

C++ sizeof 运算符-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

C++ sizeof 运算符

C++ sizeof 运算符 C++ 运算符 sizeof 是一个关键字,它是一个编译时运算符,用于判断变量或数据类型的字节大小。 sizeof 运算符可用于获取类、结构、共用体和其他用户自定义数据类型的大小。 使用 sizeof 的语法如下: sizeof (data type) 其中,data type 是要计算大小的数据类型,包括类、结构、共用体和其他用户自定义数据类型。 请尝试下面的实例,理解 C++ 中 sizeof 的用法。复制并黏贴下面的 C++ 程序到 test.cpp 文件中,编译并运行程序。 #include <iostream> using namespace std; int main() { cout << "Size of char : " << sizeof(char) << endl; cout << "Size of int : " << sizeof(int) << endl; cout << "Size of short int : " << sizeof(short int) << endl; cout << "Size of long int : " << sizeof(long int) << endl; cout << "Size of float : " << sizeof(float) << endl; cout << "Size of double : " << sizeof(double) << endl; cout << "Size of wchar_t : " << sizeof(wchar_t) << endl; return 0; } 当上面的代码被编译和执行时,它会产生下列结果,结果会根据使用的机器而不同:...

C++ 条件运算符 ? :-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

C++ 条件运算符 ? :

C++ 条件运算符 ? : C++ 运算符 Exp1 ? Exp2 : Exp3; 其中,Exp1、Exp2 和 Exp3 是表达式。请注意冒号的使用和位置。? : 表达式的值取决于 Exp1 的计算结果。如果 Exp1 为真,则计算 Exp2 的值,且 Exp2 的计算结果则为整个 ? : 表达式的值。如果 Exp1 为假,则计算 Exp3 的值,且 Exp3 的计算结果则为整个 ? : 表达式的值。 ? 被称为三元运算符,因为它需要三个操作数,可以用来代替如下所示的 if-else 语句: if(condition){ var = X; }else{ var = Y; } 例如,请看下面这段代码: if(y < 10){ var = 30; }else{ var = 40; } 上面的代码可以写成以下语句: var = (y < 10) ? 30 : 40; 在这里,如果 y 小于 10,则 var 被赋值为 30,如果 y 不小于 10,则 var 被赋值为 40。请看下面的实例: #include <iostream> using namespace std; int main () { // 局部变量声明 int x, y = 10; x = (y < 10) ? 30 : 40; cout << "value of x: " << x << endl;...

C++ 传值调用-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

C++ 传值调用

C++ 传值调用 C++ 函数 向函数传递参数的传值调用方法,把参数的实际值复制给函数的形式参数。在这种情况下,修改函数内的形式参数不会影响实际参数。 默认情况下,C++ 使用传值调用方法来传递参数。一般来说,这意味着函数内的代码不会改变用于调用函数的实际参数。函数 swap() 定义如下: // 函数定义 void swap(int x, int y) { int temp; temp = x; /* 保存 x 的值 */ x = y; /* 把 y 赋值给 x */ y = temp; /* 把 x 赋值给 y */ return; } 现在,让我们通过传递实际参数来调用函数 swap(): #include <iostream> using namespace std; // 函数声明 void swap(int x, int y); int main () { // 局部变量声明 int a = 100; int b = 200; cout << "交换前,a 的值:" << a << endl; cout << "交换前,b 的值:" << b << endl; // 调用函数来交换值 swap(a, b); cout << "交换后,a 的值:" << a << endl; cout << "交换后,b 的值:" << b << endl; return 0; } 当上面的代码被编译和执行时,它会产生下列结果: 交换前,a 的值: 100 交换前,b 的值:...

C++ 自增自减运算符-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

C++ 自增自减运算符

C++ 自增自减运算符 C++ 运算符 自增运算符 ++ 会把操作数加 1,自减运算符 — 会把操作数减 1。因此: x = x+1; 等同于 x++; 同样的: x = x-1; 等同于 x--; 无论是自增运算符还是自减运算符,都可以放在操作数的前面(前缀)或后面(后缀)。例如: x = x+1; 可以写成: ++x; // 前缀形式 或者: x++; // 后缀形式 前缀形式与后缀形式之间有一点不同。如果使用前缀形式,则会在表达式计算之前完成自增或自减,如果使用后缀形式,则会在表达式计算之后完成自增或自减。 实例 请看下面的实例,理解二者之间的区别: #include <iostream> using namespace std; main() { int a = 21; int c ; // a 的值在赋值之前不会自增 c = a++; cout << "Line 1 - Value of a++ is :" << c << endl ; // 表达式计算之后,a 的值增加 1 cout << "Line 2 - Value of a is :" << a << endl ; // a 的值在赋值之前自增 c = ++a; cout << "Line 3 - Value of ++a is :" << c << endl ; return 0; } 当上面的代码被编译和执行时,它会产生下列结果: Line 1 - Value...

C++ 嵌套循环-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

C++ 嵌套循环

C++ 嵌套循环 C++ 循环 一个循环内可以嵌套另一个循环。C++ 允许至少 256 个嵌套层次。 语法 C++ 中 嵌套 for 循环 语句的语法: for ( init; condition; increment ) { for ( init; condition; increment ) { statement(s); } statement(s); // 可以放置更多的语句 } C++ 中 嵌套 while 循环 语句的语法: while(condition) { while(condition) { statement(s); } statement(s); // 可以放置更多的语句 } C++ 中 嵌套 do…while 循环 语句的语法: do { statement(s); // 可以放置更多的语句 do { statement(s); }while( condition ); }while( condition ); 关于嵌套循环有一点值得注意,您可以在任何类型的循环内嵌套其他任何类型的循环。比如,一个 for 循环可以嵌套在一个 while 循环内,反之亦然。 实例 下面的程序使用了一个嵌套的 for 循环来查找 2 到 100 中的质数: #include <iostream> using namespace std; int main () { int i, j; for(i=2; i<100; i++) { for(j=2; j <= (i/j); j++) if(!(i%j)) break; // 如果找到,则不是质数 if(j > (i/j)) cout << i << " 是质数\n"; } return...

C++ 指针调用-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

C++ 指针调用

C++ 指针调用 C++ 函数 向函数传递参数的指针调用方法,把参数的地址复制给形式参数。在函数内,该地址用于访问调用中要用到的实际参数。这意味着,修改形式参数会影响实际参数。 按指针传递值,参数指针被传递给函数,就像传递其他值给函数一样。因此相应地,在下面的函数 swap() 中,您需要声明函数参数为指针类型,该函数用于交换参数所指向的两个整数变量的值。 // 函数定义 void swap(int *x, int *y) { int temp; temp = *x; /* 保存地址 x 的值 */ *x = *y; /* 把 y 赋值给 x */ *y = temp; /* 把 x 赋值给 y */ return; } 如需了解 C++ 中指针的更多细节,请访问 C++ 指针 章节。 现在,让我们通过指针传值来调用函数 swap(): #include <iostream> using namespace std; // 函数声明 void swap(int *x, int *y); int main () { // 局部变量声明 int a = 100; int b = 200; cout << "交换前,a 的值:" << a << endl; cout << "交换前,b 的值:" << b << endl; /* 调用函数来交换值 * &a 表示指向 a 的指针,即变量 a 的地址 * &b 表示指向 b 的指针,即变量 b 的地址 */ swap(&a, &b); cout << "交换后,a 的值:" <<...

C++ 嵌套 switch 语句-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

C++ 嵌套 switch 语句

C++ 嵌套 switch 语句 C++ 判断 您可以把一个 switch 作为一个外部 switch 的语句序列的一部分,即可以在一个 switch 语句内使用另一个 switch 语句。即使内部和外部 switch 的 case 常量包含共同的值,也没有矛盾。 C++ 中的 switch 语句允许至少 256 个嵌套层次。 语法 C++ 中 嵌套 switch 语句的语法: switch(ch1) { case 'A': cout << "这个 A 是外部 switch 的一部分"; switch(ch2) { case 'A': cout << "这个 A 是内部 switch 的一部分"; break; case 'B': // 内部 B case 代码 } break; case 'B': // 外部 B case 代码 } 实例 #include <iostream> using namespace std; int main () { // 局部变量声明 int a = 100; int b = 200; switch(a) { case 100: cout << "这是外部 switch 的一部分" << endl; switch(b) { case 200: cout << "这是内部 switch 的一部分" << endl; } } cout << "a 的准确值是 "...

C++ 指针运算符(& 和 *)-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

C++ 指针运算符(& 和 *)

C++ 指针运算符(& 和 *) C++ 运算符 C++ 提供了两种指针运算符,一种是取地址运算符 &,一种是间接寻址运算符 *。 指针是一个包含了另一个变量地址的变量,您可以把一个包含了另一个变量地址的变量说成是”指向”另一个变量。变量可以是任意的数据类型,包括对象、结构或者指针。 取地址运算符 & & 是一元运算符,返回操作数的内存地址。例如,如果 var 是一个整型变量,则 &var 是它的地址。该运算符与其他一元运算符具有相同的优先级,在运算时它是从右向左顺序进行的。 您可以把 & 运算符读作“取地址运算符”,这意味着,&var 读作”var 的地址”。 间接寻址运算符 * 第二个运算符是间接寻址运算符 *,它是 & 运算符的补充。* 是一元运算符,返回操作数所指定地址的变量的值。 请看下面的实例,理解这两种运算符的用法。 #include <iostream> using namespace std; int main () { int var; int *ptr; int val; var = 3000; // 获取 var 的地址 ptr = &var; // 获取 ptr 的值 val = *ptr; cout << "Value of var :" << var << endl; cout << "Value of ptr :" << ptr << endl; cout << "Value of val :" << val << endl; return 0; } 当上面的代码被编译和执行时,它会产生下列结果: Value of var :3000 Value of ptr :0xbff64494 Value of val :3000 C++ 运算符

C++ 嵌套 if 语句-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

C++ 嵌套 if 语句

C++ 嵌套 if 语句 C++ 判断 在 C++ 中,嵌套 if-else 语句是合法的,这意味着您可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。 语法 C++ 中 嵌套 if 语句的语法: if( boolean_expression 1) { // 当布尔表达式 1 为真时执行 if(boolean_expression 2) { // 当布尔表达式 2 为真时执行 } } 您可以嵌套 else if…else,方式与嵌套 if 语句相似。 实例 #include <iostream> using namespace std; int main () { // 局部变量声明 int a = 100; int b = 200; // 检查布尔条件 if( a == 100 ) { // 如果条件为真,则检查下面的条件 if( b == 200 ) { // 如果条件为真,则输出下面的语句 cout << "a 的值是 100,且 b 的值是 200" << endl; } } cout << "a 的准确值是 " << a << endl; cout << "b 的准确值是 " << b << endl; return 0; }...