一、for语句

引出问题:



当需要重复执行某一语句时,使用for语句。for语句最常用的格式为:

for (循环变量赋初值;循环条件;循环变量增值)

语句;

注:

“语句;”就是循环体,可以是一个简单的语句,也可以是一个用“{}”括起来的复合语句。

它的执行过程如图示:



编写这个程序可以如此:

#include <typeinfo>    //变量类型头文件,还是有问题;无法判断int
#include <iostream> //包含输入输出流头文件iostream
using namespace std; //指明程序 使用命名空间std(标准)
int main()
{
int i;
for (i=1;i<=12;i++)
cout<<"老狼老狼几点钟?"<<i<<"点钟。"<<endl;
cout<<"狼来了,快跑!"<<endl;
return 0;
}

练习

(1)变量i的初值为0,在下列语句中,每执行一次能使变量i的值在1、0两数值上交替出现的是()。

   A.i=i+1      B.i=l-i      C.i=-i      D.i=i-1

(2)阅读程序写结果

#include <typeinfo>    //变量类型头文件,还是有问题;无法判断int
#include <iostream> //包含输入输出流头文件iostream
using namespace std; //指明程序 使用命名空间std(标准)
int main()
{
int i;
for (i=1;i<=5;i++)
cout<<'*';
cout<<i<<endl;
return 0;
}

i的输出:__________

(3)完善第12行程序。

输出1~100的所有整数。

 6 #include <typeinfo>    //变量类型头文件,还是有问题;无法判断int
7 #include <iostream> //包含输入输出流头文件iostream
8 using namespace std; //指明程序 使用命名空间std(标准)
9 int main()
10 {
11 int i;
12 for (i=1;i ; )
13 cout<<i<<endl;
14 return 0;
15 }

二、for语句与if语句的结合

问题描述:狐狸老师和格莱尔玩报数游戏。狐狸老师数到2的倍数时,格莱尔就说“叮叮”;狐狸老师数到3的倍数时,格莱尔就说“当当”;狐狸老师数到2和3的公倍数时,格莱尔就说“叮叮当当”。

狐狸老师:1

狐狸老师:2

格莱尔:叮叮

狐狸老师:3

格莱尔:当当

狐狸老师:4

格莱尔:叮叮

狐狸老师:5

狐狸老师:6格莱尔:叮叮当当

......

试编一程序,模拟1~20的报数程序。

流程图:

#include <iostream>    //包含输入输出流头文件iostream
using namespace std; //指明程序 使用命名空间std(标准)
int main()
{
int i;
for (i=1;i<=20;i++)
{
cout<<i<<' ';
if (i%2==0) cout<<"叮叮";
if (i%3==0) cout<<"当当";
if (i%2==0 || i%3==0) cout<<endl;
}
return 0;
}

练习

(1).结构化程序设计的三种基本逻辑结构是()

A.顺序结构、选择结构和循环结构

B.选择结构、嵌套结构和循环结构

C.选择结构、循环结构和模块结构

D.顺序结构、递归结构和循环结构

(2)阅读程序写结果

#include <iostream>    //包含输入输出流头文件iostream
using namespace std; //指明程序 使用命名空间std(标准)
int main()
{
int i,n;
cin>>n;
for (i=n;i>1;i--)
cout<<i;
return 0;
}

输入:5

n,i的输出:______________

(3)完善第9、12行程序

 4 #include <iostream>    //包含输入输出流头文件iostream
5 using namespace std; //指明程序 使用命名空间std(标准)
6 int main()
7 {
8 int i,n;
9 for ( ;i<=10;i++)
10 {
11 n=43%i;
12 cout<<i<<" "<< <<endl;
13 }
14 return 0;
15 }

三、累加求和

试编一程序,先求1+2+3+4+5的和。

程序流程图与代码如下:

#include <iostream>    //包含输入输出流头文件iostream
using namespace std; //指明程序 使用命名空间std(标准)
int main()
{
int i,sum=0;
for (i=1;i<=5;i++)
{
sum+=i;
}
cout<<"1+2+3+4+5="<<sum;
return 0;
}

练习

(1)计算机使用的键盘中,Shift键是()。

   A.退格键      B.上档键      C.空格键      D键盘类型

(2)阅读程序写结果

#include <iostream>    //包含输入输出流头文件iostream
using namespace std; //指明程序 使用命名空间std(标准)
int main()
{
int i,sum=0;
for (i=1;i<=5;i++)
sum+=i*i;
cout<<sum<<endl;
return 0;
}

i,sum的输出:_____________________

(3)完善第9、11行程序

求1×2+2×3+3×4+...........+100×101的和是多少?

 4 #include <iostream>    //包含输入输出流头文件iostream
5 using namespace std; //指明程序 使用命名空间std(标准)
6 int main()
7 {
8 int i,sum;
9 ;
10 for (i=1;i<=100;i++)
11 ;
12 cout<<sum<<endl;
13 return 0;
14 }

四、超长整型与数据溢出

例程:试编一程序,算一算,64个棋盘格中放入麦粒;第一个放入一粒,每一个放入是前一个的两倍,求第64个格子放入的麦粒数是多少?

流程图与程序代码如下:

#include <iostream>    //包含输入输出流头文件iostream
using namespace std; //指明程序 使用命名空间std(标准)
int main()
{
long long sum,n;
int i;
sum=0;
n=1;
for (i=1;i<=64;i++)
{
n*=2;
sum+=n;
cout<<i<<" "<<n<<endl;
}
cout<<"总数:"<<sum<<endl;
return 0;
}

运行出现问题,为什么会这样呢?因为运算过程中产生的数据实在是太大了,超出了超长整型数据long long可表示的范围,造成了数据溢出错误,数据溢出在编译与运行时并不报错,不易发现。超长整型数据long long表示的范围是-92233720368547758089223372036854775807,即-2^632^63-1,只有学了高精度计算才能解决此类问题。另int整型数据可表示的范围为

-21474836482147483647,即-2^312^31-1。

英汉小词典

long long [lon][lon]超长整型

练习

(1)彩色显示器所显示的五彩斑斓的色彩,是红色、蓝色和()色混合而成的。

   A.紫      B.橙      C.黑      D.绿

(2)阅读程序写结果

#include <iostream>    //包含输入输出流头文件iostream
using namespace std; //指明程序 使用命名空间std(标准)
int main()
{
int m,n,i;
long long ans=0;
cin>>m>>n;
for (i=m;i<=n;i=i+2)
ans+=i;
cout<<ans<<' ';
cout<<i;
return 0;
}

输入:1 10

m,n,i,ans的输出:_________________

(3)完善第14、16行程序。

沃伦.巴菲特,1930年出生于美国,是全球著名的投资大师,也是一位慈善家,其管理的公司年收益率可以达到20%以上。假设年收益率为20%,10万元的投资一年后是12万元,两年后是14.4万元,试问20年后是多少万元?

 8 #include <iostream>    //包含输入输出流头文件iostream
9 using namespace std; //指明程序 使用命名空间std(标准)
10 int main()
11 {
12 int i;
13 float s=10.0;
14 for (i=1;i<=20; )
15 {
16 ;
17 cout<<i<<" "<<s<<endl;
18 }
19 return 0;
20 }

五、continue语句

模拟游戏,规则是:大家围坐在一起,从1开始报数,但逢7的倍数或者尾数是7,则不去报数,要喊“过”。

试编一程序,人数1~20。

程序代码如下:

#include <iostream>    //包含输入输出流头文件iostream
using namespace std; //指明程序 使用命名空间std(标准)
int main()
{
int i;
for (i=1;i<=20;i++)
{
if (i%7==0 || i%10==7)
cout<<"过"<<' ';
else
cout<<i<<' ';
}
return 0;
}

另一种方法:



其中语句“continue;”的作用为提前结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。

#include <iostream>    //包含输入输出流头文件iostream
using namespace std; //指明程序 使用命名空间std(标准)
int main()
{
int i;
for (i=1;i<=20;i++)
{
if (i%7==0 || i%10==7)
{
cout<<"过"<<' ';
continue; //结算本次for循环,进行下一次循环。
}
cout<<i<<' ';
}
return 0;
}

练习

(1)断电后会丢失数据的存储器是()。

   A.RAM      B.U盘      C.硬盘      D.光盘

(2)阅读程序写结果

#include <iostream>    //包含输入输出流头文件iostream
using namespace std; //指明程序 使用命名空间std(标准)
int main()
{
for (int i=7;i>=1;i--)
{
if (i%2==0)
continue; //结算本次for循环,进行下一次循环。
cout<<i;
if (i==1)
continue; //当i为时,结束循环,不输出逗号(',')。
cout<<',';
}
return 0;
}

(3)完善第10、11行程序

输出100以内所有的偶数。

 5 #include <iostream>    //包含输入输出流头文件iostream
6 using namespace std; //指明程序 使用命名空间std(标准)
7 int main()
8 {
9 int i;
10 for (i=2;i<=100; )
11 cout<< <<endl;
12 return 0;
13 }

11C++循环结构-for循环(1)的更多相关文章

  1. GO学习笔记 - Go 只有一种循环结构—— for 循环。

    一,Go 只有一种循环结构—— for 循环. 官方教程:https://tour.go-zh.org/flowcontrol/1 Go 只有一种循环结构—— for 循环. 基本的 for 循环包含 ...

  2. Lua循环结构while循环、repeat 循环、for循环_学习笔记03

    Lua循环结构while循环.repeat 循环.for循环 while语法结构 while 循环条件 do 循环体  end --1.输出1到100 index = do print(index) ...

  3. 039 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 01 循环结构概述

    039 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 01 循环结构概述 本文知识点:循环结构概述 循环结构主要内容 while 循环 do-whiile ...

  4. 黑马程序员——JAVA基础之程序控制流结构之循环结构,循环嵌套

    ------- android培训.java培训.期待与您交流! ---------- 循环结构: 代表语句:while ,do while ,for while语句格式 : while(条件表达式) ...

  5. python4 分支结构,循环结构 for循环

    ## 复习 ```python'''1.变量名命名规范 -- 1.只能由数字.字母 及 _ 组成 -- 2.不能以数字开头 -- 3.不能与系统关键字重名 -- 4._开头有特殊含义 -- 5.__开 ...

  6. 循环结构-for循环和while循环

    循环语句1--for for循环语句格式: for(初始化表达式①; 布尔表达式②; 步进表达式④){ 循环体③ } 执行流程 执行顺序:①②③④>②③④>②③④-②不满足为止. ①负责完 ...

  7. C语言-循环结构及break、continue

    循环结构 --1-- 结构循环 1.1 while循环 1.2 do…while循环 1.3 for循环 --2-- break和continue 2.1 break关键字 2.2 continue关 ...

  8. [java基础]循环结构1

    [java基础]循环结构1 循环结构:for循环,while循环,do_while循环在,增强型for循环 /** 文件路径:G:\JavaByHands\循环语句\ 文件名称:WhileTest.j ...

  9. Java 第五章 循环结构1

    循环结构 1 while 循环结构 ,do- while 循环结构 . 循环结构: 必须满足两个条件 . 1,循环条件 和 循环 操作 ! while 循环 特点:先判断,再执行 , 编码规范:缩进, ...

  10. Chrome弹窗的简单应用(选择结构与循环结构)

    ★选择结构★ ★JS实现弹窗显示随机数 示例代码效果图   ★ 弹窗实现对随机数的进一步判断 示例代码效果图 ★综合应用   比较大小 ★ 判断成绩等级 ): : : : : alert(" ...

随机推荐

  1. 图解MQTT概念、mosquitto编译和部署 ,写代码,分别使用外网和本地服务器进行测试

    前沿提要: MQTT是什么不知道? 看这一篇:https://www.cnblogs.com/happybirthdaytoyou/p/10362336.html 阿里云官网玩不转? 看这一篇: ht ...

  2. [Tkey] [IOI 2018] werewolf

    注意看,我耗时五个小时 AK 了 IOI 题意 给你一个图,每次给定若干询问 \((s,t,l,r)\),请你完成下述要求: 定义 \(S\) 为到 \(s\) 的最短路径不小于 \(l\) 的点构成 ...

  3. 使用BAT脚本实现文件异机备份,并且还有文件的时间戳

    事件起因: 由于我们单位是创意设计公司,在设计文件的隐私性和保密性上都是有要求的,单位里的办公机的USB口都是禁用的,防治资料泄露:服务器之间还要做实时备份,并且文件的创建时间都是要保证准确性的.但是 ...

  4. 【赵渝强老师】MongoDB插入文档

    MongoDB是非关系型数据库NoSQL的代表,作为一款可分布式存储的数据库,对文档的操作是MongoDB的重中之重.在本文中,我们将着重为大家介绍如何在MongoDB中插入文档. MongoDB一共 ...

  5. 16 模块time、datetime、random、hashlib、logging

    1. 时间模块time.datetime 在python中,表示时间有三种方式:时间戳 格式化的时间字符串(Format String): '2022-03-01' 时间元组(struct_time) ...

  6. USB总线-Linux内核USB3.0主机控制器驱动初始化流程分析(十三)

    1.概述 RK3588有2个USB3.0 DRD控制器,2个USB2.0 Host控制器.USB3.0 DRD控制器既可以做Host,也可以做Device,向下兼容USB2.0和USB1.0.USB3 ...

  7. 共124篇!墨天轮“高可用架构”干货文档分享(含Oracle、MySQL、PG)

    大家期待的高可用篇来啦!在上期<墨天轮高分技术文档分享-Oracle升级迁移篇>中大家对数据库高可用架构相关文档呼声较高,这不就来啦! 数据库的高可用架构能够在发生宕机或意外中断等故障时起 ...

  8. 基于.NET8 + Vue/UniApp前后端分离的快速开发框架,开箱即用!

    前言 今天大姚给大家分享一款基于.NET8 + Vue/UniApp前后端分离的快速开发框架,开箱即用:ZR.Admin.NET. 开源免费(基于MIT License开源协议).代码量少.学习简单. ...

  9. URL是什么

    URL是什么 URL(Uniform Resource Locator,统一资源定位器) URL的组成: 协议://{域名|主机名|IP}:端口/路径/文件名?参数#锚点 协议 Scheme/Prot ...

  10. 用easyVget下载B站油管视频

    B站油管等视频平台简直就是无所不有的宝库,动漫.番剧.纪录片.科普,更有海量的学习资源,可以极大地满足你的视觉欲和求知欲. 作为一只视频仓鼠,我热衷于下载自己感兴趣的视频到本地,不用担心视频被和谐.不 ...