C语言基础四

循环语句可以让一段语句反复执行多次。
for语句是一种循环语句,使用方法如下
int xun_huan = 0;
for (xun_huan = 0; xun_huan < 次数; xun_huan++) {
    反复执行的语句
}
上面的语句可以让大括号内部的代码执行指定的次数

有如下一段for语句
for (1;2;3) {
    4
}
其中编号代表各自位置上的语句
实际执行中顺序如下
[1, 2] [4, 3, 2] [4, 3, 2] .....
正常情况下for语句当某一组执行完成后结束
如果第一组完成后结束则大括号内部的语句没有执行
编号为2的语句直接决定下一组是否要开始,当for语句正常结束后编号为2的逻辑表达式计算结果是假。

for语句还可以用来完成一组数字的列举工作

循环中可以使用continue;语句把某次大括号内部还没有执行的语句跳过。
循环中可以使用break;语句把后面的所有工作都跳过,这条语句可以用非正常的方式解决for循环。

while语句也可以用来编写循环,这种语句适合处理事先无法计算重复次数的循环。

do...while语句也可以用来编写循环,这种循环可以保证大括号内部的语句至少会被执行一次

goto语句也是一个流程控制语句,可以从程序中的任何地方跳转到另外的任何地方

scanf采用输入缓冲区从键盘读数据
键盘-->键盘缓冲区-->输入缓冲区-->程序

printf采用输出缓冲区显示内容
程序-->输出缓冲区-->显示器屏幕
1.输出缓冲区中有\n
2.函数结束后
3.输出缓冲区满
4.使用语句fflush(stdout)

多个同类型变量可以合并成一个数组,声明方法如下
int shu_zu[2];
其中2表示数组中变量个数,int表示数组中变量的类型

使用下标区分数组中不同变量,下标从0开始到个数减一为止,超过这个范围的下标不能使用。



/*
    for练习
*/
#include <stdio.h>
int main() {
    int xun_huan = 0;
    /*printf("你好\n");
    printf("你好\n");
    printf("你好\n");*/
    for (xun_huan = 0;xun_huan < 3;xun_huan++) {
        printf("你好\n");
    }
    return 0;
}


/*
    for练习
*/
#include <stdio.h>
int main() {
    int xun_huan = 0;
    //for (xun_huan = 4;xun_huan <= 8;xun_huan++) {
    for (xun_huan = 8;xun_huan >= 4;xun_huan--) {
        printf("%d\n", xun_huan);
    }
    return 0;
}


/*
    for练习
*/
#include <stdio.h>
int main() {
    int xun_huan = 0;
    for (xun_huan = 1;xun_huan <= 9;xun_huan++) {
        if (3 == xun_huan) {
            continue;
        }
        printf("%d X %d = %d\n", xun_huan, xun_huan, xun_huan * xun_huan);
        if (6 == xun_huan) {
            break;
        }
    }
    return 0;
}


/*
    循环嵌套练习
*/
#include <stdio.h>
int main() {
    int xun_huan = 0, xun_huan1 = 0;
    for (xun_huan = 1;xun_huan <= 9 ;xun_huan++) {
        for (xun_huan1 = 1;xun_huan1 <= xun_huan;xun_huan1++) {
            printf("%dX%d=%d ", xun_huan, xun_huan1, xun_huan * xun_huan1);
        }
        printf("\n");
    }
    return 0;
}


/*
   for练习
*/
#include <stdio.h>
int main() {
    int xun_huan = 0, xun_huan1 = 0;
    /*for (xun_huan = 0;xun_huan < 3;xun_huan++) 
        printf("你好\n");*/
    /*for (xun_huan = 0, xun_huan1 = 10;xun_huan < xun_huan1; xun_huan++, xun_huan1--) {
        printf("%d %d\n", xun_huan, xun_huan1);
    }*/
    //c99规范支持临时定义循环变量
    /*for (int xun_huan2 = 0;xun_huan2 < 3;xun_huan2++) {
        printf("你好\n");
    }*/
    /*for (;;) {    //死循环
        printf("你好\n");
    }*/
    for (xun_huan = 0; xun_huan < 3; xun_huan++); //空语句
    return 0;
}


/*
    while练习
*/
#include <stdio.h>
int main() {
    int shu_zi, shu_zi1 = 0;
    shu_zi %= 10;
    if (shu_zi < 0) {
        shu_zi = 0 - shu_zi;
    }
    shu_zi = 0;
    /*while (shu_zi != shu_zi1) {
        printf("请猜一个数字:");
        scanf("%d", &shu_zi1);
    }*/
    do {
        printf("请猜一个数字:");
        scanf("%d", &shu_zi1);
    } while (shu_zi != shu_zi1);
    return 0;
}
 
/*
    while练习
*/
#include <stdio.h>
int main() {
    int shu_zi = 0;
    printf("请输入一个数字:");
    scanf("%d", &shu_zi);
    while (shu_zi <= 200) {
        shu_zi *= shu_zi;
    }
    printf("结果是%d\n", shu_zi);
    return 0;
}


/*
    输入输出缓冲区练习
*/
#include <stdio.h>
int main() {
    int shu_zi = 0, shu_zi1 = 0, jie_guo = 0;
    printf("请输入一个数字:");
    jie_guo = scanf("%d", &shu_zi);
    while(0 == jie_guo) {
        scanf("%*[^\n]");
        scanf("%*c");
        printf("请再次输入一个数字:");
        jie_guo = scanf("%d", &shu_zi);
    }
    scanf("%*[^\n]");
    scanf("%*c");
    printf("请输入一个数字:");
    scanf("%d", &shu_zi1);
    printf("%d %d\n", shu_zi, shu_zi1);
    return 0;
}


/*
   数组练习
*/
#include <stdio.h>
int main() {
    //int shu_zi = 0, shu_zi1 = 0;
    int shu_zu[2], xun_huan = 0;
    for (xun_huan = 0;xun_huan <= 1;xun_huan++) {
        printf("请输入一个数字:");
        scanf("%d", &shu_zu[xun_huan]);
    }
    for (xun_huan = 0;xun_huan <= 1;xun_huan++) {
        printf("%d ", shu_zu[xun_huan]);
    }
    printf("\n");
    return 0;
}



/*
    数组练习
*/
#include <stdio.h>
int main() {
    int shu_zu[8];
    printf("shu_zu是%p,&shu_zu[0]是%p\n", shu_zu, &shu_zu[0]);
    //shu_zu = 0;    错误,数组名称不可以被赋值
    printf("shu_zu + 3是%p,&shu_zu[3]是%p\n", shu_zu + 3, &shu_zu[3]);
    *(shu_zu + 3) = 12;  //把12赋值给下标为3的变量
    printf("shu_zu[3]是%d\n", shu_zu[3]);
    printf("sizeof(shu_zu)是%d\n", sizeof(shu_zu));
    printf("数组中变量个数是%d\n", sizeof(shu_zu) / sizeof(shu_zu[0]));
    return 0;
}









你可能感兴趣的:(c)