C语言第五章第1-2节用while语句实现循环学习导案
创始人
2024-03-12 14:04:01
0次

课    题

5.1-5.2 用while语句实现循环

课时安排

2课时

课   型

新授

学

习目标

  1. 掌握while循环语句的一般形式
  2. 掌握while循环语句的执行过程

重点

while循环语句的一般形式

难点

理解while循环语句的执行过程并会做题

导       学        流       程

复备或笔记

一、课前

1.switch语句的一般形式

2.switch语句的执行过程

二、学习内容(25分钟)

1.while循环的一般形式:

  1. while(表达式)
  2. { 语句序列;
  3. }                              

2.while循环的执行过程:

  1. (1)首先计算“表达式”的值,如果非0,循环条件为真,则进入第(2)步,开始一次循环周期;若为假,则进入第(3)步。
  2. (2)执行“{}”内的“语句序列”,这些“语句序列”称为“循环体”。循环体执行完后,返回第(1)步,开始下一轮的循环条件测试。
  3. (3)结束循环,执行while循环后面的语句。                               

3.注意

  1. 初始化应放在while前面。
  2. 表达式即为循环条件,是任何类型的表达式。
  3. 循环必须在有限的次数内结束,否则会出现“死循环”,在程序中应避免出现死循环。
  4. 循环体中的语句可以是一条语句(即使空语句也可以,但分号;不能省)或用{}括起来的复合语句。
  5. while语句的特点:先判断,后执行,有可能一次也不执行。                                                  

三、练习

(1)练习(10分钟)

1、以下程序段的运行结果是( )

int a=-3,b=-4;

while (++a&&b++);

printf (”%d,%d\n”,a,b);

  A.0,-2   B.0,-1     C.0,0   D.1,0

2、语句while (!e);中的条件!e等价于( )

  A.e==0

  B.e!=1

  C.e!=1

  D.e!=0

3、若有定义int i=1,j=0;,则执行下面语句后j的值是( )

while(i)

switch(i)

{ case 1: i+=1; j++; break;

case 2: i+=3; j++; break;

case 3: i+=3; j++; break;

default: i--; j++; break;

}

  A.1  B.2  C.3  D.死循环

4、若有定义int i=1;,则执行语句while(i++<4);后,变量i的值为( )

  A.3   B.4   C.5   D.6

5、若有定义k=10;,则语句while(k=1) k=k-1;被执行的次数是( )

  A.10   B.无限循环

  C.0   D.1

6、若有定义k=2;,则语句while(k!=0) {printf(”%d”,k); k--;} printf(”\n”);被执行的次数是( )

  A.0   B.无限循环   C.1   D.2

7、有关下列程序段的说法中,正确的是( )

int x=0,s=0;

while(!x!=0)

s+=++x;

printf(”s=%d”,s);

  A.s=0 B.s=1

  C.无限循环   D.条件表达式非法

8、下列程序段的运行结果是( )

int n=0;

while(n++<=2)

printf(”%d”,n);

  A.012   B.123

  C.234   D.错误信息

9、下列程序段的运行结果是( )

int x=0,y=0;

while(x<15) {y++;x+=++y;}

printf(”%d,%d”,y,x);

  A.20,7   B.6,12

  C.20,8   D.8,20

10、若输入字符串:abcde,则下列while循环体执行的次数是( )

while((ch=getchar())!='e') printf(”*”);

  A.5   B.4   C.6   D.1

11、下列说法中正确的是( )

int x=0; while(x=1) {…}

  A.循环控制表达式的值为0,不执行循环体

  B.循环控制表达式的值为1,执行循环体

  C.循环控制表达式不合法

  D.以上说法都不正确

12、若有定义int n=10,m=1,k=1;,则执行下列程序段的输出结果是( )

while(k<=n)

{ m*=2;

k+=4;

}

printf(”%d \n”,m);

  A.4   B.16   C.8   D.32

13、若有定义int m=65,n=14;,则执行程序段后的输出结果是( )

while(m!=n)

{ while(m>n)

m-=n;

while(n>m) n-=m;

}

printf(”m=%d\n”,m);

  A.m=3   B.m=2   C.m=1   D.m=0

14、若有定义int n=9;,则执行程序段后的输出结果是( )

while(n>6)

{ n--;

printf(”%d”,n);

}

  A.987   B.876   C.8765   D.9876

15、下列程序的输出结果是________。

#include

main()

{ int y=10;

while(y--);

printf(”y=%d \n”,y);

}

16、下列程序的输出结果是________________,共执行________次循环体。

#include

main()

{ int a=1,b=10;

do

{ b-=a; a++;

} while(b--<0);

printf(”a=%d,b=%d \n”,a,b);

}

17、编程求1+2+3+4+5。

18、输入一个整数,按相反次序输出。例如,输入54321,输出12345。

19、编写程序,求一个最小正整数,该数与3的和是5的倍数,与3的差是6的倍数。

课前背诵!!

四、内容总结+落实反馈(10分钟)

根据刚才的学习,请同学们整理相关知识点(请自觉把课本收起来哦~)

课

后

反

思

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...