C 語言 講義   1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  A  B  C

函數4 : if() 判斷

函數4.1 : if() 判斷

用法:

if(條件式) /* 條件式可以用 <、<=、==、>、>=
{
程式碼;
}

註:條件式中可以用 AND (&&) 和 OR (||) 和 NOT (!)

例:

  if(a>3)
  {
    程式碼;
    ...
  }

完整的例子1:

#include<stdio.h>

main()
{
  int a;
  a = 5;
  if(a>3)
  {
    printf(" %d is bigger than 3 \n",a);
  }
}

練習1 : 試寫一個程式,讓使用者由鍵盤輸入 一個數字,如果大於1000,電腦會印出"大於1000"

練習2 : 偶數(奇數)確認法,由使用者由鍵盤輸入數字,如果是偶數,電腦會印出"偶數"

函數4.2 : if() else 判斷

用法:

if(條件式)
{
  程式碼; /* 符合條件式時執行 */
}
else
{
  程式碼;/* 不符合條件式時執行 */
}

例:

  if(a>3 )
  {
    printf("> 3 \n");
    ...
  }
  else
  {
    printf("<= 3 \n");
    ...
  }

完整的例子2:

#include<stdio.h>

main()
{
  int a;
  a = 5;
  if(a>3)
  {
    printf(" %d is bigger than 3 \n",a);
  }
  else
  {
    printf(" %d is not bigger than 3 \n",a);
  }
}

練習3 : 試寫一個程式,讓使用者由鍵盤輸入 一個數字,如果大於1000,電腦會印出"大於1000",否則,電腦會印出"大於1000"

練習4 : 偶數(奇數)確認法,使用者由鍵盤輸入數字,如果是偶數,電腦會印出"偶數",否則,電腦會印出"奇數"

練習5 : 閏年確認,使用者由鍵盤輸入西元年,如果是閏年,電腦會印出"閏年",否則,電腦會印出"非閨年"

練習6 : 試寫一程式,求50到150之間,被11除餘2 的正整數 ?

函數4.3 : if(條件式) 中,條件式中可以用 AND (&&) 和 OR (||) 和 NOT (!)

完整的例子3 : 某數用78去除餘43,用 65去除餘4,試求某數

#include<stdio.h>

main()
{
  int i;
  for(i=1;i<=3000;i=i+1)
  {
    if(i%78==43 && (i%65)==4)
    {
      printf("%d\n",i);
    }
  }
}

練習7 : 試寫一程式,求50到1500之間,被11除餘2 的正整數而且被7除餘3 的正整數 ?

練習8 : 某位男家教決定教不教學生,有兩個原則,如果是女生,則一定教,如果是男生,則要看他願意付的家教費是多少,如果是大於300元,才願意教。請設計一程式,讓使用者由鍵盤輸入性別和金額,電腦會回答出,他收不收這個學生。

觀念 :{}中可以有{}

例:

  if(a>3)
  {
    程式碼;
    ...
    if(b>3)
    {
      程式碼;
      ...
    }
    程式碼;
    ...
  } /* 這種觀念叫巢狀 if */

函數4.4 : if() else if else判斷

用法:

if(條件式)
{
程式碼;
}
else if(條件式)
    {
    程式碼;
    }
    else
    {
    程式碼;
    }

註:條件式中可以用 AND (&&) 和 OR (||) 和 NOT (!)

例:

  if(a>3 && b > 3)
  {
    程式碼;
    ...
  }
  else if (a>3 || b > 3)
      {
        程式碼;
        ...
      }
      else
      {
        程式碼;
        ...
      }

完整的例子4:

#include<stdio.h>

main()
{
  int a,b;
  a = 5;
  b = 4;
  if(a>3 && b>3)
  {
    printf(" %d and %d are bigger than 3 \n",a,b);
  }
  else if(a>3 || b>3)
      {
        printf("One of %d and %d is bigger than 3 \n",a,b);
      }
      else
      {
        printf("Both %d and %d are not bigger than 3 \n",a,b);
      }
}

練習9 : 使用者輸入 1~13 的數字,電腦判斷<7、=7、>7

練習10 : 搭公車,6歲(含)以下免費,7歲以上且12歲(含)以下收12元,12歲以上收15元,輸入年齡,電腦回答要收多少元?

C 語言 講義   1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  A  B  C