本节参照程序段:
#includeint main() { using namespace std; // 使用名称空间 std, int a, b; // 声明语句,声明 a, b 两个变量,给他们储存空间的名字为 a, b,并表示他们能够储存整形(int)数据。 a = 5; // 赋值语句,“=” 为赋值运算符,表示将右边的数据或者值给左边,此处即为将 5 赋值给储存空间 a,即 a 空间内的值为 5。 b = 1; // 赋值语句,将 1 赋值给储存空间 b cout << "i have" << a << "apples" << endl; a = a - b; // 赋值语句,表示赋值符号右边的数据可以进行运算或者更改。 cout << "she has" << a << "apples" < 1.1 声明语句与变量 首先来看一个案例:在 python 中,变量的创建是不需要进行声明的,即为想要创建变量时,直接写: myage = 22 ,这样就创建了 “ myage ”这个变量,它的值为22。接下来,想要再对该变量进行操作:myvge = myage + 1;,按照我的原意是想要给 myage 加 1,但是 myage 错误拼写成了 myvge,这样违背了我的意思,在程序输出的时候:print(myage),会输出:22,而myvge 成为了我错误创建的另一个变量。
1.2 赋值语句
这样就可以看到对变量的创建进行声明的重要性了,如果不进行声明,程序存在隐藏的 bug 。
c++ 的声明语句格式为: 声明类型 + 声明变量名称,如 int myname,int 为所声明变量的类型,int 表示为整形,即所声明变量为整数,myname 为所声明变量名称,此处即告诉计算机我需要一个叫作 myname 的空间(内存单元)来储存一个整形数据。
c++ 变量的声明不必在函数的开始位置,但是为了方便,应该尽量在首次使用变量前声明它。int myage; int hisage; int herage; myage = 22; hisage = herage = myage;1.3 输入语句赋值语句将值赋给储存单元,“ = ”叫做赋值运算符,将右边的值给左边的储存空间。c++ 里面允许连续使用赋值符号,将右边的值依次赋值给左边的变量。
输入语句使用命令 cin,表示数据流从外部流向内部。
#includeint main() { using namespace std; int num; cout << "How much do you have?" << endl; cin >> num; // 从键盘输入数字; cout << "Then i will give you two yuan" << endl; cout << "Now you have "<< num +2 << " yuan" << endl; //使用多个 << 符号拼接语句。 return 0; } 运行结果为:
2、函数简介
c++ 函数分为两种,一种是有返回值的,一种是没有返回值的。有返回值的函数传递数据后,函数返回一个结果,没有返回值的是对数据进行操作,但不返回。以下进行详细介绍。
2.1 有返回值的函数
另外,c++ 有自带的标准库,在这些库中的函数可以直接调用。用户也可以自行写一个函数,实现预定功能。有返回值得函数将生成一个值,这个值可赋给变量或者在其他表达式中使用。例如,标准 c++ 库包含一个 sqrt() 函数,它返回平方根。代码如下:
double x; //声明变量 x 为双精度类型,即 x 可以为小数。 x = sqrt(4); //经过函数处理,我们输入的参数 4 得到结果为 2 ,并将这个值传递给变量 x。表达式 sqrt(4) 被称为函数调用,被调用的函数叫做被调用函数( sqrt() )。
圆括号中的值(此处为 4 )是发送给函数的信息,这被称为传递给函数。以这种方式发送给函数的值叫做参数。函数 sqrt() 得到的结果为2.5,并将这个值发送给调用函数,发送回去的值叫作函数的返回值。在使用函数之前,c++ 编译器需要知道函数的参数类型和返回值类型,c++ 提供这种信息的方式是使用函数原型语句。
函数原型之于函数就像变量声明之于变量,即指出涉及的类型。例如,sqrt() 的原型:double sqrt(double);第一个 double 表示函数将返回一个double 值,第二个double 表示sqrt() 需要一个double参数。使用方法如下:
double x; x = sqrt(4.0);该代码块的 x 变量首先声明为 double 类型,符合 sqrt() 原型中函数返回值为 double 类型的要求,输入数据为 4.0 ,符合原型中输入参数为 double 类型的要求。
2.2 无返回值的函数有些函数在函数体中已经将需要的结果打印出来或者操作了,因此不需要返回值。
2.3 用户定义的函数
另外,有些函数也可以不接受传入参数,比如 rand() ,不用传递参数而直接返回一个随机值。如果 c++ 的库函数不能满足用户的使用需求,那么用户可以自己编写函数。首先,每个 c++ 程序都必须有一个 main() 函数,称为主函数,用户必须对其进行定义。用户要完成的所有操作都将在这个主函数中进行。不论是使用库函数还是用户自己定义的函数,都需要在 main() 之前提供原型。而对于用户定义的函数,一般将代码主体放在 main() 后面。
函数格式:函数头+方括号中的函数体。
注意:c++ 不允许将函数定义嵌套在另一函数里,每一个函数定义都是独立的,所有函数的创建都是平等的。
实例1(无返回值的函数):// your func.cpp --- defining your own function #includevoid money(int); //用户自己定义的函数原型,函数名为 money,需要输入整形参数,函数无返回值。 int main() { using namespace std; int n; cout << "how much do you have: "; cin >> n; money(n); // 调用函数 return 0; } void money(int n) // 定义函数 { using namespace std; cout << "i have " << n << " yuan" << endl; } 实例2(在实例1 的基础上进行修改,有返回值的函数):
// your func.cpp --- defining your own function #includeint dollar_to_rmb(int); //用户自己定义的函数原型,函数名为 dollar_to_rmb,需要输入整形参数,函数返回值为 int 类型。 int main() { using namespace std; int n, rmb; cout << "how much do you have(dollars): "; cin >> n; rmb = dollar_to_rmb(n); // 调用函数 cout << "So, you have " << rmb << " yuan" << endl; return 0; } int dollar_to_rmb(int n) // 定义函数 { using namespace std; return 7*n; // 用return 返回参数 }



