22 第二章 c++简单程序设计二Word文件下载.docx
- 文档编号:17201687
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:15
- 大小:652.10KB
22 第二章 c++简单程序设计二Word文件下载.docx
《22 第二章 c++简单程序设计二Word文件下载.docx》由会员分享,可在线阅读,更多相关《22 第二章 c++简单程序设计二Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。
提取空白符
endl
插入换行符,并刷新流
ends
插入空字符
setsprecision(int)
设置浮点数的小数位数(包括小数点)
setw(int)
设置域宽
例:
setw(5)<
setprecision(3)<
3.1415;
2.4算法的基本控制结构
2.4.1if语句
If语句的语法形式
if(表达式)
语句
if(x>
y)cout<
x;
语句1else
语句2
elsecout<
y;
if(表达式1)
语句1
elseif(表达式2)
elseif(表达式3)
语句3
…
else
语句
n
例2-2输入一个年份,判断是否闰年
#include<
iostream>
usingnamespacestd;
intmain(){
intyear;
boolisLeapYear;
cout<
"
Entertheyear:
;
cin>
year;
isLeapYear=((year%4==0&
&
year%100!
=0)||(year%400==0));
if(isLeapYear)
year<
isaleapyear"
<
endl;
else
isnotaleapyear"
return0;
}
2.4.2多重选择结构
1.嵌套的if结构
语法形式
if(
)
)
1
2
else
3
4
注意
1、2、3、4
可以是复合语句;
每层的
if
与
配对,或用
{}
来确定层次关系。
例2-3:
输入两个整数,比较两个数的大小
#include<
intx,y;
Enterxandy:
"
x>
if(x!
=y)
if(x>
y)
x>
y"
x<
x=y"
return0;
3.switch语句
switch
(表达式)
{
case
常量表达式
1:
case
2:
┆
n:
语句n
default:
语句n+1
执行顺序
以case中的常量表达式值为入口标号,由此开始顺序执行。
因此,每个case分支最后应该加break语句。
case分支可包含多个语句,且不用{}。
表达式、判断值都是int型或char型。
如果若干分支执行内容相同可共用一组语句。
例2-4:
输入一个0~6的整数,转换成星期输出
intday;
day;
switch(day){
case0:
Sunday"
break;
case1:
Monday"
case2:
Tuesday"
case3:
Wednesday"
case4:
Thursday"
case5:
Friday"
case6:
Saturday"
default:
cout<
DayoutofrangeSunday..Saturday"
}
关键字default说明了表达式的结果不等于任何一种情况时的操作(事实上,它相对于else从句)。
所以,你认为你的表达式结果已经包含了所有情况,当然可以不写。
2.4.3循环结构——WHILE语句(p44)
1.while语句
while
(表达式)
先判断表达式的值,若为
true
时,执行语句。
例2-5
求自然数1~10之和
inti=1,sum=0;
while(i<
=10){
sum+=i;
//相当于sum=sum+i
i++;
}
sum="
sum<
运行结果:
2.do-while语句
do-while
语句的语法形式
do
语句
//
可以是复合语句,其中必须含有改变条件表达式值的语句。
while(表达式)
先执行循环体语句,后判断条件。
表达式为
时,继续执行循环体。
例2-6:
输入一个数,将各位数字翻转后输出
intn,right_digit,newnum=0;
Enterthenumber:
n;
Thenumberinreverseorderis
do{
right_digit=n%10;
right_digit;
n/=10;
//相当于n=n/10
}while(n!
=0);
例2-7用do-while语句编程,求自然数1~10之和
}while(i<
=10);
对比下面的程序
程序1:
inti,sum=0;
i;
sum="
sum
程序2:
=10);
sum="
3.for语句
for语句语法形式:
for语句的另一种形式:
范围for语句:
for
(声明:
表达式)
例2-8:
输入一个整数,求出它的所有因子
intn;
Enterapositiveinteger:
Number
n<
Factors
for(intk=1;
k<
=n;
k++)
if(n%k==0)
运行结果1:
运行结果2:
2.4.4循环结构与选择结构的嵌套
1.选择结构的嵌套
2.循环结构的嵌套
inti=1,a=0;
for(;
i<
=5;
i++){
do{
i++;
a++;
}while(i<
3);
i++;
a<
"
i<
endl;
例2_9编写程序输出以下图案(p50)
using
namespace
std;
constintN=4;
for(inti=1;
j<
=N;
i++){//输出前4行图案
for(intj=1;
=30;
j++)
cout<
'
'
//在图案左侧空30列
=8-2*i;
=2*i-1;
*'
cout<
=N-1;
i++){//输出后3行图案
=7-2*i;
嵌套的控制结构、其他控制语句
例2-10
输入一系列整数,统计出正整数个数i和负整数个数j,读入0则结束。
int
main(){
i
=0,j=0,n;
cout
Entersomeintegersplease(enter0toquit):
cin
(n!
=0){
(n>
0)
+=1;
(n<
0)j+=1;
Countofpositiveintegers:
Countofnegativeintegers:
j<
return
0;
其他控制语句
break语句
使程序从循环体和switch语句内跳出,继续执行逻辑上的下一条语句。
不宜用在别处。
continue
结束本次循环,接着判断是否执行下一次循环。
goto
使程序的执行流程跳转到语句标号所指定的语句。
不提倡使用。
2.5自定义类型
类型别名:
为已有类型另外命名
typedef
已有类型名
新类型名表
typedefdoubleArea,Volume;
typedefintNatural;
Naturali1,i2;
Areaa;
Volumev;
新类型名
=
已有类型名;
usingArea=double;
usingVolume=double;
枚举类型
定义方式:
将全部可取值一一列举出来。
语法形式:
enum
枚举类型名
{变量值列表};
enumWeekday{SUN,MON,TUE,WED,THU,FRI,SAT};
默认情况下
SUN=0,MON=1,TUE=2,......,SAT=6
C++包含两种枚举类型:
不限定作用域枚举类型:
限定作用域的enum类将在第4章介绍。
不限定作用域枚举类型说明:
枚举元素是常量,不能对它们赋值
例如有如下定义
不能写赋值表达式:
SUN=0
枚举元素具有默认值,它们依次为:
0,1,2,......。
也可以在声明时另行指定枚举元素的值,如:
enumWeekday{SUN=7,MON=1,TUE,WED,THU,FRI,SAT};
也可以在声明时另行指定枚举元素的值;
枚举值可以进行关系运算。
整数值不能直接赋给枚举变量,如需要将整数赋值给枚举变量,应进行强
制类型转换。
枚举值可以赋给整型变量。
auto类型与decltype类型
auto:
编译器通过初始值自动推断变量的类型
autoval=val1+val2;
如果val1+val2是int类型,则val是int类型;
如果val1+val2是double类型,则val是double类型。
decltype:
定义一个变量与某一表达式的类型相同,但并不用该表达式初始化变量
decltype(i)j=2;
例2-11
设某次体育比赛的结果有四种可能:
胜(WIN)、负(LOSE)、平局(TIE)、比赛取消(CANCEL),编写程序顺序输出这四种情况。
分析:
比赛结果只有四种可能,可以声明一个枚举类型。
enumGameResult{WIN,LOSE,TIE,CANCEL};
GameResultresult;
enumGameResultomit=CANCEL;
for(intcount=WIN;
count<
=CANCEL;
count++){
result=GameResult(count);
if(result==omit)
Thegamewascancelled"
else{
Thegamewasplayed"
if(result==WIN)
andwewon!
if(result==LOSE)
andwelost."
2.6深度探索
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 22 第二章 c+简单程序设计二 第二 c+ 简单 程序设计