KAIHATSUGIKEN GROUP

C PROGRAMMING LANGUAGE




********************************************************************************
7 プログラムにおける処理の流れの制御
************
if
************
main()
{
int i;						   	/* intで整数型を宣言 */
i=1;
	if(i==0)
	{
		printf("0です\n");
	}
	if(i==1)
	{
		printf("1です\n");
	}
}
****
1です
****
main()
{
int i;
i=1;
	if(i==0)			    /* もしi=0なら一つ目の{ }内を実行 */
	{
		printf("0です\n");
	}
	if(i==1)
	{
		printf("1です\n");
	}
}
****
main()
{
int i;
i=1;
	if(i==0)
	{
		printf("0です\n");
	}
	if(i==1)			    /* もしi=1なら2つ目の{ }内を実行 */
	{
		printf("1です\n");
	}
}
****
main()
{
int i;
i=1;
	if(i==0)				 /* if(i==0)の後に;はつけない */
	{
		printf("0です\n");
	}
	if(i==1)
	{
		printf("1です\n");
	}
}
****
main()
{
int i;
i=1;
	if(i==0)				 /* i=0でないので実行されない */
	{
		printf("0です\n");
	}
	if(i==1)
	{
		printf("1です\n");
	}
}
****
main()
{
int i;
i=1;
	if(i==0)
	{
		printf("0です\n");
	}
	if(i==1)					/* i=1なので実行される */
	{
		printf("1です\n");
	}
}
****
main()
{
int i;
i=1;
	if(i==0)
	{
		printf("0です\n");
	}
	if(i==1)
	{
		printf("1です\n");		      /* 1です が表示される */
	}
}
************
if else
************
main()
{
int i;
i=1;
	if(i==0)
	{
	printf("i=0\n");
	}
	else
	{
	printf("i is no 0\n");
	}
}
****
i is not 0
****
main()
{
int i;						 	/* intで整数型を宣言 */
i=1;
	if(i==0)		/* if文が正しくないときelseの{ }が実行される */
	{
	printf("i=0\n");
	}
	else				       /* if文ではないときという意味 */
	{
	printf("i is no 0\n");
	}
}
****
main()
{
int i;
i=1;
	if(i==0)
	{
	printf("i=0\n");
	}
	else
	{
	printf("i is no 0\n");		    /* if文が正しくないので実行される */
	}
}
************
strcmp if
************
main()
{
static char a[]="ABC";
static char b[]="ABC";
	if(strcmp(a,b))
	{
	printf("different\n");
	}
	if(!strcmp(a,b))
	{
	printf("same\n");
	}
}
****
same
****
main()
{
static char a[]="ABC";
static char b[]="ABC";
	if(strcmp(a,b))            /* 文字列aと文字列bが等しくないときに実行 */
	{
	printf("different\n");
	}
	if(!strcmp(a,b))
	{
	printf("same\n");
	}
}
****
main()
{
static char a[]="ABC";
static char b[]="ABC";
	if(strcmp(a,b))
	{
	printf("different\n");
	}
	if(!strcmp(a,b))	/* 文字列aと文字列bが等しいときに実行 !に注意 */
	{
	printf("same\n");
	}
}
****
main()
{
static char a[]="ABC";
static char b[]="ABC";
	if(strcmp(a,b))
	{
	printf("different\n");
	}
	if(!strcmp(a,b))
	{
	printf("same\n");					/* 実行される */
	}
}
************
switch
************
main()
{
int i;
i=1;
	switch(i)
	{
	case 0;
		printf("i=0\n");
		break;
	case 1;
		printf("i=1\n");
		break;
	case 2;
		printf("i=2\n");
		break;
	}
}
****
i=1
****
main()
{
int i;							/* intで整数型を宣言 */
i=1;					   	    /* iの代入数字は1である */	 		
	switch(i) 		 /* ()内の変数の値によって実行場所が決定する */
	{
	case 0;
		printf("i=0\n");
		break;
	case 1;
		printf("i=1\n");
		break;
	case 2;
		printf("i=2\n");
		break;
	}
}
****
main()
{
int i;
i=1;
	switch(i)
	{
	case 0;						/* i=0の場合実行 */
		printf("i=0\n");
		break;
	case 1; 					/* i=1の場合実行 */
		printf("i=1\n");
		break;
	case 2; 					/* i=2の場合実行 */
		printf("i=2\n");
		break;
	}
}
****
main()
{
int i;
i=1;
	switch(i)
	{
	case 0;
		printf("i=0\n");
		break;
	case 1;
		printf("i=1\n");		   /* i=1なので実行される */
		break;
	case 2;
		printf("i=2\n");
		break;
	}
}
****
main()
{
int i;
i=1;
	switch(i)
	{
	case 0;
		printf("i=0\n");
		break;
	case 1;
		printf("i=1\n");
		break;			   /* breakにより{}内から脱出する */
	case 2;
		printf("i=2\n");
		break;
	}
}
************
for loop
************
main()
{
int i;
int a[3];
	for(i=0;i<3;i++)
	{
	a[i]=10*i;
	}
	printf("%d,%d,%d\n",a[0],a[1],a[2]);
}
****	
0,10,20
****
main()
{
int i;						     /* int型の変数を準備 */
int a[3];					   /* 3個のaの配列がある */
	for(i=0;i<3;i++)
	{
	a[i]=10*i;
	}
	printf("%d,%d,%d\n",a[0],a[1],a[2]);
}
****	
main()
{
int i;
int a[3];
	for(i=0;i<3;i++) 		 /* ()内の条件で{}内の処理を繰り返す */
	{
	a[i]=10*i;
	}
	printf("%d,%d,%d\n",a[0],a[1],a[2]);
}
****	
main()
{
int i;
int a[3];
	for(i=0;i<3;i++)				 /* 初期値を0に設定 */
	{
	a[i]=10*i;
	}
	printf("%d,%d,%d\n",a[0],a[1],a[2]);
}
****	
main()
{
int i;
int a[3];
	for(i=0;i<3;i++)			   /* i<3の場合まで繰り返し */
	{
	a[i]=10*i;
	}
	printf("%d,%d,%d\n",a[0],a[1],a[2]);
}
****	
main()
{
int i;
int a[3];
	for(i=0;i<3;i++)  		/* 繰り返しが終わる度に1つずつ増やす */	
	{
	a[i]=10*i;	
	}
	printf("%d,%d,%d\n",a[0],a[1],a[2]);
}
****	
main()
{
int i;
int a[3];
	for(i=0;i<3;i++)		 	  /* 初期値0から1,2と増える */
	{
	a[i]=10*i;						
	}
	printf("%d,%d,%d\n",a[0],a[1],a[2]);
}
****	
main()
{
int i;
int a[3];
	for(i=0;i<3;i++)			   	/* i=0,1,2の時に実行 */	
	{						   
	a[i]=10*i;
	}
	printf("%d,%d,%d\n",a[0],a[1],a[2]);
}
****	
main()
{
int i;
int a[3];
	for(i=0;i<3;i++)		 	/* i=3になったら{}内を抜ける */	
	{
	a[i]=10*i;	
	}
	printf("%d,%d,%d\n",a[0],a[1],a[2]);
}
****	
main()
{
int i;
int a[3];
	for(i=0;i<3;i++)	
	{
	a[i]=10*i;	
	}
	printf("%d,%d,%d\n",a[0],a[1],a[2]); 		     /* printfを実行 */
}
************	
for loop break
************
main()
{
int i;
int a;
a=0;
	for(i=0;i<10;i++)
	{
	a=a+1;
		if(a==5)
		break;
	}
	printf("%d\n",a);
}
****
5
****
main()
{
int i;							/* intで変数を宣言 */
int a;
a=0;						      /* 初期値をa=0に設定 */
	for(i=0;i<10;i++)		         /* "i"も初期値をi=0に設定 */
	{
	a=a+1;
		if(a==5)
		break;
	}
	printf("%d\n",a);
}
****
main()
{
int i;
int a;
a=0;
	for(i=0;i<10;i++)	      /* 処理が繰り返されるごとに1つずつ増加 */
	{
	a=a+1;		  
		if(a==5)
		break;
	}
	printf("%d\n",a);
}
****
main()
{
int i;
int a;
a=0;
	for(i=0;i<10;i++)	 	      /* "i"がi<10になるまで繰り返す */
	{
	a=a+1;
		if(a==5)	   /*"i"の条件中 a==5になったらforloopを脱出 */
		break;
	}
	printf("%d\n",a);
}
****
main()
{
int i;
int a;
a=0;
	for(i=0;i<10;i++)
	{
	a=a+1;
		if(a==5)
		break;
	}
	printf("%d\n",a);                 		/* a=5なので5を表示 */
}
************
for loop continue
************
main()
{
int i;							 
int a,b;
a=b=0;
	for(i=0;i<10;i++)
	{
	a=a+1;
		if(i>=5)
		continue;
	b=b+1;
	}
	printf("%d,%d\n",a,b);
}
****
10,5
****
main()
{
int i;						    /* intで変数は整数を宣言 */
int a,b;
a=b=0;
	for(i=0;i<10;i++)		          /* "i"は一つずつ加算される */
	{
	a=a+1;					  /* aとbの初期値はともに"0" */
		if(i>=5)
		continue;
	b=b+1;
	}
	printf("%d,%d\n",a,b);
}
****
main()
{
int i;
int a,b;
a=b=0;
	for(i=0;i<10;i++)	
	{
	a=a+1;
		if(i>=5)			/* 5以上からは下には行かない */
		continue;/* continueは処理を中断してforloopの最初に戻る */		    
	b=b+1;
	}
	printf("%d,%d\n",a,b);
}
****
main()
{
int i;
int a,b;
a=b=0;
	for(i=0;i<10;i++)
	{
	a=a+1;					     /* aは10回繰り返される */
		if(i>=5)
		continue;
	b=b+1;					       /* bは5回繰り返される */
	}
	printf("%d,%d\n",a,b);
}
************
while loop
************
main()
{
int i;
int a;
a=0;
i=0;
	while(i<10)
	{
	a=a+10;
	i=++;
	}
	printf("%d\n",a);
}
****
100
****
main()
{
int i;							/* int型変数を準備 */
int a;							/* int型変数を準備 */
a=0;
i=0;
	while(i<10)
	{
	a=a+10;
	i=++;
	}
	printf("%d\n",a);
}
****
main()
{
int i;
int a;
a=0;					          /* a,bともに初期値は "0" */
i=0;					     /* whileloopの前で初期値を設定 */
	while(i<10)
	{
	a=a+10;
	i=++;
	}
	printf("%d\n",a);
}
****
main()
{
int i;
int a;
a=0;
i=0;
	while(i<10)	      /* ()内の条件が成立する間は{}内の処理を繰り返す */
	{
	a=a+10;			        	/* 変化するaに10ずつ加算される */
	i=++;
	}
	printf("%d\n",a);
}
****
main()
{
int i;
int a;
a=0;
i=0;
	while(i<10)
	{
	a=a+10;      		    /* 10,20,30,40,50,60,70,80,90,100 となる */
	i=++;			   
	}
	printf("%d\n",a);
}
****
main()
{
int i;
int a;
a=0;
i=0;
	while(i<10)
	{
	a=a+10;	     
	i=++;
	}				   /* i=10の段階でwhileloopを脱出する */
	printf("%d\n",a);	             		 /* 脱出してprintfへ */
}