【學習目標】
- 熟練掌握 C++ 中的關系、邏輯運算子,
- 熟知關系、邏輯運算子和數學運算子的優先級,
- 學會正確使用選擇運算式,
【知識著陸】
1、關系運算子

使用關系運算子需要注意的問題
(1)“等于”與“賦值”的區別;
(2)實型資料(浮點數)的關系運算;
(3)運算子的優先級,如下表:
例1、假設變數定義為“int x=6,y=4,z=5;”,請分別寫出下列運算式的值,
(1) x + y > y + z (2) ‘ x ’ < ‘ z ’
(3) x == x >= y (4) (x < y) >(y <= z)
2、邏輯運算子


邏輯運算子的優先級問題

注意:a、整型資料在參與邏輯運算時,根據其值是 0 或非 0,分別當作邏輯值“假”或“真”進行處理,
b、在邏輯運算式的計算程序中,一旦能夠確定整個運算式的值,就會立刻停止計算, (即短路計算)
閱讀程式,寫出程式的運行結果,
#include<iostream>
using namespace std;
int main(){
int a,b,c,d;
a = 2;b = 3;c = 0;
d = (a > b) && (c = 4);//當判斷a>b為假時,后面不會計算,直接賦值d為0
cout << d << ” ” << c << endl;
return 0;
}
3、if陳述句
if 陳述句有兩種格式:
第一種格式為:
if (運算式) 陳述句1;
else 陳述句2;
第二種格式為:
if (運算式) 陳述句 ;
例1、旅游費用,
【問題描述】
風華公司“南京一日游”的收費標準為:5 人以內(含 5 人)按散客標準,每人 300 元;超過 5 人,按團體標準,每人 280 元,請根據輸入的人數,輸出其旅游費用,
【輸入格式】
一行一個正整數 n,表示人數,1≤n≤5000000,
【輸出格式】
一行一個正整數,表示需要的總旅游費用,
【輸入樣例】
9
【輸出樣例】
2520
【問題分析】
這是一個“選擇性”問題,根據人數 n 來選擇不同的收費標準,條件就是 n≤5,如果成立,那么收費為 n×300;否則,收費為 n×280,
#include<iostream>
using namespace std;
int main(){
int n;
cin >> n;
if(n <= 5)
cout << n * 300 << endl;
else
cout << n * 280 << endl;
return 0;
}
或換成另一種形式:
#include<iostream>
using namespace std;
int main(){
int n,ans;
cin >> n;
ans = n * 300;
if(n > 5)
ans = n * 280;
cout << ans << endl;
return 0;
}
4、if 陳述句的嵌套
在分支結構中經常會遇到這樣的情況:如果條件1成立,就去做A事情,否則去做B事情,但是,在做A事情(或者B事情)時,還要根據條件2是否成立,決定是做A1(或者B1)這件子事情,還是去做A2(或者B2)這件子事情,在程式設計中,把這種情況稱為分支結構的“嵌套”,一般用來解決三種及以上的分支情況,
例1、 三個數的大小比較,
【問題描述】
輸入三個整數 x、y、z,判斷其是否滿足 x≤y≤z,若滿足,輸出“YES”;否則,輸出“NO”,
【輸入格式】
一行三個整數 x、y、z,int 范圍以內,
【輸出格式】
一行一個單詞,表示答案,
【輸入樣例】
3 6 7
【輸出樣例】
YES
【問題分析】
前面已經介紹過用邏輯運算式“x<=y &&y<=z”來表示YES”的條件,本題也可以用 if陳述句的嵌套來解決,如圖:
#include<iostream>
using namespace std;
int main(){
int x,y,z;
cin >> x >> y >> z;
if(x <= y)
if(y <= z)
cout << ” YES ” << endl;
else
cout << ” NO ” << endl;
else
cout << ” NO ” << endl;
return 0;
}
使用 if 陳述句的嵌套需注意的問題
(1)分支結構可以嵌套很多層;
(2)if 與 else 的配對關系;
(3)編程要形成良好的代碼風格;
【學習思考】
1、選擇結構的嵌套要慎重
2、視頻學習Andy微信13734582485

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/230652.html
標籤:其他
上一篇:c語言獲取檔案大小



