您的位置:首页 > 编程语言 > C语言/C++

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

2015-07-21 12:28 295 查看
------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培训、期待与您交流! -------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: