一、基礎知識
1、關係運算子
因為我們要對條件進行判斷,必然會用到關係運算子:
名稱 | 大於 | 大於等於 | 小於 | 小於等於 | 等於 | 不等於 |
---|---|---|---|---|---|---|
符號 | > | >= | < | <= | == | != |
關係表示式的值是一個邏輯值,即“真”(True)或“假”(False)。如果條件成立,其值為“真”;如果條件不成立,其值為“假”。
2、邏輯運算子
基本運算 | 運算子號 | 舉例 | 結果 |
---|---|---|---|
非 | ! | !(1<2) | False |
與 | && | 3<4 && 4>5 | False |
或 | ll | 3<4 ll 4>5 | True |
注:
1)”與”運算中,只有”與”兩邊的表示式都成立,結果才為True,只要兩邊的表示式中有一個不成立的,結果為False.
2)”或”運算中,只要表示式兩邊的有一個成立,結果就為True;若兩邊的表示式均不成立,則結果為False.
3、程式流程圖的基本符號
二、if語句
教學影片A
if語句格式:if(表示式){ 語句塊1 } | if(表示式)語句1;
例程:試編一程式,輸入一 個200以內的整數作為IQ值,判斷是不是天才。
#include <iostream> //包含輸入輸出流標頭檔案iostream
using namespace std; //指明程式 使用名稱空間std(標準)
int main()
{
int iq;
cout<<"IQ:";
cin>>ip ;
if (iq>140) cout<<"天才!";
return 0;
}
練習:
(1)下列表示式的值為“真”的是( )。
A.7%2==0 B.'a'>'0' C.99<60 D.0
(2)閱讀程式寫X的結果。
#include <iostream> //包含輸入輸出流標頭檔案iostream
using namespace std; //指明程式 使用名稱空間std(標準)
int main()
{
int x;
cin>>x;
if (x>100) x-=10;
cout<<x;
return 0;
}
輸入:110
輸出:_______
(3)完善第12、13行程式。
輸入一個整數,判斷是不是偶數,若是就輸出“偶數”。
6 #include <iostream> //包含輸入輸出流標頭檔案iostream
7 using namespace std; //指明程式 使用名稱空間std(標準)
8 int main()
9 {
10 int n;
11 cout<<"請輸入一個整數:";
12 ;
13 if ( ) cout<<"偶數"; //除2餘0,就是偶數。
14 return 0;
15 }
三、if-else 語句
教學影片A
格式:
流程圖:
例程:
試編一程式,輸入一分鐘跳繩的次數,若大於等於200次,輸出“跳繩達人!”,否則輸出“繼續努力!”。
流程圖:
#include <iostream> //包含輸入輸出流標頭檔案iostream
using namespace std; //指明程式 使用名稱空間std(標準)
int main()
{
int n;
cout<<"請輸入1分鐘跳繩次數:";
cin>>n;
if (n>=200)
cout<<"跳繩達人!";
else
cout<<"繼續努力!";
return 0;
}
練習:
(1)下列中合法的關係表示式是( )。
A.'a'<99 B.23.5!<20 C.12<>56 D.5<2X<14
(2)閱讀程式寫結果。
#include <iostream> //包含輸入輸出流標頭檔案iostream
using namespace std; //指明程式 使用名稱空間std(標準)
int main()
{
int x;
cin>>x;
if (x==10)
x++;
else
x--;
cout<<"x="<<x<<endl;
return 0;
}
輸入:10
輸出x為:__________
(3)完善第10、13行程式。。
輸入一個整數,判斷其奇偶。如輸入24,輸出“偶數”,輸入25,輸出“奇數”。
6 #include <iostream> //包含輸入輸出流標頭檔案iostream
7 using namespace std; //指明程式 使用名稱空間std(標準)
8 int main()
9 {
10 ;
11 cout<<"請輸入一個整數:";
12 cin>>n;
13 if ( ) //除2餘0,就是偶數;否則為奇數。
14 cout<<n<<"是偶數";
15 else
16 cout<<n<<"是奇數";
17 return 0;
18 }
四、if語句巢狀
教學影片A
在if語句中又包含一個或多個if語句,稱為if語句巢狀
if與else的就近匹配原則:
幾種巢狀樣式:
例程:
試編寫一個模擬“比爾莊園”登入的程式,輸入正確的使用者名稱和密碼後,輸出歡迎語句“親愛的小朋友,歡迎你!”,否則輸出“使用者名稱錯誤!”或“密碼錯誤!”。
假設使用者名稱和密碼均為六位數,如使用者名稱:201701,密碼:135790。流程圖如下:
#include <iostream> //包含輸入輸出流標頭檔案iostream
using namespace std; //指明程式 使用名稱空間std(標準)
int main()
{
const int USER=201701,PSW=135790;
int user,psw;
cout<<"使用者名稱:";
cin>>user;
cout<<"密碼:";
cin>>psw;
if (user==USER)
if(psw==PSW)
cout<<"親愛的小朋友,歡迎你!";
else
cout<<"密碼錯誤!";
else
cout<<"使用者名稱錯誤!";
return 0;
}
注:在定義變數時,如果加上關鍵字const,則變數的值在程式執行期間不能改變,這種變數稱為常變數,在c++中常變數又稱為只讀變數。
使用常變數好處:
(1)修改方便,無論程式中出現多少次常變數,只要在定義語句中對定義的常變數值進行一次修改,就可以全改。
(2)可讀性強,常變數通常具有明確的含義。有時為了區別常變數和變數,程式中會把常變數名用大寫字母表示。如上面程式。
練習:
(1)閱讀程式寫結果。
#include <iostream> //包含輸入輸出流標頭檔案iostream
using namespace std; //指明程式 使用名稱空間std(標準)
int main()
{
int x,y=0;
cin>>x;
if (x<10) y=1;
else if(x<100) y=2;
else y=3;
cout<<y;
return 0;
}
輸入:10
變數x、y輸出分別為:
(2)完善第14、16行程式。
輸入一個整數,若大於零。則輸出“正數”;若等於零,則輸出“零”;若小於零,則輸出“負數”。
7 #include <iostream> //包含輸入輸出流標頭檔案iostream
8 using namespace std; //指明程式 使用名稱空間std(標準)
9 int main()
10 {
11 float x; //浮點數
12 cout<<"x=";
13 cin>>x;
14 if ( ) //若x等於零,輸出“零”。
15 cout<<"零";
16 else if ( )
17 cout<<"正數";
18 else
19 cout<<"負數";
20 return 0;
21 }
五、字串型別string
字串是夾在兩個雙撇號之間的一串字元,其字元個數可以是零個、一個或多個。如""、"a"、"Apple"、"312"、"apple311"等都是字串。
要注意:
(1) ""(空串,零個字元)也是字串。"a"是字串,而'a'是字元。
(2) string不是C++語言本身具有的基本型別,使用時必須引入標頭檔案string,見下例。
下面程式碼展示瞭如何在C++中使用std::string進行基本的字串操作,包括建立字串、連線字串、獲取字串長度、比較字串、查詢字串和替換字串的一部分。
#include <iostream>
#include <string>
int main() {
std::string str1 = "Hello";
std::string str2 = "World";
// 字串連線
str1 += " ";
str1 += str2;
// 輸出字串
std::cout << str1 << std::endl; // 輸出: Hello World
// 獲取字串長度
std::cout << "Length: " << str1.length() << std::endl; // 輸出: Length: 11
// 字串比較
if (str1 == "Hello World") {
std::cout << "Strings are equal." << std::endl; // 輸出: Strings are equal.
}
// 字串查詢
if (str1.find("World") != std::string::npos) {
std::cout << "Found 'World' in the string." << std::endl; // 輸出: Found 'World' in the string.
}
// 字串替換
str1.replace(6, 5, "C++");
std::cout << str1 << std::endl; // 輸出: Hello C++
return 0;
}
擴充套件閱讀:
(1)C++字串
(2)C語言和C++中的字串(string)
(3)C++中的字元編碼方式