#include<iostream>usingnamespace std;doublesquare(double x){
return x * x;}intfact(int i){
int ret =1;for(;i !=1;--i) ret *= i;return ret;}doubleabs(double i){
if(i >=0)return i;elsereturn-i;}intmain(){
// 6.1// 在函数初始化的时候需要定义形参和形参的类型// 在函数调用的时候需要传入对应类型的实参// 6.2// a 函数定义的返回值为int,却返回了string// b 没有定义返回值的类型,可以改为 void fi(int i) { /.../ }// c 两个形参的命名不能相同// d 没错吧
cout <<square(3.14)<< endl;// 6.3
cout <<fact(5)<< endl;// 6.4
cout <<"Please input an integer: ";int input;
cin >> input;
cout <<"the fact of "<< input <<" is: "<<fact(input)<< endl;// 6.5
cout <<"Please input a number: ";double input2;
cin >> input2;
cout <<"the abs of "<< input2 <<" is: "<<abs(input2)<< endl;return0;}
6.1.1 节练习
#include<iostream>usingnamespace std;intthreeType(int a){
int res;staticint allTime =0;++allTime;return allTime;}intcount(){
staticint time =0;++time;return time;}intmain(){
// 6.6// 形参是一种局部变量,他只能在作用域内被查看// 局部静态变量是在第一次被访问时初始化,程序结束时才被销毁,函数的结束对他并没有影响threeType(1);// 6.7for(int i =0; i !=10;++i){
cout <<count()<< endl;}return0;}
6.1.2 节练习
intthreeType(int a);intcount();
6.2
6.2.1 节练习
#include<iostream>#include<vector>#include<string>usingnamespace std;voidchange(int*p1,int*p2){
int tmp =*p1;*p1 =*p2;*p2 = tmp;return;}intmain(){
int a =1, b =2;
cout << a <<" "<< b << endl;change(&a,&b);
cout << a <<" "<< b << endl;return0;}
6.2.2 节练习
#include<iostream>#include<string>#include<vector>usingnamespace std;voidreset(int&i){
i =0;}voidswap(int&i,int&j){
int tmp = i;
i = j;
j = tmp;}intmain(){
// 6.11int i =10;
cout << i << endl;reset(i);
cout << i << endl;// 6.12int m =1, n =11;
cout <<