C语言初级讲座之循环结构

循环结构是程序中一种很重要的结构。其特点是,在给定条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体。C语言提供了多种循环语句,可以组成各种不同形式的循环结构。

while语句

while语句的一般形式为:while(表达式)语句; 其中表达式是循环条件,语句为循环体。

while语句的语义是:计算表达式的值,当值为真(非0)时,执行循环体语句。其执行过程可用图3—4表示。统计从键盘输入一行字符的个数。

#include <stdio.h>
void main(){
int n=0;
printf("input a string:\n");
while(getchar()!='\n') n++;
printf("%d",n);
} int n=0;
printf("input a string:\n");
while(getchar()!='\n')
n++;
printf("%d",n);

本例程序中的循环条件为getchar()!='\n',其意义是,只要从键盘输入的字符不是回车就继续循环。循环体n++完成对输入字符个数计数。从而程序实现了对输入一行字符的字符个数计数。

使用while语句应注意以下几点:

1.while语句中的表达式一般是关系表达或逻辑表达式,只要表达式的值为真(非0)即可继续循环。

void main(){
    int a=0,n;
    printf("\n input n: ");
    scanf("%d",&n);
    while (n--)
    printf("%d ",a++*2);
} int a=0,n;
printf("\n input n: ");
scanf("%d",&n);
while (n--)
printf("%d ",a++*2);

本例程序将执行n次循环,每执行一次,n值减1。循环体输出表达式a++*2的值。该表达式等效于(a*2;a++)

2.循环体如包括有一个以上的语句,则必须用{}括起来,组成复合语句。

3.应注意循环条件的选择以避免死循环。

void main(){
    int a,n=0;
    while(a=5)
    printf("%d ",n++);
} int a,n=0;
while(a=5)
printf("%d ",n++);

本例中while语句的循环条件为赋值表达式a=5,因此该表达式的值永远为真,而循环体中又没有其它中止循环的手段,因此该循环将无休止地进行下去,形成死循环。4.允许while语句的循环体又是while语句,从而形成双重循环。

时间: 2025-01-01 01:56:34

C语言初级讲座之循环结构的相关文章

C语言初级讲座之分支结构

关系运算符和表达式 在程序中经常需要比较两个量的大小关系,以决定程序下一步的工作.比较两个量的运算符称为关系运算符.在C语言中有以下关系运算符: < 小于 <= 小于或等于 > 大于 >= 大于或等于 == 等于 != 不等于 关系运算符都是双目运算符,其结合性均为左结合.关系运算符的优先级低于算术运算符,高于赋值运算符.在六个关系运算符中,<,<=,>,>=的优先级相同,高于==和!=,==和!=的优先级相同. 关系表达式 关系表达式的一般形式为:表达式

C语言初级讲座之转移语句

程序中的语句通常总是按顺序方向,或按语句功能所定义的方向执行的.如果需要改变程序的正常流向,可以使用本小节介绍的转移语句.在C语言中提供了4种转移语句: goto,break, continue和return. 其中的return语句只能出现在被调函数中,用于返回主调函数,我们将在函数一章中具体介绍.本小节介绍前三种转移语句. 1.goto语句 goto语句也称为无条件转移语句,其一般格式如下: goto 语句标号: 其中语句标号是按标识符规定书写的符号,放在某一语句行的 前面,标号后加冒号(:

C语言初级讲座之基础语句

从程序流程的角度来看,程序可以分为三种基本结构, 即顺序结构.分支结构.循环结构.这三种基本结构可以组成所有的各种复杂程序.C语言提供了多种语句来实现这些程序结构.本文将介绍这些基本语句及其应用,使读者对C程序有一个初步的认识, 为以后的学习打下基础. C程序的语句 C程序的执行部分是由语句组成的.程序的功能也是由执行语句实现的. C语句可分为以下五类: 1.表达式语句 2.函数调用语句 3.控制语句 4.复合语句 5.空语句 1.表达式语句 表达式语句由表达式加上分号":"组成.其一

C语言初级讲座之运算符和表达式

运算符的种类.优先级和结合性 C语言中运算符和表达式数量之多,在高级语言中是少见的.正是丰富的运算符和表达式使C语言功能十分完善. 这也是C语言的主要特点之一. C语言的运算符不仅具有不同的优先级,而且还有一个特点,就是它的结合性.在表达式中,各运算量参与运算的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合性的制约,以便确定是自左向右进行运算还是自右向左进行运算. 这种结合性是其它高级语言的运算符所没有的,因此也增加了C语言的复杂性. 运算符的种类C语言的运算符可分为以下几类: 1.算

C语言 第五章 循环结构练习

一.计算15+16+17 -98+99的和 for实现 #include "stdio.h" void main() { //15+16+17 -98+99 int i,s=0; for(i=15;i<=99;i++) { s=s+i; } printf("%d \n",s); } 二.计算15+16+17 -98+99的和 while实现 /* Note:Your choice is C IDE */ #include "stdio.h"

C语言初级讲座之输入输出

数据输出语句 本小节介绍的是向标准输出设备显示器输出数据的语句.在C语言中,所有的数据输入/输出都是由库函数完成的. 因此都是函数语句.本小节先介绍printf函数和putchar函数.printf函数printf函数称为格式输出函数,其关键字最末一个字母f即为"格式"(format)之意.其功能是按用户指定的格式, 把指定的数据显示到显示器屏幕上.在前面的例题中我们已多次使用过这个函数. 一.printf函数调用的一般形式 printf函数是一个标准库函数,它的函数原型在头文件&qu

C语言中对于循环结构优化的一些入门级方法简介_C 语言

一.代码移动 将在循环里面多次计算,但是结果不会改变的计算,移到循环外面去. 例子: 优化前: void lower1(char *s){ int i; for(i=0;i<strlen(s);++i) if(s[i]>='A'&&s[i]<='Z') s[i]-=('A'-'a'); } 优化后: void lower2(char *s){ int i; int len=strlen(s); for(int i=0;i<len;++i) if(s[i]>='

易语言基础教程之循环程序结构_易语言

曾经听说过一句话:"计算机就擅长做的工作就是'循环'!".的确循环执行在语言中扮演着极为重要的角色,利用循环我们可以实现更复杂.重复性的工作.易语言对于循环程序结构提供四种形式,下面就一起来了解一下易语言中循环结构的具体使用方法. 方法/步骤 在此小编将以实例的方法与大家分享易语言中循环结构的具体使用方法:先创建一个Windows空白窗口,绘制如图所示的人机界面. 接下来为"计算"按钮添加"被单击"事件. 我们先利用"判断循环"

C语言循环结构与时间函数用法实例教程_C 语言

本文实例展示了C语言循环结构与时间函数用法,对于C语言的学习来说是非常不错的参考借鉴材料.分享给大家供大家参考之用.具体如下: 完整实例代码如下: /********************************************** ** <Beginning C 4th Edition> Notes codes ** Created by Goopand ** Compiler: gcc 4.7.0 *****************************************