黑马程序员_C语言基础_循环结构使用区别,9*9口诀表

来源:互联网 发布:linux 将多个文件压缩 编辑:程序博客网 时间:2024/05/16 09:42

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------   

    程序的循环结构主要分为三种形式:while,do……while,for语句三种的使用各不相同,要想更好的掌握好他们各自的使用,需要找出他们使用技巧。

1.while循环

    格式:while(循环条件)

            {

                循环语句;

            }

      语义:先判断条件,当满足条件则进行下面的循环,若不符合则跳出循环。

      简单实例:计算从1+2+3+……+n的值。

int main(int argc,const char *argv[]){//定义变量int i = 0, s = 0;//用来接收计算的个数,到n结束int n;scanf("%d", &n);//循环计算从1到n的和while (i <= n){s = s + i;i++;}printf("%d", s);return 0;}
while循环需要注意的:

1.while(-1),while(1)都是死循环;

2.当一个变量与一个常量进行==或!=时,通常把常量写在前面,如int a=3;while(2==a){};

3.while后如果只有一条语句,可以省略大括号;

4.作用域紊乱:内部代码定义的变量在外部不可以访问。

2、do……while循环

    格式:do

               {

                 ……循环语句;

               }while(循环条件)

     语义:先进行循环,在判断条件。当条件满足循环条件时继续执行循环语句,若不满足,则不在执行。

     简单实例:计算从1+2+3+……+n的值。

int main(int argc,const char *argv[]){//定义变量int i = 0, s = 0;//用来接收计算的个数,到n结束int n;scanf("%d", &n);//循环计算从1到n的和do{s = s + i;i++;} while (i <= n);printf("%d", s);return 0;}

注意:while循环与do……while循环的不同之处:

1.当循环条件第一次为真时,执行次数是一样的;

2.当循环条件第一次为假时,while循环执行0次,do……while循环执行1次。

3、for循环

    格式:for(表达式1;表达式2;表达式3){

              循环语句;

              }

    for循环的三要素:控制条件,循环体,能够控制条件为假的操作。

    最常用的是for循环的嵌套,打印输出图形。

    打印正三角形,倒三角,正三角代码如下:

int main(int argc,const char *argv[]){//打印正三角for (int i = 0; i < 5; i++){for (int j = 0; j <=i; j++)//第x行打印x个{printf("*");}printf("\n");}//打印倒三角5行5列for (int i = 4; i >= 0; i--){for (int j = 0; j <=i; j++){printf("*");}printf("\n");}//打印倒三角5行5列for (int i = 0; i <= 4; i++){for (int j = 0; j <=4-i; j++)//第x行打印x个{printf("*");}printf("\n");}for (int i = 0; i <5; i++){for (int j = 0; j <5 - i; j++)//第x行打印x个{printf("*");}printf("\n");}//打印正三角5行5列//控制行数for (int i = 1; i <= 5; i++){for (int j = 0; j < 5 - i; j++)//控制空白{printf(" ");}//控制*for (int k = 0; k < 2 * i - 1; k++)//控制空白{printf("*");}printf("\n");//打印回车}return 0;}
总结:第一个for循环控制的是行数,第二个for循环控制的列数,用的是for循环嵌套。

还有经典的一个是打印9*9乘法口诀表,实现思想是一列一列的打印输出,因为每一列的第一个乘数都是相同的。

int main(int argc,const char *argv[]){//9 * 9乘法表//控制行数for (int i = 1; i <= 9; i++){//控制列数for (int j = 1; j <= i; j++){printf("%d*%d=%d   ", j, i, j*i);//先输出列}printf("\n");}return 0;}

总结:在进行循环的时候,还要结合break与continue使用。

break多用在switch语句,是跳出当前循环,结束当前循环,break之后的语句不在执行。

if(表达式)else{ ...... break;......}
1)break语句对if-else的条件语句不起作用;
2)在多层循环中,一个break语句只向外跳一层。

continue是结束本次循环,还可以继续下次的循环。continue语句只用在 for、while、do-while等循环体中,常与if条件语句一起使用,用来加速循环。

这两点的使用应该多多体会。


------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------   


0 0