首页 > 编程语言 >11C++循环结构-for循环(1)

11C++循环结构-for循环(1)

时间:2024-12-10 16:42:46浏览次数:4  
标签:11 std 头文件 int C++ 循环 iostream using include

一、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 }

标签:11,std,头文件,int,C++,循环,iostream,using,include
From: https://www.cnblogs.com/citStudy/p/18453733

相关文章

  • 11/19讲座1
    主题:数字时代,老师做好准备了吗?ai学伴:历史人物模型、心理疗愈大模型提问:跨媒体➕生成新内容(可以在面试时使用)比如古诗教学,学生不理解诗句意思,让学生每个人自行提问大模型生成图片,然后把所有学生提问的图片汇总展示在大屏幕,在提问这些图片的共同点和学生感受▷现在很多的ai融入......
  • C++_线程池解读-线程和调试以及构建
    C++11多线程相关的头文件C++11新标准中引入了四个头文件来支持多线程编程,他们分别是<atomic>,<thread>,<mutex>,<condition_variable>和<future>作用:线程池这层封装,只需要告诉它开启几个线程,然后直接塞任务就行了,然后通过一定的机制获取执行结果线程池可以想象成......
  • (牛客网2024最新版)1100+大厂面试题附答案详解
    Java现在好找工作吗?目前还是挺好找的,楼主我是java开发将近10年了,做架构师也有两三年了,我发现只要是水平高的基本上能找到好工作,就算这两年形势这么差,也还是能找到好工作的,那么我就来说说java方面要达到一个什么样的水平才能找到好工作吧。java方面什么jdk源码就不......
  • 11.26 讲座内容总结
    该讲座深入探讨了人工智能在教育领域的创新应用:首先,讲座着重阐述了数据驱动下的精准教学模式。在这一模式下,教学不再仅仅依赖于教师的经验和直觉,而是更加关注课堂生成的实际数据。通过先进的数据分析技术,教师能够实时掌握学生的学习情况,如英语课堂上利用朗读数据来精准纠正学生的......
  • 渗透利器-kali工具 (第四章-2) python循环判断分支语句与异常处理
    学习循环语句和判断依据加异常处理1,逻辑控制与循环:逻辑判断---True&False:布尔类型[boolean]的数据只有两种,True和False[需要注意的是首字母大写]。人类以真伪来判断事实,而在计算机世界中真伪对应着的则是1和0。我们每输入一行代码就会立即得......
  • 11.5 课堂总结
    一、人工智能的三个发展阶段:萌芽时期、探索时期、高速发展时期。第一次浪潮:信息系统早起专家系统(1950-1980)。1956达特茅斯会议提出人工智能的概念;1957心理学家罗森布拉特发明感知机的模型。第二次浪潮:专家系统广泛应用,神经网络初步发展(1980-2000)。1982HopfieId神经网络模型提出;1......
  • C++天使的灵动心跳代码:类和对象(中下)
    文章目录4.拷贝构造函数4.1默认拷贝构造函数4.2显式调用拷贝构造函数5.运算符重载函数5.1赋值运算符重载函数5.1.1默认赋值运算符重载函数5.1.2显式调用赋值运算符重载函数5.2const取地址运算符重载函数希望读者们多多三连支持小编会继续更新你们的鼓励就是我......
  • C语言基础:循环结构
    循环结构什么是循环代码的重复执行,就叫做循环。循环的分类无限循环:其实就是死循环,程序设计中尽量避免无限循环。程序中的无限循环必须是可控的有限循环:循环限定循环次数或者循环的条件。循环的构成循环条件循环体当型循环的实现特点:先判断,后执行,如果条件不满......
  • 蓝桥杯历届真题 -- #错误票据 (C++)
    文章目录思路stringstream接收数据完整代码结语原题连接思路我们将数据拿到数组之后,对数组进行一个排序,然后从头到尾遍历数组,在遍历的过程中,依次比较当前位置上的数字和上一个位置上的数字如果a[i]=a[i-1],说明是重复的号码如果a[i]=a[i-1]+2,说明是断号stringstr......
  • 2024年11月充电桩运营平台排名:国网e充电位居第三
    中国充电桩网的数据统计如下:国网e充电平台的特点与优势广泛的网络覆盖国网e充电平台已接入超过3.2万个国网自营充电站和2600多个社会合作充电站,形成了覆盖全国的“十纵十横两环”高速快充网络,服务范围包括城市、乡村及高速公路等场景14。其高速公路快充网络覆盖近5万公里,极大......