第六章 C控制语句:循环

目录

 

第六章 C控制语句:循环

while循环

不确定循环与计数循环

for循环

do while出口循环

嵌套循环

数组简介


第六章 C控制语句:循环

while循环

1.基本结构

while (expression)
    statement

2.循环体可以是空语句

跳过所有整数输入,直到输入一个非整数

while (scanf("%d", &num) == 1)
    ; /* 跳过整数输入 */

3.C中可以使用_Bool类型表示布尔型

不确定循环与计数循环

根据预先直到需要执行多少次循环可以分为计数循环和不确定循环

1.计数循环

  • 必须初始化计数器
  • 计数器与有效的值作比较
  • 每次循环时递增计数器

for循环

while计数循环常常需要在循环体外初始化计数器,这常常容易导致错误,因此更佳的方案是使用for循环

1.格式

for循环将初始化、测试和更新三个步骤组合到一起,格式如下:

for (n = 0; n < 10; n++)
    statement;

2.在for循环中使用逗号

逗号可以使得for循环更佳灵活

#include<stdio.h>

int main(void)
{
    const int FIRST_OZ = 46;
    const int NEXT_OZ = 20;
    int ounces, cost;

    printf("ounces cost \n");
    for(ounces = 1, cost = FIRST_OZ; ounces <= 16; ounces++, cost += NEXT_OZ)
    {
        printf("%5d   $%4.2f\n", ounces, cost / 100.0);
    }
    return 0;
}

输出结果:

ounces cost 
    1   $0.46
    2   $0.66
    3   $0.86
    4   $1.06
    5   $1.26
    6   $1.46
    7   $1.66
    8   $1.86
    9   $2.06
   10   $2.26
   11   $2.46
   12   $2.66
   13   $2.86
   14   $3.06
   15   $3.26
   16   $3.46

do while出口循环

whilefor循环都是入口条件循环,而do while循环是出口条件循环,即在循环的每次迭代之后检查测试条件,这会保证至少执行循环体中的内容一次。

do 
    statement
while (expression)

嵌套循环

1.用于按行和按列显示数据

#include<stdio.h>
#define ROWS 6
#define CHARS 10

int main(void)
{
    int row;
    char ch;

    for (row = 0; row < ROWS; row++) /* 输出ROWS行 */
    {
        for (ch = 'A'; ch < ('A' + CHARS); ch++)
        {
            printf("%c", ch); /* 每一行输出CHARS个字符 */
        }
        printf("\n");
    }
}

输出:

ABCDEFGHIJ
ABCDEFGHIJ
ABCDEFGHIJ
ABCDEFGHIJ
ABCDEFGHIJ
ABCDEFGHIJ

2.利用外层循环遍历控制内层循环

#include<stdio.h>

int main(void)
{
    const int ROWS = 6;
    const int CHARS = 6;
    int row;
    char ch;

    for (row = 0; row < ROWS; row++) /* 输出ROWS行 */
    {
        for (ch = ('A' + row); ch < ('A' + CHARS); ch++)
        {
            printf("%c", ch); /* 每一行输出CHARS个字符 */
        }
        printf("\n");
    }
}

输出:

ABCDEF
BCDEF
CDEF
DEF
EF
F

数组简介

数组是按顺序存储的一系列类型相同的值

1.数组声明

float debts[20];

上述声明表示debts是包含20个float类型元素的数组

2.数组赋值

debts[5] = 88.32

注意c语言并不会去检查数组的下表是否正确,如果越界的话会导致数据被放在已被其他数据占用的地方,会破坏程序结果甚至导致程序运行出错

3.字符数组与字符串

char类型的数组末尾如果包含一个包含字符串结尾的\0,则数组内容构成了一个字符串

image.png

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值