大工20春《c&c++语言程序设计》六

所属学校:复习资料 科目:c&c++语言程序设计 2021-02-25 13:18:02 大工 语言程序设计 amp
C/C++语言程序设计辅导资料六tvC傲朋学习网
一、主题:循环结构二、学习时间:2020年5月4日-5月10日“不忘初心、牢记使命”主题理论学习:tvC傲朋学习网
我们党要始终成为时代先锋、民族脊梁,始终成为马克思主义执政党,自身必须始终过硬。全党要更加自觉地坚定党性原则,勇于直面问题,敢于刮骨疗毒,消除一切损害党的先进性和纯洁性的因素,清除一切侵蚀党的健康肌体的病毒,不断增强党的政治领导力、思想引领力、群众组织力、社会号召力,确保我们党永葆旺盛生命力和强大战斗力。tvC傲朋学习网
摘选自《决胜全面建成小康社会,夺取新时代中国特色社会主义伟大胜利》三、知识脉络:tvC傲朋学习网
第5章 循环结构tvC傲朋学习网
5.0 导学tvC傲朋学习网
5.1 循环语句tvC傲朋学习网
5.2 循环条件tvC傲朋学习网
5.3 循环嵌套tvC傲朋学习网
5.4 循环中的跳转tvC傲朋学习网
5.5 综合案例分析四、学习要求:tvC傲朋学习网
理解循环结构及分类tvC傲朋学习网
了解常用循环语句tvC傲朋学习网
掌握while语句基本语法tvC傲朋学习网
掌握do-while语句基本语法tvC傲朋学习网
掌握for语句基本语法tvC傲朋学习网
了解流程图的画法tvC傲朋学习网
掌握计数器控制循环的方法tvC傲朋学习网
理解标记控制循环的方法tvC傲朋学习网
理解嵌套循环tvC傲朋学习网
理解内层循环及外层循环执行顺序tvC傲朋学习网
掌握嵌套结构的的设计方法tvC傲朋学习网
掌握break语句基本用法tvC傲朋学习网
理解continue语句的基本用法tvC傲朋学习网
了解goto语句tvC傲朋学习网
理解各种循环语句的特点tvC傲朋学习网
掌握用循环语句构造穷举算法 tvC傲朋学习网
掌握用循环语句构造迭代算法五、重点难点:tvC傲朋学习网
while语句tvC傲朋学习网
do-while语句 tvC傲朋学习网
for 语句tvC傲朋学习网
计数器控制循环tvC傲朋学习网
标记控制循环tvC傲朋学习网
循环嵌套tvC傲朋学习网
循环中的跳转tvC傲朋学习网
穷举法tvC傲朋学习网
迭代法tvC傲朋学习网
六、主要内容:tvC傲朋学习网
1.循环的概念tvC傲朋学习网
为解决某一问题,或求取某一计算结果,特定的条件下,程序中反复按某一模式进行操作。2.循环语句tvC傲朋学习网
循环语句是控制程序执行循环结构的语句,特定的条件下,程序中反复按某一模式进行操作。tvC傲朋学习网
whiletvC傲朋学习网
do-whiletvC傲朋学习网
fortvC傲朋学习网
while语句tvC傲朋学习网
语句形式tvC傲朋学习网
while( 表达式 )tvC傲朋学习网
{tvC傲朋学习网
         循环体 ; tvC傲朋学习网
}tvC傲朋学习网
执行流程tvC傲朋学习网
在循环结构外设置条件变量tvC傲朋学习网
测试循环条件,若其值为假则执行步骤(6);tvC傲朋学习网
执行循环体中的语句;tvC傲朋学习网
更新条件变量的值;tvC傲朋学习网
重复(2)~(4)步骤tvC傲朋学习网
结束循环tvC傲朋学习网
do-while语句tvC傲朋学习网
语句形式tvC傲朋学习网
dotvC傲朋学习网
{tvC傲朋学习网
      循环体 ; tvC傲朋学习网
} while( 表达式 );tvC傲朋学习网
执行流程tvC傲朋学习网
在循环结构外设置条件变量tvC傲朋学习网
执行循环体中的语句;tvC傲朋学习网
更新条件变量的值;tvC傲朋学习网
测试循环条件,若其值为假则执行步骤(6);tvC傲朋学习网
重复(2)~(4)步骤tvC傲朋学习网
结束循环tvC傲朋学习网
for语句tvC傲朋学习网
语句形式tvC傲朋学习网
for ( 表达式1; 表达式2 ; 表达式3  )tvC傲朋学习网
{     循环体 ;    }tvC傲朋学习网
执行流程tvC傲朋学习网
求解表达式1;tvC傲朋学习网
求解表达式2;tvC傲朋学习网
若其值为逻辑真,则执行循环体中的语句;若其值为假则结束循环,转到第(6)步;tvC傲朋学习网
求解表达式3;tvC傲朋学习网
重复执行步骤(2)和(3)中的操作;tvC傲朋学习网
循环结束,执行for语句后的语句。3.循环条件tvC傲朋学习网
为合理使用循环结构实现算法,必须正确设计循环条件。以避免死循环发生!tvC傲朋学习网
一般循环条件表达式的值由某个变量控制,根据控制变量的性质,循环分为两类:tvC傲朋学习网
计数器控制循环 (counter)tvC傲朋学习网
标记控制循环  (flag)tvC傲朋学习网
若能知道循环将执行的确切次数,就使用计数器控制循环。tvC傲朋学习网
执行次数不确定的循环可采用标记控制循环。4.循环嵌套tvC傲朋学习网
结构化程序由顺序、选择和循环结构组成,三种基本可以按堆栈和嵌套的形式构成任何算法。tvC傲朋学习网
循环嵌套:一个循环体中又包含另一个完整的循环结构。内嵌的循环中还可以嵌套循环。tvC傲朋学习网
各种循环语句都可以嵌套:while、do-while和for三种循环语句可分别构成嵌套结构。tvC傲朋学习网
tvC傲朋学习网
三种循环语句可相互嵌套:在while循环、do-while循环和for循环体内,包含上述任一循环结构。tvC傲朋学习网
tvC傲朋学习网
设计嵌套的循环要点tvC傲朋学习网
合理设计和安排各个循环的嵌套关系,在保证逻辑正确性; tvC傲朋学习网
循环嵌套不能交叉,即在一个循环体内必须完整的包含着另一个循环嵌套的循;tvC傲朋学习网
内层和外层循环控制变量不应同名!tvC傲朋学习网
最好采用右缩进格式书写。5.循环中的跳转tvC傲朋学习网
跳转语句可用于控制程序的转移,在选择结构和循环结构中协助改变程序执行的流程。tvC傲朋学习网
break语句          tvC傲朋学习网
continue语句           tvC傲朋学习网
goto语句tvC傲朋学习网
break语句:常用于提前从循环推出或跳出switch结构。无条件地结束switch、while、do while或for循环结构,转向执行该结构的后续语句。tvC傲朋学习网
continue语句:continue语句用来跳过循环的一部分,继续执行下一轮循环操作。它并不跳出整个循环结构,而是跳过循环体中剩余的语句,结束本轮循环。tvC傲朋学习网
continue语句只用在循环体中,常与 if 条件语句一起使用,用来加速循环。tvC傲朋学习网
包含continue的循环结构,代码的可读性不好,可以用其他形式代替该跳转语句。tvC傲朋学习网
goto语句:goto语句一般为无条件跳转语句,程序直接跳转到标号所指示的语句。tvC傲朋学习网
使用跳转能力强的goto语句可以直接从内层循环中直接跳到外层循环后。 tvC傲朋学习网
goto不利于结构化编程,应尽量少使用 !  七、习题:tvC傲朋学习网
1.设有程序段tvC傲朋学习网
int k=10;tvC傲朋学习网
while(k=0)k=k-1;tvC傲朋学习网
这下面描述中正确的是_________.tvC傲朋学习网
A.while循环执行10次tvC傲朋学习网
B.循环是无限循环tvC傲朋学习网
C.循环体语句一此也不执行tvC傲朋学习网
D.循环体语句执行一次tvC傲朋学习网
答案:C2.对于 for( 表达式1; ;表达式3) 可理解为__________。tvC傲朋学习网
A.or( 表达式1;0;表达式3) tvC傲朋学习网
B.for( 表达式1;1;表达式3)    tvC傲朋学习网
C.for( 表达式1;表达式1;表达式3) tvC傲朋学习网
D.for( 表达式1;表达式3;表达式3)tvC傲朋学习网
答案:B3.C语言中, 下列说法正确的是_________。tvC傲朋学习网
A.不能用do-while语句构成循环tvC傲朋学习网
B.do-while语句构成循环必须用break语句才能退出  tvC傲朋学习网
C.do-while语句构成循环,当while语句中的表达式为非零时结束循环 tvC傲朋学习网
D.do-while语句构成循环,当while语句中的表达式为零时结束循环tvC傲朋学习网
答案:D4.执行for(x = 0, y = 0; (y != 123) && (x < 4); x ++); 的结果为________。tvC傲朋学习网
A.无限循环tvC傲朋学习网
B.循环次数不定tvC傲朋学习网
C.执行4次tvC傲朋学习网
D.执行3次tvC傲朋学习网
答案:C5.以下while循环中,循环体执行的次数是__________。tvC傲朋学习网
k=1;tvC傲朋学习网
while( - - k) k = 10;tvC傲朋学习网
A.执行10次tvC傲朋学习网
B.执行无限次tvC傲朋学习网
C.一次也不执行tvC傲朋学习网
D.执行1次tvC傲朋学习网
答案:C6.有以下程序段,其中x 为整形变量tvC傲朋学习网
int x = -1; tvC傲朋学习网
dotvC傲朋学习网
{tvC傲朋学习网
;tvC傲朋学习网
} while(x++); tvC傲朋学习网
printf("x = %d",x);tvC傲朋学习网
以下正确的是____________。tvC傲朋学习网
A.该循环没有循环体,程序错误tvC傲朋学习网
B.输出 x = 1     tvC傲朋学习网
C.输出 x = 0tvC傲朋学习网
D.输出 x = -1tvC傲朋学习网
答案:B7.以下程序的输出结果是________。tvC傲朋学习网
x = -1;tvC傲朋学习网
dotvC傲朋学习网
{tvC傲朋学习网
x = x * xtvC傲朋学习网
} while( !x );tvC傲朋学习网
A.死循环tvC傲朋学习网
B.循环执行2次tvC傲朋学习网
C.循环执行一次tvC傲朋学习网
D.有语法错误tvC傲朋学习网
答案:C8.下面程序的执行结果是__________。tvC傲朋学习网
#includetvC傲朋学习网
void main()tvC傲朋学习网
{tvC傲朋学习网
        int i = 1;tvC傲朋学习网
        switch(i)tvC傲朋学习网
        {tvC傲朋学习网
        case 0: i ++;tvC傲朋学习网
        case 1:tvC傲朋学习网
        case 2: i ++;tvC傲朋学习网
        case 3: i ++; break;tvC傲朋学习网
        default: i ++;tvC傲朋学习网
        }tvC傲朋学习网
        printf(“%d\n”,i);tvC傲朋学习网
}tvC傲朋学习网
A.2tvC傲朋学习网
B.3tvC傲朋学习网
C.4tvC傲朋学习网
D.5tvC傲朋学习网
答案:B9.下面程序的执行结果是__________。tvC傲朋学习网
#includetvC傲朋学习网
void main()tvC傲朋学习网
{tvC傲朋学习网
        int j, x;tvC傲朋学习网
        for( j = 1, x = 1; j <= 50; j ++)tvC傲朋学习网
        {tvC傲朋学习网
                if(x >= 10) tvC傲朋学习网
                {tvC傲朋学习网
                        break;tvC傲朋学习网
                }tvC傲朋学习网
                if(x % 2 == 1)tvC傲朋学习网
                {tvC傲朋学习网
                        x += 2; tvC傲朋学习网
                        continue;tvC傲朋学习网
                }tvC傲朋学习网
        }tvC傲朋学习网
        printf(“%d\n”,j);tvC傲朋学习网
}tvC傲朋学习网
A.1tvC傲朋学习网
B.2tvC傲朋学习网
C.5tvC傲朋学习网
D.6tvC傲朋学习网
答案:D10.下面程序的执行结果是__________。tvC傲朋学习网
#includetvC傲朋学习网
void main()tvC傲朋学习网
{tvC傲朋学习网
        int i;tvC傲朋学习网
        for( i = 0; i < 5; i ++)tvC傲朋学习网
        {tvC傲朋学习网
                if( i % 2)tvC傲朋学习网
                {tvC傲朋学习网
                        printf("*");tvC傲朋学习网
                }tvC傲朋学习网
                elsetvC傲朋学习网
                        continue;tvC傲朋学习网
                printf("#");tvC傲朋学习网
        }tvC傲朋学习网
        printf("$\n");tvC傲朋学习网
}tvC傲朋学习网
A.*#*#*#$tvC傲朋学习网
B.#*#*#*$tvC傲朋学习网
C.*#*#$tvC傲朋学习网
D.#*#*$tvC傲朋学习网
答案:C11.下面程序的执行结果是__________。tvC傲朋学习网
#includetvC傲朋学习网
void main()tvC傲朋学习网
{tvC傲朋学习网
        int y = 10;tvC傲朋学习网
        do tvC傲朋学习网
y - -;tvC傲朋学习网
while(y--);tvC傲朋学习网
        printf(" %d \n" , y--);tvC傲朋学习网
}tvC傲朋学习网
A.程序错误tvC傲朋学习网
B.死循环tvC傲朋学习网
C.-1tvC傲朋学习网
D.0tvC傲朋学习网
答案:B12.下面程序的执行结果是__________。tvC傲朋学习网
#includetvC傲朋学习网
void main()tvC傲朋学习网
{tvC傲朋学习网
        int x = 3, y = 6, a = 0;tvC傲朋学习网
        while(x ++ != ( y -= 1))tvC傲朋学习网
        {tvC傲朋学习网
                a += 1;tvC傲朋学习网
                if( y < x ) break;tvC傲朋学习网
        }tvC傲朋学习网
        printf(" x = %d, y = %d, a = %d \n", x, y, a);tvC傲朋学习网
}tvC傲朋学习网
A.x = 4, y = 4, a = 1tvC傲朋学习网
B.x = 5, y = 4, a = 3tvC傲朋学习网
C.x = 5; y = 4; a = 3tvC傲朋学习网
D.x = 5, y = 4, a = 1tvC傲朋学习网
答案:D13.下面程序段的运行结果是__________.tvC傲朋学习网
int n=0;tvC傲朋学习网
while(n++<=2);tvC傲朋学习网
printf("%d",n);tvC傲朋学习网
A.2tvC傲朋学习网
B.3tvC傲朋学习网
C.4tvC傲朋学习网
D.有语法错tvC傲朋学习网
答案:C14.以下程序段________.tvC傲朋学习网
x=-1;tvC傲朋学习网
do{tvC傲朋学习网
   x=x*x; tvC傲朋学习网
   } while(!x);tvC傲朋学习网
A.是死循环tvC傲朋学习网
B.循环执行二次tvC傲朋学习网
C.循环执行一次tvC傲朋学习网
D.有语法错误tvC傲朋学习网
答案:C15.下面程序的运行结果是______.tvC傲朋学习网
#includetvC傲朋学习网
main()tvC傲朋学习网
  { tvC傲朋学习网
int y=10;tvC傲朋学习网
     dotvC傲朋学习网
{tvC傲朋学习网
y--;tvC傲朋学习网
} while(--y);tvC傲朋学习网
     printf("%d\n", y--);tvC傲朋学习网
   }tvC傲朋学习网
A.-1tvC傲朋学习网
B.1tvC傲朋学习网
C.8tvC傲朋学习网
D.0tvC傲朋学习网
答案:D16.若i为整型变量,则以下循环执行次数是_____.tvC傲朋学习网
for(i=2; i==0;) tvC傲朋学习网
printf("%d", i- -);tvC傲朋学习网
A.无限次tvC傲朋学习网
B.0次tvC傲朋学习网
C.1次tvC傲朋学习网
D.2次tvC傲朋学习网
答案:B17.执行语句for(i=1;i++<4; );后变量i的值是______.tvC傲朋学习网
A.3tvC傲朋学习网
B.4tvC傲朋学习网
C.5tvC傲朋学习网
D.不定tvC傲朋学习网
答案:C18.以下正确的描述是_______.tvC傲朋学习网
A.continue语句的作用是结束整个循环的执行tvC傲朋学习网
B.只能在循环体内和switch语句体内使用break语句tvC傲朋学习网
C.在循环体内使用break语句或continue语句的作用相同tvC傲朋学习网
D.从多层循环嵌套中退出时,只能使用goto语句tvC傲朋学习网
答案:B19.下列程序的输出结果是:      .tvC傲朋学习网
void main()tvC傲朋学习网
{        int i;tvC傲朋学习网
        for(i=1;i<10;i++)tvC傲朋学习网
        {tvC傲朋学习网
if(i%5==0)break;tvC傲朋学习网
printf("%d ",i);tvC傲朋学习网
        }tvC傲朋学习网
        printf("end\n");tvC傲朋学习网
}tvC傲朋学习网
A. endtvC傲朋学习网
B.1 2 3 4 5 endtvC傲朋学习网
C.1 2 3 4 5tvC傲朋学习网
D.1 2 3 4 endtvC傲朋学习网
答案:D20.下列程序的输出结果是:          .tvC傲朋学习网
void main()tvC傲朋学习网
{tvC傲朋学习网
        int i;tvC傲朋学习网
        for(i=1;i<10;i++)tvC傲朋学习网
        {tvC傲朋学习网
            if(i%5==0)continue;tvC傲朋学习网
            printf("%d ",i);tvC傲朋学习网
        }tvC傲朋学习网
        printf("end\n");tvC傲朋学习网
}tvC傲朋学习网
A.1 2 3 4 endtvC傲朋学习网
B.5 6 7 8 endtvC傲朋学习网
C.1 2 3 4 6 7 8 9 endtvC傲朋学习网
D.endtvC傲朋学习网
答案:C21.下列程序的输出结果是:       。tvC傲朋学习网
void main()tvC傲朋学习网
{tvC傲朋学习网
        int i=5;tvC傲朋学习网
        do{tvC傲朋学习网
                switch(I % 2)tvC傲朋学习网
                {tvC傲朋学习网
                        case 0: i--;break;tvC傲朋学习网
                        case 1: i--;continue;tvC傲朋学习网
                }tvC傲朋学习网
                if(i==3)break;                tvC傲朋学习网
                printf("%d ",i);tvC傲朋学习网
        }while(i>0);tvC傲朋学习网
        printf("end\n");tvC傲朋学习网
}tvC傲朋学习网
A.0 endtvC傲朋学习网
B.1 endtvC傲朋学习网
C.endtvC傲朋学习网
D.3  endtvC傲朋学习网
答案:C22.“百鸡问题”:鸡公一,值钱伍;鸡母一,值钱三;鸡雏三,值钱一。凡百钱买鸡百只,问鸡公、母、雏各几何?思路一: int cocks,hens,chicken; for (cocks=1; cocks<100; ++cocks) for (hens=1; hens<100; ++hens) for (chicken=3; chicken<100; chicken+=3) {     if( 5*cocks+3*hens+ chicken/3==100 /*百钱*/        && cocks+hens+ chicken==100 ) /*百鸡*/         printf("cocks=%d,hens=%d,chicken=%d\n", tvC傲朋学习网
             cocks, hens, chicken); }思路二: int cocks,hens,chicken; for (cocks=1; cocks<20; ++cocks)   for (hens=1; hens<33; ++hens)    {       if (5*iCocks+3*iHens+ iChicken/3-100)  continue;       if (iCocks+iHens+iChicken-100) continue;        printf("cocks=%d,hens=%d,chicken=%d\n",                cocks, hens, chicken);    }tvC傲朋学习网
南开答案 tvC傲朋学习网
tvC傲朋学习网
版权声明

声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系本站我们将配合处理!

分享: