循环结构、数组

循环结构与数组:

1.do while循环:

1.语法:do{语句}while(表达式);注意(while后面需要有分号)
2,语义:先执行语句,再判断表达式,表达式为真则继续执行语句,直到表达式为假,则跳出do while循环,继续执行后面的语句;
3.do while循环与while循环做对比:
while循环是先判断表达式再执行表达式,而do while循环是先执行语句再判断表达式,所以do while至少会执行一次。

2.for循环:

1.语法:for(表达式1(即初始条件);表达式2(即循环条件);表达式3(即使循环趋于结束的条件)) 无分号
{循环体语句}
语义:先求解表达式1,然后判断表达式2,真则执行循环体语句,然后继续判断循环条件,重复操作,直至表达式为2为假,跳出for 循环;继续执行后面的语句。
for循环的三个表达时都可以省略,但括号里的分号不能省略,对应的循环要素也不能省略。当省略表达式2时,表示循环条件永远为真,进入死循环。

while、do while循环求水仙花数:

#include <stdio.h>

int main()
{
	int i,hund,ten,one;
	i = 100;

#if 0
	while(i <= 999)
	{
		one = i % 10;
		ten = i/10%10;
		hund = i/100%10;
		if(i== hund*hund*hund + ten*ten*ten + one*one*one)
		{
			printf("i = %d\n",i);
		}
		i++;
	}
#endif
	
	do
	{
		one = i % 10;
		ten = i/10%10;
		hund = i/100%10;

		if(i== hund*hund*hund + ten*ten*ten + one*one*one)
		{
			printf("i = %d\n",i);
	    }
		i++;
	}while(i<=999);
		
	return 0;
}

for循环求水仙花数:

#include <stdio.h>

int main()
{
	int one,ten,hund;

	for(int i = 100;i <= 999;i++)
	{
		one = i % 10;
		ten = i / 10 %10;
		hund = i / 100 %10;

		if(i == hund*hund*hund + ten*ten*ten + one*one*one)
		{
			printf("i = %d\n",i);
		}
	}
	return 0;
}
数组:

数组:相同数据类型的集合,每个元素的地址都是连续的,并且下标(索引)是从0开始的,最大下标是数组的大小。
数组的定义:数据类型 数组名【size】={初始值};
普通变量:数据类型 变量名 =初始值;
数组特点:
连续性:数组空间是一片连续的内存空间。
有序性:数组中的元素挨个存放。
单一性:数组中的数据都是同一类型的。
int a[5];
a代表的值为数组所占空间的首地址,a代表整个数组类型(即数组的数据类型为int[]);
0~4是数组下标,表示的是相对于数组名的偏移量;
a[0]表示第一个相对自己的偏移量为0;
a[1]表示第一个相对自己的偏移量为1;
Int a[]={1,2,3,4,5,5,6,77,7} 不指定数组大小的初始化方式;
此时求数组大小:int len = sizeof(age)/sizeof(age[0]);每个元素是int 4byte,有10个元素;
全部初始化:a[5]={1,3,4,5,6};
部分初始化:a[5]={1,3,4};后面系统自动初始化为0;
Int a[5]={,3}; 初始化只能从左到右依次初始化,不能跳过某个元素。
Int a[5]={1,2,3,4,5,6} 数组的最大下标为最大数量减一。

  • 22
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值