内容正文:
6.三种循环结构(讲义)-《C语言程序设计》专题复习讲练测
[考纲要求]
(1)掌握while循环、do…while循环、for循环的用法。
(2)掌握for循环、while循环、do...while循环的格式和执行过程,能够读懂循环程序、写出正确的运行结果,能够编写简单的循环程序。
[课时安排]
2课时
[知识梳理]
一、循环结构三要素
1.循环从什么时候开始,即“循环变量初值”。
2.满足什么条件要循环,即“循环控制条件表达式”。
3.每次循环要做什么,即“反复执行的语句”,简称为“循环体”
二、while循环
1.格式
while(表达式)
{循环体;}
2.执行过程
当表达式为真(表达式为非0)时,执行while语句中的语句。其特点是:先判断表达式,后执行语句。while循环称为当型循环。
注意:
(1) 循环体如果包含一个以上的语句,应该用花括号括起来,以复合语句形式出现。
(2) 在循环体中应有使循环趋向于结束的语句。
三、do-while循环
1.格式
do
{循环体;}
while(表达式) ;
2.执行过程
先做循环体,判断表达式,如果为真,再次执行循环体。若为假,结束循环。
四、for循环
1.格式
for(表达式1;表达式2;表达式3)
{循环体;}
2.执行过程
执行表达式1;判断表达式2,若为真,执行循环体,再执行表达式3,继续判断表达式2;当表达式2为假时,结束循环。
3.说明
(1) for语句中的“表达式1”可以省略,此时应在for语句之前给循环变量赋初值。
(2) 如果表达式2省略,此时表达式2始终为真,循环无终止地进行下去。
(3) 表达式3也可以省略,但此时程序设计者应另外设法保证循环能正常结束。
(4) 可以省略表达式1和表达式3,只有表达式2,即只给循环条件。
[真题练讲]
一、概念理解
1.(2022 年湖南省跨地区普通高等学校对口招生二轮联考)下列 for 循环的执行次数是( )
for(x=0,y=0;(y=123)&&(x<4);x++)
A. 无限次
B. 0次
C.3次
D.4次
答案: D
解析:循环在(y=123)&&(x<4)为假时结束。每次循环x自加,完成第四次循环后x=4 , 此时(x<4)为假,则(y=123)&&(x<4)为假,循环结束。
2.(2017 年重庆市普通高校招生高职对口类统一考试)在 C 诺言中,与 for(表达式 1; ;表达式3)等价的是( )
A.for(表达式1;0;表达式3)
B. for( 表达式 1;1 ;表达式3)
C.for( 表达式 1;表达式 1;表达式 3)
D.for( 表达式 1;表达式 3;表达式
答案: B
解析:在for(表达式1;表达式2;表达式3)中,表达式1、表达式2、表达式3均可以为空,为空时则表示恒为真。
3.(2017 年重庆市普通高校招生高职对口类统一考试)在C 语言中,若int a=10;则程序段 do {a-=4;}while(a>0);中环体的执行次数是( )
A.1
B.2
C.3
D.死循环
答案:C
解析:do……while语句先执行do后面的代码块,后判断while语句的条件。故执行三次,得a=-2 后,while(a>0)判定不成立,结束循环。
二、程序分析
1.(2022年江苏省职教高考)阅读下列程序,请将运行结果填写在答题卡上相应位置。
# include <stdio. h>
# include <string. h>
int main()
{
char c[50]= {"lH3aplpy!");
char str[50];
long sum=0;
int s,i=0;
printf( " string:
");
printf("%s
" ,c);
for(s=0;s<strlen(c) ;s++)
{
if( (c[s]>=‘a’&& c[s]<=‘z’) || (c[s]>=‘A’ && c[s]=‘Z’))
{
str[i]=c[s];
i++;
}
if (c[s]> =‘0’& & c[s] <=‘9’)
{
sum=10 * sum+c[s]—48;
}
}
str[i]='\0';
printf(“word: %s
" ,str);
printf(“number: %d
" ,sum);
return 0;
}
答案:
word: Happy
number:131
解析:本题是考查for循环、if语句以及ASCII码相关知识的综合类题目。
for循环执行从 s=0 开始自加,直到s小于字符串c的有效位数(strlen函数返回字符串长度)。
for循环内部由两个if判断函数组成:
第一个if语