版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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时,方程不是二次方程②
当b²-4ac=0时,有两个相同的实根:③
当b²-4ac>0
时,有两个不同的实根:④
当b²-4ac<0时,有两个共轭复根:3.
应用举例(2)
求一元二次方程ax²+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年货代从业人员考试题(含答案)
- 2026校招:山东发展投资控股集团面试题及答案
- SMT首件培训教学课件
- 中国出血性脑卒中诊疗指南(2025版)
- 五金制程巡查制度规范
- 门诊医患沟通技巧
- 增量学习算法
- 脑卒中后神经源膀胱康复训练
- 二建b证考试题库及答案
- 吊车吊篮吊人施工方案
- 人教版小学1-6年级数学公式大全版
- GJB国家军用标准目录
评论
0/150
提交评论