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元,輸入年齡,電腦回答要收多少元?