博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1.4控制流
阅读量:3975 次
发布时间:2019-05-24

本文共 2190 字,大约阅读时间需要 7 分钟。

1.4.1 while 语句

  • while语句形式:
    while(condition)
    statement
    while语句中,如condition为真,持续执行statement,直至condition为假。
    例:用while语句求1到10这十个数的和
#include
int main(){
int sum=0,va1=1; //只要va1的值小于等于10,while循环执行 while(va1<=10) {
sum+=va1;//将sum+va1赋值给sum ++va1;//将va1加1 } std::cout<<"Sum of 1 to 10 is"<
<

在这里插入图片描述

语句分析

  • “<=":小于等于运算符
  • ”+=“:复合赋值运算符
    sum+=va1;
    等价于
    sum=sum+va1;
  • ”++“:前缀运算符
    ++va1;
    等价于
    va1=va1+1;
    执行完一次while语句后,会重新进入condition进行判断;如满足condition则继续循环;否则终止循环

练习

1.用while循环将50到100的整数相加

#include
int main(){
int sum=0,va1=50; //只要va1的值小于等于100,while循环执行 while(va1<=100) {
sum+=va1;//将sum+va1赋值给sum ++va1;//将va1加1 } std::cout<<"Sum of 50 to 100 is"<
<

在这里插入图片描述

2.运用递减运算符(–)打印10到0之间的整数

#include
int main(){
int va1=10; --va1; while(va1>0) {
std::cout<
<

在这里插入图片描述

3.用户输入两个整数,打印这两个整数范围内的所有整数

#include
int main(){
int va1=0,va2=0; std::cout<<"Enter two numbers:"<
>va1>>va2; while(va1-1>va2)//由于是先判断再输出,为保证输出的数在两数中间,应对较小的数减1 {
std::cout<<++va2<

在这里插入图片描述

1.4.2 for语句

  • for语句由循环头和循环体构成
#include 
int main(){
int sum = 0; for (int va1 = 1; va1 <= 10; va1++) {
sum += va1; } std::cout << "Sum of 1 to 10 is" << sum << std::endl; return 0;}
循环头组成部分 具体语句
初始化语句 int va1 = 1;
循环条件 va1 <= 10
表达式 va1 <= 10
  1. 创建变量va1,将其初始化为1。
  2. 检测 va1 是否小于等于10。若检测成功,执行 foz循环体。若失败,退出循环, 继续执行 for循环体之后的第一条语句。
  3. 将va1的值增加1. 4.重复第2步中的条件检测,只要条件为真就继续执行剩余步骤。

练习

1.4.3读取数量不定的输入数据

  • 根据用户输入数据求和:
#include 
int main(){
int sum = 0,value=0; while(std::cin>>value) {
sum += value; } std::cout << "Sum is" << sum << std::endl; return 0;}

在这里插入图片描述

语句分析

  • while(std::cin>>value)
    使用istream作为条件时,如未遇到错误,则继续执行。当遇到文件结束符或遇到无效输入时,isteam对象状态变为无效,判断语句为假

在这里插入图片描述

1.4.4 if语句

  • 编写程序,输出数字的重复字数
#include 
int main(){
int currVal = 0, va1 = 0; //保证数字的有效输入 if (std::cin >> currVal) {
int cnt = 1;//记录相同数字出现次数 while (std::cin >> va1) {
if (currVal == va1) {
cnt++; } else {
std::cout << currVal << " occurs" << cnt << "times" << std::endl; currVal = va1; } } } return 0;}

在这里插入图片描述

![在这里插入图片描述](https://img-blog.csdnimg.cn/2021010821391863.png**

练习

1如果上述程序中,输入数字相同,输出结果?

在这里插入图片描述

由于数字都相同,则程序不会进入else板块,从而不会输出。

转载地址:http://qfmki.baihongyu.com/

你可能感兴趣的文章
linux kill用法、killall、pkill、xkill
查看>>
Python笔记——几种数据结构的实现:栈、队列及二叉树
查看>>
Python笔记——排序算法的实现
查看>>
jQuery数据显示插件整合实现代码
查看>>
python时区设置——pytz模块
查看>>
用datetime和pytz来转换时区
查看>>
python解决导出excel文件时中文文件名乱码
查看>>
Django操作NOSQL(MongoDB)数据库
查看>>
Failed to load JavaHL Library
查看>>
linux学习方法
查看>>
linux中nohup命令的用法
查看>>
vim代码智能提示功能及相关配置
查看>>
linux常用命令——ps
查看>>
linux常用命令——lsof
查看>>
nginx安装手册
查看>>
Nginx配置文件详细说明
查看>>
Nginx负载均衡
查看>>
CMD常用命令
查看>>
JavaScript之回调函数
查看>>
编程中同步/异步;阻塞/非阻塞
查看>>