第三章+C语言程序结构及控制语句
c语言程序设计课程教学大纲(计算机科学与技术)

甘肃民族师范学院计算机专业课程教学大纲C语言程序设计一、说明(一)课程性质必修课(二)教学目的本课程是为计算机类等本、专科学生开设的,以培养学生程序设计能力为目的的专业基础课,是学习其他专业课的基础,同时也是第一门高级语言程序设计课。
本课程的任务是结合一般数值计算向学生介绍计算机程序设计的基本知识,使学生掌握C语言的基本语法,掌握程序设计的基本思想、基本概念和基本方法和技巧,并能运用所学的知识和技能对一般问题进行分析和程序设计,编制出高效的C 语言应用程序;同时了解进行科学计算的一般思路,培养应用计算机解决和处理实际问题的思维方法与基本能力,为进一步学习和应用计算机打下基础。
(三)教学内容计算机程序语言发展史,结构化程序设计的三种基本结构,函数,数组,指针,文件。
(四)教学时数90学时,60理论,30上机(五)教学方式多媒体授课二、本文第一章C语言程序设计基础教学要点:C程序的基本结构。
上机环境,进行简单C程序的编写。
教学时数:4学时(理论3学时,上机1学时)教学内容:第一节概述程序设计语言的发展。
C程序的基本结构。
第二节开发环境上机环境,进行简单C程序的编写。
考核要求:1.掌握编写C语言程序的基本步骤。
2. 掌握上机调试过程。
第二章数据类型、运算符与表达式教学要点:数据类型。
表达式。
输入输出函数。
教学时数:12学时(理论8学时,上机4学时)教学内容:第一节数据类型整型、实型、字符型、枚举型、构造类型、指针。
第二节常量与变量第三节运算符与表达式算术运算符及表达式、关系运算符及表达式、逻辑运算符及表达式、逗号运算符及表达式、条件运算符及表达式、赋值运算符及表达式。
第四节标准输入/输出scanf()函数、printf()函数。
第五节数学函数数学库头文件<math.h>。
第六节随机数发生器函数rand()和srand()函数,对应的头文件“stdlib.h”。
考核要求:1.理解数据结构、常量、变量的概念;2.掌握各种运算符的优先级及结合方向;3.熟练掌握数据的输入、输出方法;4.了解其他数学函数及随机函数的使用方法。
C语言程序设计习题集(有答案)

高等教育自学考试C语言程序设计(二)课程代号(05772)同步练习题班级学号姓名二O 一六年三月目录第一章C语言概述第二章基本数据类型第三章控制结构第四章运算符和表达式第五章函数第六章数组第七章字符与字符串第八章变量类别与编译预处第九章指针第十章结构体、共用体和枚举类型第十一章文件第一章C语言概述一、单项选择题1.在计算机上可以直接运行的程序是()。
A.高级语言程序B.汇编语言程序C.机器语言程序D.C语言程序2. 一个C语言程序是由()A.若干函数组成B.若干过程组成C.若干主程序组成D.若干子程序组成3. C语言不具有的特点是()A.具有结构化的控制语句B.数据类型丰富C.语法限制不太严格,程序设计自由度大D.在可移植性上,C语言比其他语言差4. 以下叙述不正确的是()A.一个C语言程序可由一个或多个函数组成B.一个C语言程序必须包含一个主函数C.C语言程序的基本组成单位是函数D.在C语言程序中,注释说明只能位于一条语句的后面5. 以下叙述正确的是()A.C语言比其他语言高级B.C语言可以不用编译就能被计算机识别和执行C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D.C语言出现的最晚,所以具有其他语言的一切优点二、填空1. 计算机语言的发展经过了、和等阶段。
2. C语言既适合编写,也适合编写应用软件。
标准答案一、单项选择题CADDC二、填空1. 机器语言,汇编语言,高级语言2. 系统软件第二章基本数据类型一、单项选择题1.正确的C语言用户自定义标识符是()A.printB.floatC.when?D.random%22.属于C语言基本数据类型的是( )A.指针型B.无符号整型C.数组型D.结构型3.C语言的长整型数值在计算机中占用的字节个数是( )A.1B.2C.3D.44.C语言中,″\x3d″在内存中占用的字节数是( )A.1B.2C.4D.55.下列关于C语言的叙述错误的是( )A. 英文字母大小写不加以区分B. 不同类型的变量可以出现在同一个表达式中C. 在赋值表达式中赋值号两边的类型可以不同D. 某些运算符在不同的场合可以有不同的含义6.下列转义字符中错误的是( )A. ′\000′B. ′\14′C. ′\x111′D. ′\2′7.下列标识符中,不是C语言保留字的是( )A. charB. whileC. minD. default8.下列保留字中用于构成循环结构的是()A.ifB.whileC.switchD.default9. 数据-324在二进制文件和文本文件中所占的字节数分别是()A.2,2B.2,4C.4,2D.4,410. 请选出可以作为C语言用户标识符的一组标识符()A.void, define, WORD B.A3_B3, _123, abcC.FOR, -abc, Case D.2a, Do, Sizeof11.下列运算符优先级最高的是()A.关系运算符B.赋值运算符C.算术运算符D.逻辑运算符12. sizeof(float)是()A.一种函数调用B.一个不合法的表示形式C.一个整型表达式D.一个浮点表达式13. 下列叙述不正确的是()A.一个C语言程序可由一个或多个函数组成B.一个C语言程序必须包含一个main函数C.C语言程序的基本组成单位是函数D.在C语言程序中,注释说明只能位于一条语句的后面14. 编译C语言程序时,程序中的注释部分将()A.不参加编译,也不会出现在目标程序中B.参加编译,但不会出现在目标程序中C.不参加编译,但会出现在目标程序中D.参加编译,并会出现在目标程序中15. 下列字符串常量不正确的是()A.'abc' B."12'12" C."0" D." "16. 下列4个选项中,均是合法整型常量的是()A.160 -0xffff 011B.-0xcdf 01ª0xeC.-01 986,012 0668D.-0x48a 2e5 0x17. 以下选项中不属于C语言类型的是()A.signed short int B.unsigned long intC.unsigned int D.long short18. 数值029是一个()A.八进制数B.十六进制数C.十进制数D.非法数19. 在C语言中,要求运算数必须是整型的运算符是()A./ B.++ C.!=D.%20. 当c的值不为0时,以下能将c的值赋给变量a,b 的是()A.c=b=a B.(a=c) || (b=c)C.(a=c) && (b=c) D.a=c=b二、填空1. 表示空类型的保留字是_____________。
第3章 循环结构

第三章循环结构在程序设计中,如果需要重复执行某些操作,就要用到循环结构。
使用循环结构编程时,首先要明确2个问题,哪些操作需要重复执行?这些操作在什么情况下重复执行?它们分别对应循环体和循环条件,然后就可以选用C语言提供的3种循环语句:while、do-while 、for实现循环,这写循环语句我们在第一章“1、2 C语言程序设计语法”和第二章“2.6字符类型”中也都见过,而第二章2、4节的用if语句和goto 语句构成“直到型”也叫循环结构。
3.1 while 语句while是用来实现循环的语句,而且它的适用面很广。
其一般格式为:while (表达式)循环语句;其执行的流程如图3.1所示。
当表达式的值为“真”时,循环执行,直到表达式的值为“假”,循环终止并继续执行while的下一条语句。
while语句的用法:(1)while语句中的表达式可以是任意合法的表达式,循环体语句只能是一条语句。
(2)while语句的构成简单,只有一个表达式和一条循环体语句,分别对应循环的两个核心要素:循环条件和循环体,可以直接把循环问题的分析设计转换为语句实现。
(3)循环的实现一般包括4部分,即初始化、条件控图3.1 while语句的执行流程制、重复的操作以及通过改变循环变量的值最终改变条件的真假性,使循环能正常结束。
当使用while语句时,由于它只有2个成分(表达式和循环体语句),就需要另加初始化部分,第4部分while的循环体语句中必须包含能最终改变循环条件真假性的操作。
例3.1 从键盘输入一批学生的成绩,计算平均分。
这是一个累加求和的问题,将输入的成绩先累加,最后再除以学生的数量,算出平均分。
本题的难点在于确定循环条件,由于题目中没有给出学生的数量,不知道输入数据的个数,所以无法事先确定循环次数,这时需要自己设计循环条件,可以用一个特殊的数据作为正常输入数据的结束标志,由于成绩都是正数,就选用一个负数作为结束标志,因此,循环条件就是输入的数据grade>=0 。
计算机C

A
p1 不成立 b
A
成立
成立 b
p2
不成立
当型(while型)循环结构
直到型(Until型)循环
C程序设计语言
§3.2
赋值语句
C语言的赋值语句具有其他高级语言赋值语句的特点 和功能,但也有与其他语言不同的特点: 1.C语言中的赋值号”=”是一个运算符。
而其他语言中
赋值号”=”不是运算符
2.其他语言中无”赋值表达式”的概念 而在C语言中赋值表达可以包含在其它表达式中。 判断下列语句中的正误。 if ((a=b)>0) t=a;
C程序设计语言
格式符使用说明
(1)除X、E、G外,其余格式符必须用小写; (2)printf函数中的”格式控制”字符串中可包含转义字符; (3)在%与格式字符之间可插入附加格式字符(l,m,n,-等), 也称为修饰字符, 如:printf(”a=%4d\n”,a); (4)如需要输出%,采用两个%表示,如: printf(”%f%%”,1.0/3*100); (5)printf()自动对所输出的实数进行四舍五入运算处理。 (6)格式控制中格式符的顺序与后面参数表中的参数2,…, 参数n等要一一对应。不仅数目要相等,类型也要对应一致。 例如:若将输出实型数所对应的转换说明符写成%d,虽然 编译、连接都能通过,但显示的结果却是错误的,这在调 试程序时是较难查找的错误之一,应特别注意。
#include <stdio.h>
C程序设计语言
例3-1:字符数据的输入输出
运行时,从键盘输入: hot #include <stdio.h> void main() { int a,f; char b,c,d,e; a=66; b=’O’; c=’Y’; d=getchar(); e=getchar(); d-=32; e-=32; f-=32; putchar(a); putchar(b); putchar(’\n’); putchar(d); putchar(e); putchar(’\n’); } 结果: 输入:hot↙ BOY HOT f=getchar(); putchar(c); putchar(f);
C语言答案(删减版)

C语言答案()第一章C语言程序设计基础习题参考答案1-1 冯·诺依曼体系结构的基本原理:五大构成部分:输入、输出、CPU、控制器、存储器;程序存储、自动执行、逻辑判断功能;二进制的信息表示。
1-6 编辑、编译、链接、执行。
1-7 必须有一个主函数,它是程序执行的起点;一个C语言程序由函数构成;每一条可执行语句都必须由分号结束;函数的代码段必须由花括号对括住。
一个函数中的语句组由声明区和可执行语句区两部分构成。
1-8 三个一缩;每遇到一个结构时均缩格,每结束一个结构时回退;缩格格式必须对齐。
1-9 试给出以下问题的程序设计过程描述:1) 求两个数中之最大者。
#include<stdio.h>int main(void){float fA,fB;clrscr();printf("Please input two values(fA,fB)::"); /*输入要比较的两个数fA,fB*/scanf("%f,%f",&fA,&fB); /*格式化输入fA,fB*/if(fA>=fB) printf("the max is %f",fA);if(fA<fB) printf("the max is %f",fB);return 0;} /*main()函数结束*/2) 求三个数中之最大者。
#include<stdio.h>int main(void){float fA,fB,fC,fMax;printf("Please input three values(fA,fB,fC)::");/*fA,fB,fC是输入的3个数,fMax存放最大值*/scanf("%f,%f,%f",&fA,&fB,&fC);fMax=fA;/*假定fA最大*/if(fMax<fB) fMax=fB;if(fMax<fC) fMax=fC;printf("The max is %f\n",fMax);/*输出最大值*/return 0;} /*main()函数结束*/3) 求1+2+3+…+100,即。
C语言常见几种流程控制语句

C语言常见几种流程控制语句
1.顺序结构:程序按照代码的先后顺序依次执行,没有特殊的控制语句。
2.选择结构:根据条件的真假选择是否执行段代码,常见的选择结构有:
- if语句:根据条件判断是否执行段代码。
- switch语句:根据不同的取值执行不同的代码。
3.循环结构:根据条件的真假重复执行段代码
- for语句:根据循环条件重复执行段代码,一般用于已知循环次数的情况。
- while语句:根据循环条件重复执行段代码,一般用于不知道具体循环次数的情况。
- do-while语句:先执行一次代码,再根据循环条件重复执行段代码,一般用于至少需要执行一次的情况。
除了以上常见的流程控制语句,C语言还提供了一些其他的流程控制语句,如break语句用于结束当前循环,continue语句用于跳过本次循环的剩余代码等。
c程序设计教程谭浩强第三版
c程序设计教程谭浩强第三版C程序设计教程是谭浩强教授编写的一本广受欢迎的C语言学习教材。
第三版在前两版的基础上做了进一步的修订和完善,更加适合初学者和中级学习者使用。
本教程涵盖了C语言的基础知识、语法规则、程序设计技巧以及一些高级主题。
以下是对这本教程的详细内容概述。
第一章:C语言概述本章介绍了C语言的发展历程、特点和应用领域,让读者对C语言有一个整体的认识。
同时,也介绍了C语言程序的基本结构和编译、链接过程。
第二章:数据类型、运算符和表达式这一章详细讲述了C语言中的基本数据类型,包括整型、浮点型、字符型等,以及它们在内存中的存储方式。
此外,还介绍了各种运算符的用法和优先级,以及如何构建表达式。
第三章:控制语句控制语句是程序设计中非常重要的部分,本章讲解了条件语句(if、switch)、循环语句(for、while、do-while)以及跳转语句(break、continue、goto)的用法和应用场景。
第四章:数组数组是C语言中一种基本的数据结构,用于存储具有相同类型的多个数据项。
本章介绍了一维数组和二维数组的声明、初始化和访问方法。
第五章:指针指针是C语言的核心概念之一,本章深入讲解了指针的基本概念、指针与数组的关系、指针的运算以及指针在函数中的应用。
第六章:函数函数是程序模块化的基础,本章介绍了函数的定义、声明、调用以及参数传递机制。
同时,也讨论了递归函数和内联函数的概念。
第七章:预处理指令预处理指令是C语言编译过程中的指令,用于在编译前对源代码进行处理。
本章介绍了宏定义、文件包含、条件编译等预处理指令的用法。
第八章:结构体和联合体结构体和联合体是C语言中用于创建复杂数据类型的工具。
本章讲解了它们的声明、初始化以及在程序中的应用。
第九章:位运算位运算是直接对数据的二进制位进行操作的运算。
本章介绍了位运算符的用法和一些常见的位运算技巧。
第十章:文件操作文件操作是程序与外部数据交互的重要方式。
C语言程序设计说课教案
C语言程序设计说课教案第一章:C语言概述1.1 C语言的发展历史1.2 C语言的特点1.3 C语言的应用领域1.4 C语言的编译过程第二章:C语言基础语法2.1 数据类型2.2 变量和常量2.3 运算符和表达式2.4 输入输出函数第三章:控制语句3.1 顺序结构3.2 选择结构3.3 循环结构第四章:数组和字符串4.1 数组的定义和使用4.2 字符串的操作第五章:函数5.1 函数的定义和调用5.2 函数的返回值5.3 局部变量和全局变量5.4 递归函数第六章:指针6.1 指针的概念6.2 指针的声明和初始化6.3 指针的赋值和取值6.4 指针与数组6.5 指针与函数第七章:引用7.1 引用的概念7.2 引用的声明和使用7.3 引用与指针的区别第八章:结构体和联合体8.1 结构体的定义和使用8.2 联合体的定义和使用8.3 结构体和联合体的内存分配第九章:文件操作9.1 文件的概念9.2 文件的打开和关闭9.3 文件的读写操作9.4 文件的权限操作第十章:标准库函数10.1 标准输入输出函数10.2 字符串处理函数10.3 数学计算函数10.4 时间与日期函数第十一章:预处理指令11.1 宏定义11.2 文件包含11.3 条件编译11.4 其他预处理指令第十二章:动态内存分配12.1 动态内存分配的概念12.2 动态内存分配函数12.3 内存释放和内存泄漏12.4 动态内存分配的应用第十三章:排序算法13.1 冒泡排序13.2 选择排序13.3 插入排序13.4 快速排序13.5 归并排序13.6 堆排序第十四章:数据结构基础14.1 栈的实现和应用14.2 队列的实现和应用14.3 链表的实现和应用14.4 树和二叉树的实现和应用14.5 图的实现和应用第十五章:C语言编程实践15.1 项目管理与工具15.2 代码风格和文档15.3 调试技巧15.4 性能优化15.5 实际案例分析重点和难点解析1. C语言的基本语法和数据类型:理解并掌握基本语法规则、数据类型和变量声明是编写C程序的基础。
《C语言程序设计》教案(清华谭浩强)
《C语言程序设计》教案(清华谭浩强)第一章:C语言概述1.1 课程介绍介绍C语言的历史和发展解释C语言的特点和应用范围强调学习C语言的重要性和目的1.2 C语言的基本概念解释编程语言和编译器的概念介绍C语言的基本数据类型和变量讲解C语言的语法结构和程序结构1.3 C语言的编译过程解释编译器的角色和功能介绍编译过程中的预处理、编译、汇编和步骤强调编译过程中产生的文件和它们的作用第二章:基本数据类型和运算符2.1 基本数据类型介绍整型、浮点型、字符型和布尔型的概念和用法解释不同数据类型的存储方式和大小强调数据类型的选择和使用场景2.2 变量和常量解释变量的概念和作用介绍变量的声明和初始化方法讲解常量的概念和用法2.3 运算符介绍算术运算符、关系运算符和逻辑运算符的概念和用法解释赋值运算符和条件运算符的作用强调不同运算符的优先级和使用规则第三章:控制语句3.1 条件语句介绍if语句的语法和用法讲解switch语句的概念和用法强调条件语句的选择和嵌套使用3.2 循环语句介绍for循环、while循环和do-while循环的概念和用法解释循环控制语句如break和continue的作用强调循环条件的设置和循环次数的控制3.3 跳转语句介绍goto语句的概念和用法讲解label标签的作用和跳转规则强调跳转语句的使用场景和可能导致的问题第四章:函数和指针4.1 函数的基本概念介绍函数的定义和声明讲解函数的参数传递和返回值强调函数的命名规则和命名规范4.2 指针的概念和用法解释指针的概念和作用介绍指针的声明和初始化方法讲解指针的赋值和指针运算4.3 指针和数组介绍数组的概念和用法解释指针和数组的关系强调指针在数组操作中的应用第五章:结构体和文件操作5.1 结构体的概念和用法介绍结构体的定义和声明讲解结构体的成员访问和内存布局强调结构体在数据组织中的应用5.2 文件操作的基本概念解释文件的概念和文件操作的重要性介绍文件打开、读写、关闭等操作的方法强调文件操作中的错误处理和文件指针的管理第六章:动态内存分配6.1 动态内存分配的概念介绍动态内存分配的原因和必要性解释malloc、calloc和realloc函数的作用和用法强调动态内存分配的注意事项和错误处理6.2 链表的概念和用法介绍链表的定义和结构讲解链表的创建、插入、删除和遍历操作强调链表的优势和应用场景6.3 动态内存分配的应用实例通过实例演示动态内存分配在实际编程中的应用讲解内存泄漏和内存溢出的概念强调编写高效和安全的程序的重要性第七章:字符串处理7.1 字符串的基本概念介绍字符串的定义和表示方法解释字符串的长度和字符串的结束标志强调字符串与数组的区别和联系7.2 字符串的常用函数介绍字符串的输入输出函数如printf和scanf 讲解字符串的拷贝、连接、比较等操作函数强调字符串处理函数的使用和注意事项7.3 字符串处理的应用实例通过实例演示字符串处理在实际编程中的应用讲解字符串排序、查找和替换等操作强调字符串处理在文本分析和数据处理中的应用第八章:标准库函数8.1 标准输入输出库函数介绍标准输入输出库stdio.h中的常用函数讲解文件读写、数据转换等函数的用法和功能强调标准库函数的使用场景和注意事项8.2 字符串处理库函数介绍字符串处理库string.h中的常用函数讲解字符串比较、查找和替换等函数的用法和功能强调字符串处理库函数的使用和与其他库函数的配合8.3 数学计算库函数介绍数学计算库math.h中的常用函数讲解数学运算、三角函数和指数函数等函数的用法和功能强调数学计算库函数在数学计算和科学计算中的应用第九章:并发编程和同步机制9.1 并发编程的基本概念介绍并发编程的定义和目的解释进程和线程的概念和关系强调并发编程的优势和挑战9.2 并发编程的同步机制介绍互斥锁、条件变量和信号量等同步机制的原理和用法讲解同步机制在多线程编程中的应用和注意事项强调同步机制在避免竞态条件和数据一致性中的重要性9.3 并发编程的应用实例通过实例演示并发编程在实际应用中的优势和挑战讲解多线程的创建、同步和通信等操作强调并发编程在多任务处理和性能优化中的应用第十章:C语言编程实践10.1 编程实践的重要性强调编程实践在学习和掌握C语言中的重要性解释编程实践对于提高编程能力和解决问题的作用强调编程实践中的代码质量和编程规范10.2 编程实践的项目和案例介绍常见的编程实践项目和案例讲解实际编程中的问题解决方法和技巧强调编程实践中的调试和测试的重要性10.3 编程实践的资源和工具介绍编程实践中的常用工具和环境讲解集成开发环境(IDE)的使用和代码管理强调编程实践中的团队合作和代码分享的重要性重点和难点解析重点环节1:C语言的基本概念和特点需要重点关注C语言的历史和发展,以及其特点和应用范围。
《C语言程序设计》-何钦铭
《C语⾔程序设计》-何钦铭第⼀章引⾔1.2 程序与程序设计语⾔冯 · 诺依曼模型的存储程序概念:将程序与数据共同存储结构化的程序设计⽅法:将复杂程序划分为若⼲个相互独⽴的模块(⼀个模块可以是⼀条语句、⼀段程序或⼀个函数等)使完成每个模块的⼯作变得单纯⽽明确,在设计⼀个模块时不受其他模块的牵连。
同时,通过现有模块积⽊式的扩展就可以形成复杂的、更⼤的程序模块或程序1.3 C语⾔的发展历史与特点C语⾔的特点:(拥有底层操作能⼒)1.结构化语⾔2.易于移植3.简洁紧凑,使⽤⽅便灵活4.强⼤的处理能⼒5.⽣成的⽬标代码质量⾼,运⾏效率⾼第⼆章⽤C语⾔编写程序2.3 计算分段函数#include <stdio.h> //编译预处理指令程序运⾏时,⾸先从main函数开始运⾏%f指定输出时保留6位⼩数,%.2f则指定输出时保留2位⼩数循环体语句只能是⼀条语句(如果循环体语句由多条语句组成,必须⽤⼤括号把他们括起来,变成⼀条复合语句)整型数据的输出格式控制说明%md,指定了数据的输出宽度为m(包括符号位)。
若数据的实际位数(含符号位)⼩于m,左端补空格;若⼤于m,按实际位数输出实型数据的输出格式控制说明 %m.nf,指定了输出浮点型数据时保留n位⼩数,且输出宽度是m(包括符号位和⼩数点)。
若数据的实际位数(含符号位)⼩于m,左端补空格;若⼤于m,按实际位数输出f是针对浮点型数据⽽⾔,若输出数据为整型,则%m.nf应改为%md赋值运算符左边只能是⼀个变量第三章分⽀结构ch = getchar() //从键盘输⼊⼀个字符,并赋值给变量chputchar(输出参数); //输出参数是字符型变量或字符型常量第四章循环结构else和 if 的匹配准则:else与最靠近它的、没有与别的 else 匹配过的匹配do-while语句:循环条件需要在循环体中明确,且⾄少会执⾏⼀次循环体do {循环体语句} while (表达式);//判断⼀个数是否为素数#include <stdio.h>int main() {int i,m;printf("Enter a number:");scanf("%d", &m);for(i=2;i<=m/2;i++)if(m%i==0)break; //若m能被某个i整除,则m不是素数,提前结束循环if(i>m/2 && m!=1) //若循环正常结束,说明m不能被任何⼀个i整除printf("%d is a prime number! \n", m);elseprintf("No! \n");return 0;}break语句强制循环结束,不再执⾏循环体中位于其后的其他语句,break语句应该和if语句配合使⽤,即条件满⾜时,才执⾏break跳出循环;否则若break⽆条件执⾏,意味着永远不会执⾏循环体中break后⾯的其他语句continue语句:跳过循环体中continue后⾯的语句,继续下⼀次循环,continue语句⼀般也需要与if语句配合使⽤break语句和continue语句的区别在于,break结束循环,⽽continue跳过后⾯语句继续循环。