版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1.6.2
屏幕輸出屏幕輸出的作用從內存讀取數據項的值,轉換成相應的字符串顯示到屏幕上·輸出字符
chars;cin>>a>>$;cout<<"a*2="<<a*2<<endl;cout
<<s
<<
endl;輸出a*
2=70·
讀出
s
int
a;char
sint
a華南理工大學計算機學院周靄如20250000工00001000000000010000000000000010001例如到屏幕上例如int
a;char
schar
s;cin>>a>>s;cout
<<"a*2="<<a*2<<endl;cout
<<s<<
endl;
int
a輸出a*
2=7001000001000000000000000000000000001000工11.6.2
屏幕輸出屏幕輸出的作用從內存讀取數據項的值,轉換成相應的字符串顯示華南理工大學計算機學院周靄如202501000001000000000000000000000000001000工11.6.2
屏幕輸出屏幕輸出的作用從內存讀取數據項的值,轉換成相應的字符串顯示換行<<"a*2="<<a*2<<endl;到屏幕上例如int
a;chars;
cin>>a>>s;coutcout<<s<<end];charsint
a華南理工大學計算機學院周靄如2025輸出01000001000000000000000000000000001000工1到屏幕上例如int
a;char
s;cin>>a>>s;cout
<<"a*2="<<a*2<<endl;1.6.2
屏幕輸出屏幕輸出的作用從內存讀取數據項的值,轉換成相應的字符串顯示cout<<s<<endl;charint輸出a*2=70華南理工大學計算機學院周靄如2025sa1.6.2屏幕輸出注意:賦值符和條件運算的優先級都低于提取符:cout
<<a=b;cout<<a>b?a:b;可以添加括號改變優先級:cout
<<(a=b);cout
<<(a>b?a:b);//錯誤//錯誤//正確//正確華南理工大學計算機學院周靄如2025控制符功能endl輸出一個新行符,并清空流ends輸出一個空格符,并清空流dec用十進制表示法輸入或輸出數值hex用十六進制表示法輸入或輸出數值oct用八進制表示法輸入或輸出數值setfill
(char
c)設置填充符csetprecision(int
n)設置浮點數輸出精度(包括小數點)setw(int
n)設置輸出寬度1.6.2
屏幕輸出常用的輸出格式控制符
包含頭文件iomanip華南理工大學計算機學院周靄如2025例1-19以不同數制輸出兩介數的和#include<iostream>#include<iomanip>using
namespacestd;int
main(){int
a,b,s;cout.setf(ios::showbase);a=01137;b=023362;s=a+b;cout<<"
八
進
制
";cout<<oct<<a<<"+"<<b<<"="<<s<<endl;a=239;b=5618;s=a+b;cout<<"十
進
制
";cout<<dec<<a<<"+"<<b<<"="<<s<<endl;a=0x1a3e;b=0x4bf;s=a+b;cout<<
"十六進制";cout<<hex<<a<<"+"<<b<<"="<<s<<endl;}華南理工大學計算機學院周靄如2025#include<iostream>#include<iomanip>//包含格式輸出文件using
namespace
std;int
main(){int
a,b,s;cout.setf(ios::showbase);a=01137;b=023362;s=a+b;cout<<"
八
進
制
";cout<<oct<<a<<"+"<<b<<"="<<s<<endl;a=239;b=5618;s=a+b;cout<<"十進制";cout<<dec<<a<<"+"<<b<<"="<<s<<endl;a=0x1a3e;b=0x4bf;s=a+b;cout<<
"十六進制";cout<<hex<<a<<"+"<<b<<"="<<s<<endl;}華南理工大學計算機學院周靄如2025例1-19以不同數制輸出兩介數的和#include<iostream>#include<iomanip>using
namespace
std;int
main(){
inta,b,s;
//說明數據cout.setf(ios::showbase);a=01137;b=023362;s=a+b;cout<<"
八
進
制
";cout<<oct<<a<<"+"<<b<<"="<<s<<endl;a=239;b=5618;s=a+b;cout<<"十進制";cout<<dec<<a<<"+"<<b<<"="<<s<<endl;
a=0x1a3e;b=0x4bf;s=a+b;cout<<
"十六進制";cout<<hex<<a<<"+"<<b<<"="<<s<<endl;}華南理工大學計算機學院周靄如2025例1-19以不同數制輸出兩介數的和#include<iostream>#include<iomanip>using
namespace
std;int
main(){inta,b,s;cout.setf(ios::showbase);
//要求輸出顯示基數符a=01137;b=023362;s=a+b;cout<<"
八
進
制
";cout<<oct<<a<<"+"<<b<<"="<<s<<endl;a=239;b=5618;s=a+b;cout<<"十進制";cout<<dec<<a<<"+"<<b<<"="<<s<<endl;a=0x1a3e;b=0x4bf;s=a+b;cout<<
"十六進制";cout<<hex<<a<<"+"<<b<<"="<<s<<endl;}華南理工大學計算機學院周靄如2025例1-19以不同數制輸出兩介數的和#include<iostream>#include<iomanip>using
namespacestd;int
main(){int
a,b,s;cout.setf(ios::showbase);a=01137;b=023362;s=a+b;
//
計算兩個八進制數的和
cout<<"八
進
制
"
;cout<<
octk<a<<"+"<<b<<"="<<s<<endl;//以八進制顯示結果a=239;b=5618;s=a+b;cout<<"十
進
制
"
;cout<<dec<<a
<<"+"<<b<<"="<<s<<endl;a=0x1a3e;b=0x4bf;s=a+b;cout<<"十六進制";cout<<hex<<a<<"+"<<b<<"="<<s<<endl;飛例1-19以不同數制輸出兩介數的和華南理工大學計算機學院周靄如2025#include<iostream>#include<iomanip>using
namespace
std;int
main(){inta,b,s;cout.setf(ios::showbase);a=01137;b=023362;s=a+b;cout<<"八
進
制
"
;cout<<oct<<a<<"+"<<b<<"="<<s<<endl;a=239;b=5618;s=a+b;
//計算兩個十進制數的和
cout<<"十
進
制
";cout<<dec<<a<<"+"<<b<<"="<<s<<endl;I/
以十進制顯示結果
a=0x1a3e;b=0x4bf;s=a+b;cout<<
"十六進制";cout<<hex<<a<<"+"<<b<<"="<<s<<endl;}華南理工大學計算機學院周靄如2025例1-19以不同數制輸出兩介數的和#include<iostream>#include<iomanip>using
namespace
std;int
main(){inta,b,s;cout.setf(ios::showbase);a=01137;b=023362;s=a+b;cout<<"八
進
制
"
;cout<<oct<<a<<"+"<<b<<"="<<s<<endl;a=239;b=5618;s=a+b;cout<<"十進制";cout<<dec<<a<<"+"<<b<<"="<<s<<endl;a=0x1a3e
;b=0x4bf;s=a+b;//
計算兩個十六進制數的和
cout<<
"十六進制";cout<<hex<<a<<"+"<<b<<"="<<s<<endl;//
以十六進制顯示結果}華南理工大學計算機學院周靄如2025例1-19以不同數制輸出兩介數的和1/包含格式輸出文件a,
b,s單元中存儲的數據形態與制式有關鳴?亞示基數符1
0
算兩個八進制數的和N
C:\WINDOWS\system32\cmd.exe<
八
進
制
01137+023362=024521//
十
進
制
239+5618=5857十
六
進
制
0×1
a3e+0×4bf=0x1efd請按任意鍵繼續.a=239;b=5618;s=a+b;cout<<"十
進
制
";cout<<dec<<a<<"+"<<b<<="<
a=0x1a3e;b=0x4bf;s=a+b;cout<<
"十六進制";cout<<hex<<a<<"+"<<b<<"="<<#include<iostream>#include<iomanip>using
namespace
std;int
main(){inta,b,s;cout.setf(ios::showbase);a=01137;b=023362;s=a+b;cou
t<<"八
進
制
";cout<<0ct<<a<<"+"<<b<<"="<<s<<endl;
//以八進制顯示結果例1-19以不同數制輸出兩介數的和//計算兩個十進制數的和華南理工大學計算機學院周靄如20251.6.3
表達式語句任何表達式加上一個分號成表達式語句例如a
=10a=10;i++i++;X
-
y;{t=a;a=b;b=t;};華南理工大學計算機學院周靄如20251.6.3
表達式語句任何表達式加上一個分號成表達式語句例如a=10a
=10;i++i++;X-y;{t=a;a=b;b=t;}賦值表達式華南理工大學計算機學院周靄如20251.6.3
表達式語句任何表達式加上一個分號成表達式語句例如a
=10a=10;i++i++;X-y;{t=a;a=b;b=t;};華南理工大學計算機學院周靄如20251.6.3
表達式語句任何表達式加上一個分號成表達式語句例如表達式a
=10a=10;i
++i++;X-y;{t=a;a=b;b=t;}華南理工大學計算機學院周靄如20251.6.3
表達式語句任何表達式加上一個分號成表達式語句例如語句a
=10a=10;i++i++;X-y;{t=a;a=b;b=t;}華南理工大學計算機學院周靄如20251.6.3
表達式語句任何表達式加上一個分號成表達式語句例如a
=10a=10;i++i++;{t=a;a=b;b=t;}合法語句沒有操作意義華南理工大學計算機學院周靄如2025例如a
=10a=10;i++i++;X
-y;{
t=a
;a=b;b=t;}1.6.3
表達式語句任何表達式加上一個分號成表達式語句華南理工大學計算機學院周靄如2025語句塊1.6.3
表達式語句任何表達式加上一個分號成表達式語句例如a
=10a=10;i++i++;X
-
y;{t=a;a=b;b=t;}華南理工大學計算機學院周靄如2025空語句華南理工大學計算機學院周靄如2025小結程序主要功能是描述數據和處理數據。數據表現為常量和變量。所有的常量、變量都屬于某種數據類型。類型決定了數據的操作方式。>
對數據的讀寫通過內存訪問實現。C++提供名訪問和地址訪問方式。可以通過指針變量間址訪問所指對象。引用是對象的別名。用引用訪問對象與名訪問方式一樣。關鍵字const
用于約束對象為只讀。>
運算符表示了系統提供對基本數據的操作。表達式是由常量、變量和運算符連結起來,表達一個計算值的式子。C++用標準流對象實現數據的輸入和輸出。輸入語句,輸出語句和表達式語句可以構成順序執行的簡單程序。華南理工大學計算機學院周靄如2025華南理工大學計算機學院周靄如2025華南理工大學計算機學院周靄如20252.1
選擇控制2.2
循環控制2.3
判斷表達式的使用2.4
轉向語句
小結第2章程序控制結構第2章程序控制結構語句是程序的基本語法成分。程序設計語言的語句按功能可以分成三類:聲明語句
指示編譯器分配內存,或者提供程序連接信息操作語句
描述對數據的處理控制語句
用于控制程序的執行流程。所有程序都只能包含三種控制結構:順序結構、選擇結構和循環結構2.1選擇控制對給定的條件進行判斷,并根據判斷的結果選擇不同的操作比較條件運算條件運算表達式根據判斷條件,決定表達式的值不改變程序語句執行流程華南理工大學計算機學院周靄如20252.1.1
if語句1.if
語句的形式和執行流程語句形式(1)if(
表達式)
語句;執
行流程true(
非0)語
句華南理工大學計算機學院周靄如2025false(O)表達式2.1.1
if語句1.if
語句的形式和執行流程語句形式(1)if(
表達式)
語句;執
行流程true
(非0)語
句華南理工大學計算機學院周靄如2025false(O)表達式2.1.1
if語句1.if
語句的形式和執行流程語句形式(1)if(
表達式)
語句;執
行流程false
(O)表達式true(非0)語
句華南理工大學計算機學院周靄如20252.1.1
if語句例::max=a;if(b>a)max
=b;cout<<"max="<<max<<endl;53華南理工大學計算機學院周靄如2025maXba●if(b>a)max=b;cout<<"max="<<max<<endl;3
b
5maX
32.1.1
if語句例:max
=a;華南理工大學計算機學院周靄如2025a3
b
5maX
32.1.1
if語句例:amax
=a;max=b;cout<<"max="<<max<<endl;if(b>a)華南理工大學計算機學院周靄如2025amax
=a;if(b>a)2.1.1
if語句例:max=b;cout
<<"max="<<max<<endl;3maX華南理工大學計算機學院周靄如2025amax
=a;if(b>a)2.1.1
if語句例:max=b;cout
<<"max="<<max<<endl;3maX華南理工大學計算機學院周靄如2025a
3
b
5maX
52.1.1
if語句例:max=5cout<<"max="<<max<<endl;max
=a;if(b>a)max
=b;華南理工大學計算機學院周靄如2025輸出2.1.1
if語句例::max=a;if(b>a)max
=b;cout<<"max="<<max<<endl;37華南理工大學計算機學院周靄如2025maXba●if(b>a)max=b;cout<<"max="<<max<<endl;7
b
3maX
72.1.1
if語句例:max
=a;華南理工大學計算機學院周靄如2025a7
b
3maX
72.1.1
if語句例:amax
=a;max=b;cout<<"max="<<max<<endl;if(b>a)華南理工大學計算機學院周靄如20252.1.1
if語句例:a7
3max=7cout<<"max="<<max<<endl;max
=a;if(b>a)max
=b;華南理工大學計算機學院周靄如2025maX
7輸出執行流程false
(0)語
句
21
、if
語句的形式和執行流程語句形式(2)if(
表達式)
語句1;else
語句2
;2.1.1
if語句true
(非0)華南理工大學計算機學院周靄如2025語句1表達式1
、if
語句的形式和執行流程語句形式(2)if(
表達式)
語句1;else
語句2
;true(
非
0語句1false
(0)語
句
22.1.1
if語句華南理工大學計算機學院周靄如2025執行流程表達式1
、if
語句的形式和執行流程語句形式(2)if(
表達式)
語句1;else
語句2
;true(
非
0語
句
1false(O)語句22.1.1
if語句華南理工大學計算機學院周靄如2025執行流程表達式max=b;else
max=a;cout<<"max="<<max<<endl;2.1.1
if語句例::if(b>a)53華南理工大學計算機學院周靄如2025maXbamax=b;else
max=a;cout<<"max="<<max<<endl;2.1.1
if語句例:if(b>a)3maX華南理工大學計算機學院周靄如2025b
5a2.1.1
if語句例:else
max=a;cout<<"max="<<max<<endl;max=b;aif(b>a)3maX華南理工大學計算機學院周靄如20252.1.1
if語句例:a
3b5if(b>a)max=b;max
5else
max=a;cout<<"max="<<max<<endl;輸出
max=5
華南理工大學計算機學院周靄如2025max=b;else
max=a;cout<<"max="<<max<<endl;2.1.1
if語句例:if(b>a)7maX華南理工大學計算機學院周靄如2025b
3aaif(b>a)max
=b;2.1.1
if語句例:elsemax=a;cout<<"max="<<max<<endl;b77maX華南理工大學計算機學院周靄如20253a
7
bif(b>a)max=b;max
7else
max=a;cout<<"max="<<max<<endl;輸出2.1.1
if語句例:華南理工大學計算機學院周靄如2025max=73例:
aif(b>a)max=b;elsemax=a;cout<<"max="<<max<<endl;輸出max=7b72.1.1
if語句7max華南理工大學計算機學院周靄如202532.1.1
if語句2、if語句的嵌套if
語句中的執行語句如果又是另一個if
語句,稱為嵌套if
語句if與
else的配對關系:
C++
規定
,else
總是與它接近的if
配對使用復合語句,可以改變條件語句的執行流程華南理工大學計算機學院周靄如20252.1.1
if語句例2-1
編寫程序計算貨物運費。設貨物運費每噸單價
p
(元)與運輸距離
s(
公里)之間有如下關系:輸入要托運的貨物重量為w噸,托運距離s
公里,計算總運費t:t=p*w*s華南理工大學計算機學院周靄如2025falsefalseS<300?trueS<400?trueP=25P=22.5t=p*W*S2.1.1
if語句S<100?trueP=30控制流圖falseP=20falseS<200?trueP=27.5華南理工大學計算機學院周靄如2025else
if(s<200)p=27.5;t
=
p
*W
*Selseif(s<300)p=25;else
if(s<400)p=22.5;elsep=20;t=p*w*s;cout<<"The
cost
is:"<<setprecision(2)<<t<<'$'<<endl;2.1.1
if語句//例2-1計算貨物運費#include
<iostream>#include<iomanip>using
namespace
std;int
main(){double
t,p,cout<<"Please
mpurccin>>w;cout<<"Please
inputcin>>s;if(s<100)p=30;想一想:幾個else
分支語句的次序可以改變嗎?S<400?falseP
=
20distsnce(kilome○)華南理工大學計算機學院周靄如2025trueP=
22.5S<100
2P
=25false2.1.1
if語句//例2-1計算貨物運費#include
<iostream>#include<iomanip>using
namespace
std;int
main(){doublet,p,w,s;cout<<"Please
input
weight(ton):";cin>>w;cout<<"Please
input
distsnce(kilo-cin>>s;if(s<100)p=30;elseif(s<200)p=27.5;else
if(s<300)p=25;else
if(s<400)p=22elsep=20;例如:cin
>>s;if(s<300
)p=25;else
if(s<100)p=30;elseif(s<400
)p=22.5;else
if(s<200)p=27.5;else
p=20;t=p*w*s;若輸入s:
150輸出t
值等于多少?為什么?t=p*w*s;cout<<"The
cost
is:"<<setprecision(2)<<t<<'$'<<endl;華南理工大學計算機學院周靄如20252.1.1
if語句例2-2
輸入三個整數,按從小到大順序輸出。解法一數據排序。先找出最小值,放在a中,然后找次小值,放在b中
:1.
對
a
、b
進行比較,把小值放于a;
if
a>ba?bI/a<
b2.
對
a、c
進行比較,把小值放于a;if
a>c
a?CIIa
<c,a<b3.
對
b、c
進行比較,把小值放于b;if
b>c
b?c
II
a<b&&b<c4.
輸出a,b,c
的值。華南理工大學計算機學院周靄如2025b
5ba>C:a?Cb
7b>c:b?cb
57a>b:a?b522.1.1
if語句例2-2
輸入三個整數,按從小到大順序輸出。a
<ba<b,a<ca<b&&b<cCCCaaaa華南理工大學計算機學院周靄如20252572.1.1
if語句例2-2
輸入三個整數,按從小到大順序輸出。#include
<iostream>using
namespace
std;int
main(){int
a,b,c,t;cout<<"Please
input
three
integer
numbecin>>a>>b>>c;if
(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<<a<<""<<b<<""<<c<<endl;注意語句塊結構華南理工大學計算機學院周靄如20252.1.1
if語句例2-2
輸入三個整數,按從小到大順序輸出。#include<iostream>using
namespace
std;int
main(){inta,b,c,t;cout<<"Please
input
three
integer
numbers:cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t
;}cout<<a<<""<<b<<""<<c<<endl;注意語句塊結構華南理工大學計算機學院周靄如20253
個數的6種可能排列方式:·a<b<ca
<b&&b<c·a<c<ba<c&&c<b·
b<a<c
b<a&&a<c·
b<c<a
b<c&&c<a·c<a<bc<a&&a<b·c<b<a
c<b&&b<a2.1.1
if語句例2-2
輸入三個整數,按從小到大順序輸出。
解法二
改變輸出順序:可以直接用6個if語句寫出程序華南理工大學計算機學院周靄如20253
個數的6種可能排列方式:·a<b<ca
<b&&b<c·a<c<ba<c&&c<b·
b<a<cb<a&&a<c·
b<c<a
b<c&&c<a·c<a<bc<a&&a<b·c<b<a
c<b&&b<a2.1.1
if語句例2-2
輸入三個整數,按從小到大順序輸出。解法二
改變輸出順序:最壞情況要做8
個關系運算和
3個邏輯運算華南理工大學計算機學院周靄如20252.1.1
if語句例2-2
輸入三個整數,按從小到大順序輸出。解法二
改變輸出順序:最壞情況要做a
<
b&&b<ca
<
c&&c<bb
<a&&
a
<
c
b<c
&&c<a
c
<
a
&&
a<
b
c
<
b&&b
<
a·a<b<c·a<c<b·b<a<c·b<c<a·c<a<b·
c<b<a8
個關系運算和
3個邏輯運算3
個數的6種可能排列方式:華南理工大學計算機學院周靄如2025解法二
改變輸出順序:3
個數的6種可能排列方式:·a<b<ca
<b&&b<c·a<c<ba<c&&c<b·
b<a<cb<a&&a<c·
b<c<a
b<c&&c<a·c<a<bc<a&&a<b·c<b<a
c<b&&b<a2.1.1
if語句例2-2
輸入三個整數,按從小到大順序輸出。最好情況要做2個關系運算和1
個邏輯運算華南理工大學計算機學院周靄如2025解法二
改變輸出順序:3
個數的6種可能排列方式:·
a<b<c
a
<
b&&
b<
c·a<c<b
a<c&&c<b·b<a<c
b<a&&a<c·b<
c<a
b<c&&c<a·c<a<b
c<a&&a
<b·c<b<a
c<b&&b<a2.1.1
if語句例2-2
輸入三個整數,按從小到大順序輸出。最好情況要做2個關系運算和1
個邏輯運算華南理工大學計算機學院周靄如20252.1.1
if語句例2-2
輸入三個整數,按從小到大順序輸出。
解法二
改變輸出順序:3
個數的6種可能排列方式:·a<b<ca
<b&&b<c·a<c<ba<c&&c<b·
b<a<c
b<a&&a<c·
b<c<a
b<c&&c<a·c<a<bc<a&&a<b·c<b<a
c<b&&b<a優化算法首先分析a,b
的順序華南理工大學計算機學院周靄如20252.1.1
if語句例2-2
輸入三個整數,按從小到大順序輸出。
解法二
改變輸出順序:3
個數的6種可能排列方式:·
a
<b
<C
a
<b&&b<c·
a
<c<
ba<c&&c<
b·b<a<c
b<a&&a<c·b<c<a
b<c&&c<a·c<a
<b
c<a
&&a<
b·c<b<a
c<b&&b<a首先分析a,b
的順序然后分析c
的位置優化算法華南理工大學計算機學院周靄如20252.1.1
if語句例2-2
輸入三個整數,按從小到大順序輸出。
解法二
改變輸出順序:3
個數的6種可能排列方式:·
a
<
b(<
c·
a
<c<
b
a
<c&&c<
b·b<a<c
b<a&&a<c·b<c<a
b<c&&c<a·c<
a
<b
c<
a&&a<
b·c<b<a
c<b&&b
<a優化算法首先分析a,b
的順序然后分析c
的位置華南理工大學計算機學院周靄如20252.1.1
if語句例2-2
輸入三個整數,按從小到大順序輸出。
解法二
改變輸出順序:3
個數的6種可能排列方式:·
a
<
b<
c
a
<
b
&&b<
c·
a
<c<
b
a
<c&&c<
b·
b<a<c
b<a&&a<c·b<c<ab<c&&c
<a
(C<
a<
b
C<
a&&a<b·c<b<a
c<b&&b<
a優化算法首先分析a,b
的順序然后分析c
的位置c<a<b華南理工大學計算機學院周靄如20252.1.1
if語句例2-2
輸入三個整數,按從小到大順序輸出。
解法二
改變輸出順序:3
個數的6種可能排列方式:·
a
<b
<c
a
<b
&&b<
c·
a(<c
<baK
c&&c<
b·b<a<c
b<a&&a<c·b<c<ab<c&&c<a·C<a
<
bC<
a
&&a<b·c<b<ac<b&&b<a優化算法首先分析a,b
的順序然后分析c
的位置a<
c<b華南理工大學計算機學院周靄如20252.1.1
if語句例2-2
輸入三個整數,按從小到大順序輸出。
解法二
改變輸出順序:true
trueb,c,a
b,a,c
a,b,
c
a,c,ba
bfalsea<c?最壞情況做3次關系運算trueb<c?truefalseb<c?falsetrueb
aa<c?華南理工大學計算機學院周靄如2025falsefalsea<b?2.1.1
if語句例2-2
輸入三個整數,按從小到大順序輸出。
解法二
改變輸出順序:falsefalseb<c?truec,b,ab,c,atruea,
b,
c
a,c,b
c,a,b最壞情況做3次關系運算true
a
bb<c?trueb
aa<c?b,a,cfalsetruefalsea<c?華南理工大學計算機學院周靄如2025falsea<b?2.1.1
if語句例2-2
輸入三個整數,按從小到大順序輸出。
解法二
改變輸出順序:trueabb<c?
falsetruea<c?truefalse
a<b?true最好情況做2次關系運算falseb<c?trueb,c,a
b,a,cb
aa<c?a,
b,
c
a,c,b華南理工大學計算機學院周靄如2025falsefalse2.1.1
if語句例2-2
輸入三個整數,按從小到大順序輸出。
解法二
改變輸出順序:falseb<c?trueb,c,a最好情況做2次關系運算falsea<c?trueb,a,ca,b,c
a,c,bb<c?t
ruefalse
a<b?b
aa<c?華南理工大學計算機學院周靄如2025true
abfalsefalsetruecout<"Please
input
thre
integer
numbers:";
cin
>>a>>b>>c;if(a<b)if(b<c)cout<<a<<b<<c<<endl;else
if(a<c)cout<<a
<<c<<b<<endl;else
cout<<c<<a<<b<<endl;else
if(a<c)cout<<b<<a<<c<<endl;else
if(b<c)cout<<b<<c<<a<<endl;else
cout
<<c<<b<<a<<endl;解法二
改變輸出順序:#include<iostream>usingnamespacestd;intmain()
false{int
a,b,c;2.1.1
if語句例2-2
輸入三個整數,按從小到大順序輸出。注意if-
else的匹配tr
ue
a<
c
?trueb
a
falsea
<
c?truefalsetrue華南理工大學計算機學院周靄如2025false2.1.1
if語句例2-2
輸入三個整數,按從小到大順序輸出。解法二
改變輸出順序:b
a
false#include
<iostream>
a<b?using
namespace
std;
falseint
main()falsetrue{inta,b,c;
truecout<"Please
input
thre
integer
numbers:";
cin
>>a>>b>>c;(a<b)if(b<c)cout<<a<<b<<c<<endl;else
if(a<c)cout<<a
<<c<<b<<endl;else
cout<<c<<a<<b<<endl;else
if(a<c)cout<<b<<a<<c<<endl;else
if(b<c)cout<<b<<c<<a<<endl;else
cout<<c<<b<<a<<endl;falsefalsetruetrue
abb<
c
?true華南理工大學計算機學院周靄如2025cout<"Please
input
thre
integer
numbers:";
cin
>>a>>b>>c;f(a<b)if
(b<c)cout<<a<<b<<c<<endl;else
if(a<c)cout<<a<<c<<b<<endl;else
cout<<c<<a<<b<<endl;elseif(a<c)cout<<b<<a<<c<<endl;elseif(b<c)cout<<b<<c<<a<<endl;elsecout<<c<<b<<a<<endl;解法二
改變輸出順序:#include<iostream>usingnamespacestd;int
main(
false{int
a,b,c;2.1.1
if語句例2-2
輸入三個整數,按從小到大順序輸出。falsefalsetruefalse
a<b?truetrueb<c?truefalsetrue華南理工大學計算機學院周靄如2025b
aa<c?cout<"Please
input
thre
integer
numbers:";
cin
>>a>>b>>c;f(a<b)if
(b<c)cout<<a<<b<<c<<endl;elseif(a<c)cout<<a<<c<<b<<endl;elsecout<<c<<a
<<b<<endl;elseif(a<c)cout<<b<<a<<c<<endl;elseif(b<c)cout<<b<<c<<a<<endl;elsecout<<c<<b<<a
<<endl;解法二
改變輸出順序:#include<iostream>usingnamespacestd;int
main(
false{int
a,b,c;2.1.1
if語句例2-2
輸入三個整數,按從小到大順序輸出。a
bfalsetruefalse
a<b?truefalseb<c?truetrueb<c?true華南理工大學計算機學院周靄如2025b
aa<c?false2.1.1
if語句2、述語句的嵌套分析S1
和S2的執行條件:if(E1)if(E2)S1else
S2if(E1){
if(E2)S1
}else
S2E1&&E2E1&&!E2注意括號的作用E1&&E2!
E
1執行S1執行S2執行S1執行
S2華南理工大學計算機學院周靄如20253.
應用舉例(1)
把輸入字符轉換為小寫字母。對輸入字符進行判斷,如果是大寫
字母,則轉換為小寫字母;否則,不轉換。//例2-3#include<iostream>using
namespace
std;int
main(){char
ch;cout
<<"ch=";cin>>ch;if
(ch>='A'&&ch<='Z')ch
+=32;cout<<ch<<endl;華南理工大學計算機學院周靄如2025//例2-3#include
<iostream>using
namespace
std;int
main(){charch;cout<<"ch=";cin>>ch;if(ch>='A'&&ch<='Z')
ch+=32;cout<<ch<<endl;3.
應用舉例(1)
把輸入字符轉換為小寫字母。對輸入字符進行判斷,如果是大寫字母,則轉換為小寫字母;否則,不轉換。輸入大寫字母華南理工大學計算機學院周靄如2025//例2-3#include
<iostream>using
namespace
std;int
main(){charch;cout<<"ch=";cin>>ch;if(ch>='A'&&ch<='Z')
ch+=32;cout<<ch<<endl;3.
應用舉例(1)
把輸入字符轉換為小寫字母。對輸入字符進行判斷,如果是大寫字母,則轉換為小寫字母;否則,不轉換。計算ASCII碼偏移值華南理工大學計算機學院周靄如20253.
應用舉例(1)
把輸入字符轉換為小寫字母。對輸入字符進行判斷,如果是大寫字母,則轉換為小寫字母;否則,不轉換。//例2-3#include<iostream>using
namespace
std;int
main(){
char
ch;cout<<"ch=";cin>>ch;if(ch>='A'&&ch<='Z')chcout
<<ch<<endl;ch
=BPressany
key
to
continue_+=32;華南理工大學計算機學院周靄如2025//例2-3#include
<iostream>usingnamespace
std;int
main(){charch;改寫為條件表達式ch=(ch>='A'&&ch<='Z')?ch+32:ch;cout<<"ch/=";cin>>ch/,3.
應用舉例(1)
把輸入字符轉換為小寫字母。對輸入字符進行判斷,如果是大寫字母,則轉換為小寫字母;否則,不轉換。if(ch>='A'&&ch<='Z
')ch+=32;cout<<ch<<endl;華南理工大學計算機學院周靄如2025①
當a=0時,方程不是二次方程②
當b2-4ac=0時,有兩個相同的實根:③
當b2-4ac>0
時,有兩個不同的實根:④
當b2-4ac<0時,有兩個共軛復根:3.
應用舉例(2)
求一元二次方程ax2+bx+c=0
的根。求根公式:華南理工大學計算機學院周靄如2025#include<iostream>
//例2-4#include
<cmath>using
namespace
std;int
main(){doublea,b,c,d,x1,x2,rp,ip;cout<<"a,b,c=";cin>>a>>b>>c;if
(fabs(a)<=1e-8)cout<<"It
is
not
quadratic."<<endl;else{d=b*b-4*a*c;if(fabs(d)<=1e-8)cout<<"Ithastwoequalrealroots:"<<-b/(2*a)<<endl;
else
if(d>1e-8){x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);cout<<"Ithastwodistinctrealroots:"<<x1<<"and"<<x2<<endl;
}else{rp=-b/(2*a);ip=sqrt(-d)/(2*a);cout
<<"It
has
two
complex
roots:"<<endl;cout<<rp<<"+"<<ip<<"i"<<endl;cout<<rp<<"-"<<ip<<"i"<<endl;華南理工大學計算機學院周靄如2025}if(fabs(d)<=1e-8)cout<<"It
has
two
equal
real
roots:"<<-b/(2*a)<<endl;else
if(d>1e-8){x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);cout<<"It
has
two
distinct
real
roots:"<<x1<<"and
"<<x2<<endl;else{rp=-b/(2*a);ip=sqrt(-d)/(2*a);cout<<"It
has
two
complex
roots:"<<endl;cout<<rp<<"+"<<ip<<"i"<<endl;cout<<rp<<"-"<<ip<<"i"<<endl;#include
<iostream>
//例2-4#include<cmath>using
namespace
std;int
main(){
doublea,b,c,d,x1,x2,rp,ip;
cout
<<"a,b,c=";
cin>>a>>b>>c;
if(fabs(a)<=1e-8)cout<<"It
is
not
quadratic."<<endl;else{d=b*b-4*a*c;華南理工大學計算機學院周靄如2025數據說明#include
<iostream>
//例2-4#include<cmath>
提示并輸入系數using
namespace
std;int
main(){double
a,b,c,d,x1,x2,rp,ip;cout
<<"a,b,c
=";
cin>>a>>b>>c;if(fabs(a)<=1e-8)cout<<"It
is
not
quadratic."<<endl;else{d=b*b-4*a*c;if(fabs(d)<=1e-8)cout<<"It
has
two
equal
real
roots:"<<-b/(2*a)<<endl;else
if(d>1e-8){x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);cout<<"It
has
two
distinct
real
roots:"<<x1<<"and
"<<x2<<endl;}else{rp=-b/(2*a);ip=sqrt(-d)/(2*a);cout<<"It
has
two
complex
roots:"<<endl;cout<<rp<<"+"<<ip<<"i"<<endl;cout<<rp<<"-"<<ip<<"i"<<endl;華南理工大學計算機學院周靄如2025}#include<cmath>using
namespace
std;
不是二次方程int
main(){double
a,b,c,d,x1,x2,rp,ip;cout<<"a,b,c=";cin>≥a>>b>>c;if(fabs(a)<=1e-
8)cout
<<"It
isnot
quadratic."<<
endl;else{d=b*b-4*a*c;if(fabs(d)<=1e-8)cout<<"It
has
two
equal
real
roots:"<<-b/(2*a)<<endl;else
if(d>1e-8){x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);cout<<"It
has
two
distinct
real
r
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《混凝土規范》課件
- 七年級數學上冊有理數計算題專題復習50道(含答案)
- 資產管理公司公務用車管理制度
- 中醫理療公司中醫技術臨床應用管理制度
- 二年級數學下冊《混合運算》應用題(附答案)
- 2026年溫州市教研組長選拔競聘真題(附答案)
- 俄羅斯攝影大師Zenin杰作
- 2026年貨代從業人員考試題(含答案)
- 2025-2026學年天津市津南區高一(下)期末物理試卷(含詳細答案解析)
- 《重慶公寓分析》課件
- 2026校招:山東發展投資控股集團面試題及答案
- SMT首件培訓教學課件
- 中國出血性腦卒中診療指南(2025版)
- 五金制程巡查制度規范
- 門診醫患溝通技巧
- 增量學習算法
- 腦卒中后神經源膀胱康復訓練
- 二建b證考試題庫及答案
- 吊車吊籃吊人施工方案
- 人教版小學1-6年級數學公式大全版
- GJB國家軍用標準目錄
評論
0/150
提交評論