青训营笔记

63 阅读2分钟

这是我参与【第五届青训营】伴学笔记创作活动的第九天。

循环结构之for循环(二)

在for循环中:

  • 表达式1是一个或多个赋值语句,它用来控制变量的初始值;
  • 表达式2是一个关系表达式,它决定什么时候退出循环;
  • 表达式3是循环变量的进步值,定义控制循环变量每循环一次后按什么方式变换。
  • 这三部分之间用;分开。 使用for语句应该注意:
  1. for循环中的“表达式1,2,3”均可不写为空,但是两个分号(;;)不能省略。
  2. 省略“表达式1(循环变量赋初值)”,表示不对循环变量赋初始值。
  3. 省略“表达式2(循环条件)”,不做其他处理,循环一直执行(死循环)。
  4. 省略“表达式3(循环变量增减量)”,不做其他处理,循环一直执行(死循环)。
  5. 表达式1可以是设置循环变量的初值的赋值表达式,也可以是其他表达式。
  6. 表达式1和表达式3可以是一个简单表达式也可以式多个表达式以逗号。
#include <stdio.h> 
int main(){
int sum,num;
//循环变量初始表达式可以换成其他表达式
for(sum=0,num=0;num<=3;num++,sum++)
{
	sum+=num;
	printf("num=%d,sum=%d\n",num,sum);
 } 
 return 0;
}

7.表达式2一般是关系表达式或逻辑表达式,但也可以是数值表达式或字符表达式,只要其值非零,就执行循环体。
8.各表达式中是变量一定要在for循环之前定义。

怎么获得一个数的百位,十位和个位

  • 百位数:num/100可以获得,因为int是整数型,小数部分会省略。比如765/100的结果是7。
  • 十位数:num%100/10。比如765%100先得到65,65/10得到6。
  • 个位数:num%10。765%10得到5.

循环结构之三种循环比较

while,do-while,和for三种循环在具体的使用场合上是有区别的,如下:

1.在知道循环次数的情况下更适合使用for循环;
2.在不知道循环次数的情况下适合使用while或者do-while循环;

  • 如果有可能一次都不循环应该考虑while循环。

  • 如果至少循环一次应该考虑使用do-while循环。

但是从本质上讲,while,do-while,for循环之间是可以互相转换的。

循环结构之多重循环

多重循环就是在循环结构的循环体中又出现循环结构。 在实际开发中一般最多用到三层重循环。

因为循环层数越多,运行时间越长,程序越复杂,所以一般用2-3层多重循环就可以了。另外不同循环之间也是可以嵌套的。

image.png

#include <stdio.h>
int main(){
	int i,j,k;
	for(i=0;i<5;i++){
		for(j=0;j<4-i;j++){
			printf(" ");
		}
		for(k=0;k<2*i+1;k++){
			printf("*");
		}
		printf("\n");
	}

return 0;
}