c++程式設計例項
阿新 • • 發佈:2019-01-11
1、
#include<iostream>
using namespace std;
int main()
{
cout << "Hello world!" << "\n";
return 0;
}
結果
Hello world!
2、#include<iostream> #include<string> using namespace std; extern int a, b; extern int c; extern float f; int main() { //定義變數 int a, b; int c; float f; //實際初始化 a = 10; b = 20; c=a+b; cout << c << endl; f = 70.0/3.0; cout << f << endl; return 0; }
結果:
30
23.3333
3、
#include<iostream>
using namespace std;
#define LENGTH 10
#define WIDTH 5
//#define NEWLINE '\n'
int main()
{
int area;
area = LENGTH * WIDTH;
cout << area;
// cout << NEWLINE;
return 0;
}
結果:
50
3、常量定義demo2
int main() { const int LENGTH = 10; const int WIDTH = 5; int area; area = LENGTH * WIDTH; cout << area; // cout << NEWLINE; return 0; }
結果:
50
4、static儲存類用法
void func(void);
static int count = 10;
int main()
{
while(count--)
{
func();
}
return 0;
}
void func(void)
{
static int i = 5;
i++;
std::cout << "變數i為" << i;
std::cout << ",變數count為" << count << std::endl;
}
結果:
變數i為6,變數count為9 變數i為7,變數count為8 變數i為8,變數count為7 變數i為9,變數count為6 變數i為10,變數count為5 變數i為11,變數count為4 變數i為12,變數count為3 變數i為13,變數count為2 變數i為14,變數count為1 變數i為15,變數count為0
static int i = 5;
改為
int i = 5;
結果:
變數i為6,變數count為9
變數i為6,變數count為8
變數i為6,變數count為7
變數i為6,變數count為6
變數i為6,變數count為5
變數i為6,變數count為4
變數i為6,變數count為3
變數i為6,變數count為2
變數i為6,變數count為1
變數i為6,變數count為0
4、extern儲存類
main.cpp
#include <iostream>
int count;
extern void write_extern();
int main()
{
count = 5;
write_extern();
}
support.cpp
#include <iostream>
extern int count;
void write_extern(void)
{
std::cout << "Count is" << count << std::endl;
}
執行:
$ g++ main.cpp support.cpp -0 write
$ ./write
結果:Count is 5
5、迴圈
while語句
int main()
{
int a = 10;
while( a < 20 )
{
cout << a << endl;
a++;
}
}
結果:
10
11
12
13
14
15
16
17
18
19
for語句(基於範圍的)
int my_array[5] = {1, 2, 3, 4, 5}; // 每個陣列元素乘於 2
for (int &x : my_array)
{
x *= 2;
cout << x << endl;
} // auto 型別也是 C++11 新標準中的,用來自動獲取變數的型別 for (auto &x : my_array) { x *= 2; cout << x << endl; }
結果:
/tmp/381229462/main.cpp:29:1: error: expected unqualified-id
for (int &x : my_array)
^
1 error generated.
exit status 1
原因:
程式執行是從main函式入口執行的,把程式語句放在全域性空間裡不被執行。要放在某個函式裡或巨集裡等等
rang for 遍歷字串,將小寫變成大寫
#include <iostream>
#include <cctype>
#include <string>
using namespace std;
//string str("guo zehui");
string str = "guozehui";
int main()
{
for (auto &c : str)
{
c = toupper(c);
}
cout << str << endl;
}
結果:
GUOZEHUI
6、生成隨機數
#include <iostream>
#include <cmath>
#include <cstdlib>
using namespace std;
int main()
{
int i,j;
srand( (unsigned)time( NULL ));
for (i = 0; i < 10; i++)
{
j=rand();
cout << j << endl;
}
}
結果:
1338961599
1566172925
1291431620
1754761110
805075681
329934179
1769264811
1209019267
1283590728
579234732
先呼叫srand()函式,再使用rand()返回隨機數。
7、class類的定義
#include <iostream>
using namespace std;
class Box
{
public:
double length;
double breadth;
double heigth;
};
int main()
{
Box box1;
Box box2;
double volume = 0.5;
box1.length = 1;
box1.breadth = 2;
box1.heigth = 3;
box2.length = 4;
box2.breadth = 5;
box2.heigth = 6;
volume = box1.length*box1.breadth*box1.heigth;
cout << volume << endl;
}
結果:
6
class定義成員函式
#include <iostream>
using namespace std;
class Box
{
public:
double length;
double breadth;
double heigth;
double getVolume(void)
{
return length*breadth*heigth;
}
void setLength(double len)
{
length = len;
}
void setBreadth(double bre)
{
breadth = bre;
}
void setHeigth(double hei)
{
heigth = hei;
}
};
int main()
{
Box box1;
Box box2;
double volume = 0.5;
box1.setLength(1.0);
box1.setBreadth(2.0);
box1.setHeigth(3.0);
volume = box1.getVolume();
cout << volume << endl;
}
結果:
6
疑點:
1、explicit建構函式
2、string str ("guozehui");跟string str = "guozehui";區別
string是個類,string str,是定義一個名叫str的字串物件。 str內部儲存著字串的內容,通過str.c_str()可以獲取這個字串的首地址。 string str = "ABC",這也不是將str賦值為"ABC"的首地址,而是使用"ABC"為值來初始化一個string類。在字串變數中存放的是字串的指標(即字串的地址)。在vc++6.0環境下,string變數在記憶體中佔4個位元組,指標變數在記憶體中也是佔4個位元組,它們都用於存放變數的首地址。
字串的首地址不是字串的第一個字元!字串的首地址是字串的第一個字元的地址,這第一個字元的地址的內容才是這個字串的第一個字元。
4、函式定義中return_type,當無返回值時,用void
包含一個整型和一個指標陣列
形式:
int main(int argc, char* argv[])
6、&x,引用呼叫,將引用的地址複製給形式引數,修改形參會影響實際引數。
7、ctime
定義time_t型t變數
time_t t;
7、定義靜態常量
只有靜態整數(注意,不僅僅是整型)常量可以在類中宣告並初始化,其他的都必須在類外初始化。8、
要給“別人”使用的變數和函式就用public 只給自己使用的變數和函式就用private protected。。。這個只能說概念了。。。就是想要允許他的子類直接訪問,就用protected
8、類::成員(引數)
eg:Box::get(double len);
9、#include <>與#include ""區別
include <>引用的是編譯器的類庫路徑裡面的標頭檔案。
#include ""引用的是程式目錄的相對路徑中的標頭檔案。
10、.hpp(Header Plus Plus)c++程式標頭檔案格式