#include<iostream> //引入必要工具iostream
using namespace std; //以後跟各位說,設置一個絕對領域避免被他人汙染,領域名稱std
int main() //所有的C++一定要有一個主程式,程式的進入點
{
cout << "Hello" << endl; //cout = c out = 輸出到螢幕
} //endl = 換行
----------------------------------------------------------------------------------------------------------------------------------------------
int num_1, num_2; //宣告兩個名叫num_1和 num_2的整數
cin >> num_1 >> num_2 //由使用者輸入num_1和 num_2的值
----------------------------------------------------------------------------------------------------------------------------------------------
控制小數點
使用setprecision(),而括弧內放輸出位數,在使用之前要記得先打上#include<iomanip>,舉例來說:
使用setprecision(),而括弧內放輸出位數,在使用之前要記得先打上#include<iomanip>,舉例來說:
cout << setprecision(3) << 1.23456 << endl;
結果: 1.23
cout << setprecision(4) << 1.23456 << endl;
結果: 1.235
//因四捨五入所以結果為1.235而非1.234
在setprecision()前加上fixed後,setprecision()弧內放的就變小數點的位數,舉例來說:
cout << fixed << setprecision(1) << 1.23456 << endl;
結果: 1.2
cout << fixed << setprecision(3) << 1.23456 << endl;
結果: 1.235
//因四捨五入所以結果為1.235而非1.234
由於setprecision()會影響在他之後cout的輸出結果,如果不想被影響,可以加上
cout.unsetf( ios::fixed );舉例來說:
cout << fixed << setprecision(3) << 1.23456789 << endl;
cout << 1.23456789 << endl;
結果:
1.235
1.235
cout << fixed << setprecision(3) << 1.23456789 << endl;
cout.unsetf( ios::fixed );
cout << 1.23456789 << endl;
結果:
1.235
1.23
多筆測資
cin 會傳值是否有讀到輸入值
以下是範例
while( cin >> a >> b)
cout << (a+b) << endl;
若a和b沒得到值
則會跳出while迴圈結束程式
if判斷
if(判斷式)
cout << num_1/num_2-1 << "..." << num_1%num_2+num_2 << endl;
else
cout << num_1/num_2 << "..." << num_1%num_2 << endl;
----------------------------------------------------------------------------------------------------------------------------------------------
多筆測資
cin 會傳值是否有讀到輸入值
以下是範例
while( cin >> a >> b)
cout << (a+b) << endl;
若a和b沒得到值
則會跳出while迴圈結束程式
----------------------------------------------------------------------------------------------------------------------------------------------
if判斷
if(判斷式)
cout << num_1/num_2-1 << "..." << num_1%num_2+num_2 << endl;
else
cout << num_1/num_2 << "..." << num_1%num_2 << endl;
----------------------------------------------------------------------------------------------------------------------------------------------
四捨五入、無條件進位、無條件捨去到整數位
四捨五入 : round()
無條件進位 : ceil()
無條件捨去 : floor()
----------------------------------------------------------------------------------------------------------------------------------------------
for迴圈
for(初始值 ; 判斷式 ; 遞增/遞減)
{
敘述式;
... ... ...;
}
舉例如下, i 從 0 開始,只要 i 符合小於10 的條件就執行{ }內的程式碼,執行完後 i ++(就是 i + 1 的意思) ; i = 1依舊符合小於10的條件,繼續執行{}內的程式碼
for(int i = 0; i <10 ; i++)
{
cout << i << endl;
}
----------------------------------------------------------------------------------------------------------------------------------------------
大整數運算
int 這個變數型態,記憶體大小為 32 bit ,可以儲存數值範圍為 -2³¹ 到 2³¹ - 1 的整數。
long long 這個變數型態是 64 bit 的,可以儲存數值範圍為 -2⁶³ 到 2⁶³ - 1 的整數,其值範圍為 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。
----------------------------------------------------------------------------------------------------------------------------------------------
Switch
switch(判斷的值) {
case 10:
case 9:
cout << "得A" << endl;
break;
default:
cout << "得E(不及格)" << endl;
}
----------------------------------------------------------------------------------------------------------------------------------------------
陣列
一維陣列 : int a[5] = {0}; //宣告陣列a長度為5,且數值都是0。
結果 : 0 0 0 0 0
二維陣列 : int a[5][2] = {0};
結果:
0 0
0 0
0 0
0 0
0 0
陣列長度 sizeof()
int a[4];
sizeof(a); //結果: 16
sizeof(a)/sizeof(a[0]); //結果: 4
----------------------------------------------------------------------------------------------------------------------------------------------
C++四捨五入到小數點第一位
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main() {
double square; // 宣告一個double變數square
cin >> square; // cin = 使用者輸入
square = square * 10 + 0.5; // 把變數 *10 變整數 , +0.5讓>=0.5的小數點進位
square = floor(square); // 無條件捨去到整數位
square = square / 10; // /10 變成原本的數
cout << fixed << setprecision(1) << square << endl;
}
----------------------------------------------------------------------------------------------------------------------------------------------
C++絕對值
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main() {
int num; // 宣告一個double變數square
cin >> num; // cin = 使用者輸入
if(num < 0)
{
num = abs(num);
}
cout << num << endl;
}
----------------------------------------------------------------------------------------------------------------------------------------------
英文字母轉大寫或小寫
#include <iostream>
int main() {
char small = 'g';
cout << "small = " << small << endl;
cout << "small的大寫 = " << (char)toupper(small) << endl;
char big = 'A';
cout << "big = " << big << endl;
cout << "big的小寫 = " << (char)tolower(big) << endl;
return 0;
}
結果 :
small = g
small的大寫 = G
big = A
big的小寫 = a
----------------------------------------------------------------------------------------------------------------------------------------------
指標
#include <iostream>
using namespace std;
int main() {
int a= 10;
int *p; //宣告一個整數變數p為指標,只儲存位址
p = &a; //把變數a的位址儲存在變數p內
cout << p << endl;
return 0;
}
結果 :
0x7ffc0f63548c
說明 :
----------------------------------------------------------------------------------------------------------------------------------------------
搜尋字元
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char s[] = "I have a dream";
char t = 'a';
char *test; //宣告一個字元變數指標test
test = strchr(s, t); //搜尋在陣列s中搜尋字元t,並存入test裡
cout << test << endl;
return 0;
}
結果 :
ave a dream
----------------------------------------------------------------------------------------------------------------------------------------------
四捨五入、無條件進位、無條件捨去到整數位
四捨五入 : round()
無條件進位 : ceil()
無條件捨去 : floor()
----------------------------------------------------------------------------------------------------------------------------------------------
for迴圈
for(初始值 ; 判斷式 ; 遞增/遞減)
{
敘述式;
... ... ...;
}
舉例如下, i 從 0 開始,只要 i 符合小於10 的條件就執行{ }內的程式碼,執行完後 i ++(就是 i + 1 的意思) ; i = 1依舊符合小於10的條件,繼續執行{}內的程式碼
for(int i = 0; i <10 ; i++)
{
cout << i << endl;
}
----------------------------------------------------------------------------------------------------------------------------------------------
大整數運算
int 這個變數型態,記憶體大小為 32 bit ,可以儲存數值範圍為 -2³¹ 到 2³¹ - 1 的整數。
long long 這個變數型態是 64 bit 的,可以儲存數值範圍為 -2⁶³ 到 2⁶³ - 1 的整數,其值範圍為 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。
----------------------------------------------------------------------------------------------------------------------------------------------
Switch
switch(判斷的值) {
case 10:
case 9:
cout << "得A" << endl;
break;
default:
cout << "得E(不及格)" << endl;
}
----------------------------------------------------------------------------------------------------------------------------------------------
陣列
一維陣列 : int a[5] = {0}; //宣告陣列a長度為5,且數值都是0。
結果 : 0 0 0 0 0
二維陣列 : int a[5][2] = {0};
結果:
0 0
0 0
0 0
0 0
0 0
陣列長度 sizeof()
int a[4];
sizeof(a); //結果: 16
sizeof(a)/sizeof(a[0]); //結果: 4
----------------------------------------------------------------------------------------------------------------------------------------------
C++四捨五入到小數點第一位
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main() {
double square; // 宣告一個double變數square
cin >> square; // cin = 使用者輸入
square = square * 10 + 0.5; // 把變數 *10 變整數 , +0.5讓>=0.5的小數點進位
square = floor(square); // 無條件捨去到整數位
square = square / 10; // /10 變成原本的數
cout << fixed << setprecision(1) << square << endl;
}
----------------------------------------------------------------------------------------------------------------------------------------------
C++絕對值
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main() {
int num; // 宣告一個double變數square
cin >> num; // cin = 使用者輸入
if(num < 0)
{
num = abs(num);
}
cout << num << endl;
}
----------------------------------------------------------------------------------------------------------------------------------------------
英文字母轉大寫或小寫
#include <iostream>
#include <stdio.h>
#include <ctype.h>
using namespace std;int main() {
char small = 'g';
cout << "small = " << small << endl;
cout << "small的大寫 = " << (char)toupper(small) << endl;
char big = 'A';
cout << "big = " << big << endl;
cout << "big的小寫 = " << (char)tolower(big) << endl;
return 0;
}
結果 :
small = g
small的大寫 = G
big = A
big的小寫 = a
----------------------------------------------------------------------------------------------------------------------------------------------
指標
#include <iostream>
using namespace std;
int main() {
int a= 10;
int *p; //宣告一個整數變數p為指標,只儲存位址
p = &a; //把變數a的位址儲存在變數p內
cout << p << endl;
return 0;
}
結果 :
0x7ffc0f63548c
說明 :
----------------------------------------------------------------------------------------------------------------------------------------------
搜尋字元
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char s[] = "I have a dream";
char t = 'a';
char *test; //宣告一個字元變數指標test
test = strchr(s, t); //搜尋在陣列s中搜尋字元t,並存入test裡
cout << test << endl;
return 0;
}
結果 :
ave a dream
----------------------------------------------------------------------------------------------------------------------------------------------
關鍵字 : C++, 入門, 使用者輸入, 輸出, 控制小數點, 多筆測資, if判斷, 四捨五入, 無條件進位, 無條件捨去, for迴圈, 大整數運算, switch, 陣列, 絕對值, 英文字母轉大寫或小寫, 指標, 搜尋字元
沒有留言:
張貼留言