重點:理解程式執行路徑、函數呼叫、參數傳遞
練習:畫流程圖,區分傳值與傳址
#include <stdio.h>
int main() {
int score;
printf("請輸入成績:");
scanf("%d", &score);
if (score >= 60) {
printf("及格\n");
} else {
printf("不及格\n");
}
return 0;
}
#include <stdio.h>
int main() {
int number;
printf("請輸入一個整數:");
scanf("%d", &number);
if (number % 2 == 0) {
printf("偶數\n");
} else {
printf("奇數\n");
}
return 0;
}
#include <stdio.h>
int main() {
int age;
printf("請輸入年齡:");
scanf("%d", &age);
if (age < 18) {
printf("未成年\n");
} else if (age <= 65) {
printf("成年\n");
} else {
printf("高齡者\n");
}
return 0;
}
#include <stdio.h>
int main() {
float temp;
printf("請輸入溫度(°C):");
scanf("%f", &temp);
if (temp >= 37.5) {
printf("可能發燒\n");
} else {
printf("體溫正常\n");
}
return 0;
}
#include <stdio.h>
int main() {
int day;
printf("請輸入星期(1~7):");
scanf("%d", &day);
switch (day) {
case 1: printf("星期一\n"); break;
case 2: printf("星期二\n"); break;
case 3: printf("星期三\n"); break;
case 4: printf("星期四\n"); break;
case 5: printf("星期五\n"); break;
case 6: printf("星期六\n"); break;
case 7: printf("星期日\n"); break;
default: printf("輸入錯誤\n");
}
return 0;
}
#include <stdio.h>
int main() {
char grade;
printf("請輸入成績等級(A~F):");
scanf(" %c", &grade);
switch (grade) {
case 'A': printf("優秀\n"); break;
case 'B': printf("良好\n"); break;
case 'C': printf("普通\n"); break;
case 'D': printf("需加強\n"); break;
case 'F': printf("不及格\n"); break;
default: printf("未知等級\n");
}
return 0;
}
#include <stdio.h>
int main() {
int option;
printf("選擇功能(1:加法, 2:減法):");
scanf("%d", &option);
switch (option) {
case 1: printf("執行加法\n"); break;
case 2: printf("執行減法\n"); break;
default: printf("無此選項\n");
}
return 0;
}
#include <stdio.h>
int main() {
int month;
printf("請輸入月份(1~12):");
scanf("%d", &month);
switch (month) {
case 12:
case 1:
case 2: printf("冬季\n"); break;
case 3:
case 4:
case 5: printf("春季\n"); break;
case 6:
case 7:
case 8: printf("夏季\n"); break;
case 9:
case 10:
case 11: printf("秋季\n"); break;
default: printf("錯誤月份\n");
}
return 0;
}
#include <stdio.h>
int main() {
for (int i = 1; i <= 5; i++) {
printf("第 %d 次迴圈\n", i);
}
return 0;
}
#include <stdio.h>
int main() {
int sum = 0;
for (int i = 1; i <= 10; i++) {
sum += i;
}
printf("1 到 10 的總和是 %d\n", sum);
return 0;
}
#include <stdio.h>
int main() {
for (int i = 2; i <= 10; i += 2) {
printf("%d 是偶數\n", i);
}
return 0;
}
#include <stdio.h>
int main() {
for (int i = 1; i <= 5; i++) {
printf("★ ");
}
printf("\n");
return 0;
}
#include <stdio.h>
int main() {
int count = 1;
while (count <= 3) {
printf("執行第 %d 次\n", count);
count++;
}
return 0;
}
#include <stdio.h>
int main() {
int num;
printf("請輸入一個正整數:");
scanf("%d", &num);
while (num > 0) {
printf("目前數值:%d\n", num);
num--;
}
return 0;
}
#include <stdio.h>
int main() {
int i = 1;
int sum = 0;
while (i <= 5) {
sum += i;
i++;
}
printf("1 到 5 的總和是 %d\n", sum);
return 0;
}
#include <stdio.h>
int main() {
int password;
do {
printf("請輸入密碼(正確為 1234):");
scanf("%d", &password);
} while (password != 1234);
printf("密碼正確,登入成功!\n");
return 0;
}
#include <stdio.h>
void greet(int times) {
for (int i = 0; i < times; i++) {
printf("你好!\n");
}
}
int main() {
greet(3);
return 0;
}
#include <stdio.h>
int square(int x) {
return x * x;
}
int main() {
int num = 5;
int result = square(num);
printf("%d 的平方是 %d\n", num, result);
return 0;
}
#include <stdio.h>
float add(float a, float b) {
return a + b;
}
int main() {
float x = 2.5, y = 3.7;
float sum = add(x, y);
printf("總和為 %.2f\n", sum);
return 0;
}
#include <stdio.h>
void printStars(int count) {
for (int i = 0; i < count; i++) {
printf("★ ");
}
printf("\n");
}
int main() {
printStars(5);
return 0;
}
#include <stdio.h>
void doubleValue(int *x) {
*x = *x * 2;
}
int main() {
int num = 10;
doubleValue(&num);
printf("加倍後的值為 %d\n", num);
return 0;
}
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int x = 3, y = 7;
swap(&x, &y);
printf("交換後 x=%d, y=%d\n", x, y);
return 0;
}
#include <stdio.h>
void updateScore(int *score) {
*score += 10;
}
int main() {
int myScore = 80;
updateScore(&myScore);
printf("更新後分數為 %d\n", myScore);
return 0;
}
#include <stdio.h>
void setZero(int *x) {
*x = 0;
}
int main() {
int value = 99;
setZero(&value);
printf("重設後的值為 %d\n", value);
return 0;
}
#include <stdio.h>
int factorial(int n) {
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
int main() {
int num;
printf("請輸入整數:");
scanf("%d", &num);
printf("%d 的階乘是 %d\n", num, factorial(num));
return 0;
}
#include <stdio.h>
int isEven(int x) {
return x % 2 == 0;
}
int main() {
int num;
printf("請輸入整數:");
scanf("%d", &num);
if (isEven(num)) {
printf("是偶數\n");
} else {
printf("是奇數\n");
}
return 0;
}
#include <stdio.h>
void printTable(int n) {
for (int i = 1; i <= 10; i++) {
printf("%d x %d = %d\n", n, i, n * i);
}
}
int main() {
int num;
printf("請輸入乘法表的數字:");
scanf("%d", &num);
printTable(num);
return 0;
}
#include <stdio.h>
void classify(int score) {
if (score >= 90) {
printf("優等\n");
} else if (score >= 75) {
printf("良好\n");
} else if (score >= 60) {
printf("普通\n");
} else {
printf("不及格\n");
}
}
int main() {
int s;
printf("請輸入分數:");
scanf("%d", &s);
classify(s);
return 0;
}