【學習目標】
熟練掌握 c++ 中的關係、邏輯運算子。
熟知關係、邏輯運算子和數**算符的優先順序。
學會正確使用選擇表示式。
【知識著陸】
1、關係運算子
使用關係運算子需要注意的問題例1、假設變數定義為「int x=6,y=4,z=5;」,請分別寫出下列表示式的值。(1)「等於」與「賦值」的區別;
(2)實型資料(浮點數)的關係運算;
(3)運算子的優先順序,如下表:
(1) x + y > y + z (2) 『 x 』 < 『 z 』
(3) x == x >= y (4) (x < y) >(y <= z)
2、邏輯運算子
邏輯運算子的優先順序問題
注意:a、整型資料在參與邏輯運算時,根據其值是 0 或非 0,分別當作邏輯值「假」或「真」進行處理。閱讀程式,寫出程式的執行結果。b、在邏輯表示式的計算過程中,一旦能夠確定整個表示式的值,就會立刻停止計算。 (即短路計算)
#include
using
namespace std;
intmain()
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
using
namespace std;
intmain()
或換成另一種形式:
#include
using
namespace std;
intmain()
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
using
namespace std;
intmain()
使用 if 語句的巢狀需注意的問題(1)分支結構可以巢狀很多層;
(2)if 與 else 的配對關係;
(3)程式設計要形成良好的**風格;
資料結構學習 選擇排序
演算法描述 選擇排序的思想是初始化最小索引為0,每趟遍歷選出最小的元素與最小索引的值進行交換,然後是最小索引加1,第二趟遍歷出剩下元素中最小的元素,繼續與當前索引的元素交換,依次類推,直到所有元素排列完成。相比於氣泡排序,選擇排序的優點在於每次遍歷只需要交換1次。演算法時間複雜度 最好情況 o n ...
c 資料結構學習筆記
c 資料結構學習筆記 1 關於類的建構函式 在建構函式前加上explict關鍵字 就可以使建構函式只可以顯式呼叫,而不可以隱式呼叫。下面的例子說明的很清楚 classtest1 普通建構函式 private int num classtest2 explicit 顯式 建構函式 private in...
C 控制結構學習筆記二
條件結構 if and else 例一 if x 100 else 例二 if x 0 cout x is positive。n else if x 0 cout x is negative。n else cout x is 0.迴圈結構 while迴圈,例一 include int main co...