Code Maintenance & Programming Rules

 This guide outlines essential best practices spanning code style, architectural design, debugging, testing, performance, and portability—all aimed at reducing the long-term cognitive load of code maintenance. 🎨 1. Style Code is written for humans to read, and only incidentally for computers to execute. Variable Naming : Use descriptive names for global variables, and short names for local variables. Precision and Consistency : Use active names for functions (e.g., calculateTotal ). Above all, keep your coding style consistent throughout the project. Structure & Expressions : Use a consistent indentation and brace ( {} ) style to show program structure visually. Use the natural form for expressions. Use parentheses to make the semantics unambiguous. Break up overly complex expressions to keep them clear. Side Effects & Macros : Beware of functions with side effects. Avoid function-like macros; if unavoidable, parenthesize the macro body and arguments carefully. Magic Numbe...

C語言練習題:資料型別與變數(C language exercise: data type and variables)

練習一:變數的賦值
請分別賦值給三個變數x = 111, y = 222, z = 333; 然後輸出此三個變數的總和與乘積。
Exercise 1: Variable assignment
Assign values to the variables x = 111, y = 222, z = 333; Then, print the sum, the product of these three variables.

練習一參考解法:
Exercise 1 solution:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int x = 111, y = 222, z = 333;
    printf("%d + %d + %d = %ld\n", x, y, z, (x+y+z));
    printf("%d * %d * %d = %ld\n", x, y, z, (x*y*z));
    return 0;
}


練習二:ASCII 數值
設計一個程式可以輸出 'A'、'a'、'0'、'#' 的 ASCII的數值
Exercise 2: ASCII Values
Design a C program to to display the ASCII values of these symbols: 'A', 'a', '0', '#' 


練習二參考解法:
Exercise 2 solution:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#include <stdio.h>
#include <stdlib.h>

int main()
{
    printf("%c in ASCII: %d\n", 'A', 'A');
    printf("%c in ASCII: %d\n", 'a', 'a');
    printf("%c in ASCII: %d\n", '0', '0');
    printf("%c in ASCII: %d\n", '#', '#');

    return 0;
}

練習三:倍精準浮點數
使用4個倍精準浮點數變數a, b, c, avg,其中a, b, c 請任意指定數值,avg為 a, b, c 加總後的平均。
Exercise 3: Using four double variables: a, b, c, avg. Assign values to a, b, c as you want. Now assign the average of a, b and c to avg. Finally print the average value.

練習三參考解法:
Exercise 3 solution:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#include <stdio.h>
#include <stdlib.h>

int main()
{
    double a = 1.1111, b = 2.2222, c = 3.3333;
    double avg = (a+b+c)/3;

    printf("a = %lf, b = %lf, c = %lf\n", a, b, c);
    printf("(%lf + %lf + %lf)/3 = %lf\n", a, b, c, avg);

    return 0;
}

練習四:ASCII 字串
請使用 ASCII 數值來輸出 Learning C is fun.
Exercise 4: ASCII String
Show "Learning C is fun" by using ASCII values.

練習四參考解法:
Exercise 4 solution:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#include <stdio.h>
#include <stdlib.h>

int main()
{
    printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",
           76, 101, 97, 114, 110, 105, 110, 103, 32,
           67, 32,
           105, 115, 32,
           102, 117, 110);
    return 0;
}


練習五:精準度位數
馬克在物理、數學、程式設計、英文分別獲得 76.00, 65.25, 83.50, 92.75 的分數,請用C語言算出馬克這四門課的總分與平均,並輸出到小數點後兩位。
Exercise 5:  Precision
Mark got 76.00 on physics, 65.25 on mathematics, 83.50 on C programming design and 92.75 on English. Write a C program to calculate the total and the average of his score on 4 subjects. And print it up to 2 digit after the decimal point.


練習五參考解法:
Exercise 5 solution:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
#include <stdio.h>
#include <stdlib.h>

int main()
{
    float physic = 76.00, math = 65.25,
        clang = 83.50, eng = 92.75;

    float total = physic + math + clang + eng;
    float average = total / 4;

    printf("Physic:%.2f\tmath:%.2f\tc:%.2f\tEng:%.2f\n",
           physic, math, clang, eng);
    printf("Total:%.2f\taverage:%.2f\n", total, average);
    return 0;
}


練習六:遞增與遞減運算子
下面程式碼輸出結果是什麼?
Exercise 6: Increment and decrement operators
What is the output of the following program?
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i = 0, j = 0;
    j = i++ + ++i;
    printf("%d %d\n", i, j);

    j = i-- + --i;
    printf("%d %d\n", i, j);
    return 0;
}


練習六參考解法:
Exercise 6 solution:
請參考此篇文章的解釋 Difference between Increment and Decrement Operators
Read this post Difference between Increment and Decrement Operators for detailed explanation.


若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

If you like this post, please click the ads on the blog or buy me a coffee. Thank you very much.

留言

這個網誌中的熱門文章