循环语句可以让一段语句反复执行多次。 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; }