C言語if文の基本的な使い方


C言語if文の基本的な使い方
一、if...1.一般形式:if(式){文;}
式:a、0以外の値で真を表し、0で偽を表す.b,if(flag)はif(1=flag)cに相当し、浮動小数点数は0と比較できず、近似値でしか比較できない.例:1 e-6が1 x 10に等しい-6次方は0と見なして使用することができる.
2.単一ブランチ選択構造用;3.交差関係が含まれている場合は、並列if文を使用します.
例1:2つの整数の最大値を出力する
#include 
void main()
{
     int a,b;
     printf("       :");
     scanf("%d %d",&a,&b);
     if(a>b)
     {
     printf("max = %d
"
,a); } if(a<b) { printf("max = %d
"
,b); } }

二、if...else
  • 一般形式:if( ) { 1; } else { 2;}
  • デュアルブランチ制御のための条件文.
  • これ以外の関係に使用される場合.

  • 例2:2つの整数の最大値を出力する
    例2不正文字のチェックと処理について
    #include 
    void main()
    {
    	int a,b,max,data;
    	printf("Input a,b:");
    	data = scanf(" %d,%d",&a,&b);/*  scanf()    ;*/
    	if(data!=2)/*  scanf()                    */
        {
    		printf("      !");
    		fflush(stdin);/*             (fflush()           )*/
    	}
    	else
    	{
    		max = a>b?a:b;/*     (a>b      a  ,    b  )*/
    		printf("%d
    "
    ,max); } }

    三、if...else if...else if...else
  • 一般形式:if(式1){文1;}Else if(式2){文2;}...else if(式n){文n;}else{文n+1;}
  • マルチブランチの制御に使用される条件文.

  • 例3:判定文字
    #include 
    void main()
    {
    	char ch;
    	printf("       :");
    	ch = getchar();/*getchar、putchar          ;
    				     getchar()          = getchar();
    					 putchar()   putchar(  );
    					 putchar('
    ') ; putchar(' / '); / ; */
    if(ch<=31) { printf(" !
    "
    ); } else if(ch >= '0' && ch <= '9') { printf(" !
    "
    ); } else if(ch >= 'A' && ch <= 'Z') { printf(" !
    "
    ); } else if(ch >= 'a' && ch <= 'z') { printf(" !
    "
    ); } else { printf(" !
    "
    ); } }

    四、switch()case:...case:......default:...
  • 一般形式:switch(式){case定数1:文1 case定数2:文2...case定数n:文n default:文n+1}
  • 多重選択のための文.

  • switch文は複数のif-else文に相当する.(式)char型またはint型のみである.caseの後ろには少なくとも1つのスペースが必要で、定数の後ろにはコロン(式)が定数タイプと一致しています.caseの後にbreakに文を入れたことを覚えています.
    例4:簡単な加減乗除計算
    #include 
    void main()
    {
    	double a,b;
    	char ch;
    	printf("Input a(+ - * /)b:");
    	scanf("%f%c%f",&a,&ch,&b);
    	switch(ch)
    	{
    	case '+':
    		printf("%f%c%f=%.2f
    "
    ,a,ch,b,a+b); break; case '-': printf("%f%c%f=%.2f
    "
    ,a,ch,b,a-b); break; case '*': case 'X': case 'x': printf("%f%c%f=%.2f
    "
    ,a,ch,b,a*b);/* "x" "X" "*" ; break, */ break; case '/': printf("%f%c%f=%.2f
    "
    ,a,ch,b,a/b); break; default: printf(" !
    "
    ); } }