循环结构程序设计

一、知识总结

循环结构程序设计这一单元主要讲了while语句、do-while语句、for语句、break和continue语句的相关知识和应用,以及如何调试程序。

(本文部分程序/代码省去了头尾基础语句)

  • ‌while语句先判断表达式再循环;do-while语句先执行循环体,再判断表达式(do-while语句至少执行一次循环体);for语句主要用于循环次数固定已知的循环。

    
    //输出10个@
    int i=1;
    while(i<=10){
    printf("@");
    i++;
    }
    
    int i=1;
    do{
        printf("@");//先执行输出一个@,再判断表达式执行循环
        i++;
    }while(i<=10);
    
    for(int i=1;i<=10;i++)
        printf("@");
    printf("\n");

     

  • ‌for语句三个语句均可省略,三个语句间用分号隔开。

    for(表达式1;表达式2;表达式3){
        循环体
    }
    //表达式1为循环初始化
    //表达式2为循环条件
    //表达式3为循环变量增值

     

  • ‌循环嵌套中,1.内循环转一圈,外循环变量变一次。2.循环语句不限制循环类型。

    //与七无关的数
    #include
    using namespace std;
    int main(){
    	int n,ans=0;
    	cin>>n;
    	for(int i=1;i<=n;i++){
    		int flag1=1,flag2=1;
    		if(i%7==0)flag1=0;
    		int x=i;
    		while(x){
    			if(x%10==7){flag2=0;break;}
    				x=x/10;}
    				if(flag1&&flag2)ans++;}
    	cout<

     

  • ‌break语句结束最内层循环;continue语句结束本次循环。

    #include
    using namespace std;
    int main(){
    	for(int i=10;i>0;i--){
    		if(i==5)continue;
    	cout<
    using namespace std;
    int main(){
    	for(int i=10;i>0;i--){
    		if(i==5)break;
    	cout<

     

  • ‌注意循环变量的作用空间:在循环内定义变量,该变量是局部变量,只限循环语句中使用;在循环外定义的变量在整个程序中起作用。

  • ‌静态查错:1.变量未赋初值2.中间运算结果越界3.if-else语句混乱4.实数比较出错。
#include
using namespace std;
int main(){
	int n,ans=0;
	cin>>n;
	for(int i=1;i<=n;i++){
		int flag1=1,flag2=1;
		if(i%7==0)flag1=0;
		int x=i;
		while(x){
			if(x%10==7){flag2=0;break;}
				x=x/10;}
				if(flag1&&flag2)ans++;}
	cout<
  • 通过添加输出语句调试程序(使用这种方法调试程序结束后,一定要删除,或者注解掉”调试输出信息”的语句。)

二、个人感悟与思考

  • do-while语句往往可以通过while语句实现,while语句与for语句可以实现相互转化,于是每个题目都可以用不同的语句解决,C++再次向我阐述了一题多解的魅力。
  • 循环结构与前面所学的顺序结构、分支结构相比,难度有较大提升,我们需要花更多的时间去理解消化。所写程序也不再那么容易简洁明了,我们常常需要在脑海里勾勒出最基本的框架,再逐层充实完善,当我们"完善好"了,用代码表达出来了,自以为over了,手动运行一遍又会发现诸多漏洞,会发现还有诸多方面没有考虑进去,这时我们需要重新思考不断修改程序。这一过程无疑是繁琐的痛苦的,但当提交结果变为Accepted,我们将无比幸福、自豪与骄傲。风雨过后方能见彩虹,没有黎明前的黑暗哪来的光明,我们应该享受调试的过程,在奋斗中收获些什么,在拼搏中努力成长。

  • 当我们需要暂存一组数据时,我们可以使用下一章数组的相关内容,以帮助我们解决无法暂存数据的问题。

    //津津的存储计划
    #include
    using namespace std;
    int main(){
        int x=0,y=0;
        int a[13];
        for(int i=1;i<=12;i++)
        cin>>a[i];
        for(int i=1;i<=12;i++){
            x=300+x-a[i];
            if(x<0){
                cout<<"-"<=100){
                y+=(x/100)*100;
                x%=100;
            }}
        cout<
  • 我们往往无法只利用一个单元的所学解决所有需解决的问题,我们需要学会及时复习与预习,努力做到各单元的融会贯通。

  • C++非常锻炼我们数学人的思维与逻辑。不论喜欢热爱还是被迫无奈,我们都应努力学好好学,通过C++更好地帮助我们成长!

你可能感兴趣的:(循环结构程序设计)