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分钟)

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

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...