C_EX <<
Previous Next >> 期末總結
ANSIC
1.
#include <stdio.h>
int main()
{
// Print Name
printf("Name : Alexandra Abramov\n");
// Print Date of Birth
printf("DOB : July 14, 1975\n");
// Print Mobile Number
printf("Mobile : 99-9999999999\n");
// Indicate successful execution
return(0);
}
- #include <stdio.h>:此行包含標準輸入輸出庫,其中包含從控制台讀取和寫入資料的函數。
- int main():這是程式的主函數,從這裡開始執行。它傳回一個整數值,通常為 0,表示執行成功。
- 在「main()」函數內部,有三個printf語句。“printf()”函數用於將格式化文字列印到控制台。每個 printf 語句列印一行包含特定資訊的文字:
- printf("姓名:亞歷珊卓·阿布拉莫夫\n"); 列印“Name : Alexandra Abramov”,後面跟著換行符,將遊標移到下一行。
- printf("出生日期:1975 年 7 月 14 日\n"); 印出“DOB : July 14, 1975”,後面跟著換行符。
- printf("手機: 99-9999999999\n"); 列印“Mobile : 99-9999999999”,後面跟著換行符。
- return(0);:這一行表示主函數結束,回傳0。
2.
#include <stdio.h>
int main(int argc, char** argv) {
// Check for C standard version
#if __STDC_VERSION__ >= 201710L
printf("We are using C18!\n");
#elif __STDC_VERSION__ >= 201112L
printf("We are using C11!\n");
#elif __STDC_VERSION__ >= 199901L
printf("We are using C99!\n");
#else
printf("We are using C89/C90!\n");
#endif
// Indicate successful execution
return 0;
}
- #include:這一行包含標準輸入輸出庫,這是使用「printf」所必需的。
- int main(int argc, char** argv):這是帶有命令列參數 argc 和 argv 的 main 函數。但是,在此程式碼中,未使用這些參數。
- 程式碼使用預處理器指令(#if、#elif、#else 和 #endif)根據編譯器偵測到的 C 標準版本有條件地編譯不同的列印語句:
- #if __STDC_VERSION__ >= 201710L 檢查 C 標準版本是否大於或等於 C18 (2017)。如果為真,則會列印「我們正在使用 C18!」。
- #elif __STDC_VERSION__ >= 201112L 檢查 C 標準版本是否大於或等於 C11 (2011)。如果為 true,則會列印「We are using C11!」。
- #elif __STDC_VERSION__ >= 199901L 檢查 C 標準版本是否大於或等於 C99 (1999)。如果為 true,則會列印「We are using C99!」。
- #else 是一個後備條件,如果上述條件均不滿足,則觸發該條件。它列印“我們正在使用 C89/C90!”。
- return 0;:這一行表示main函數結束,向作業系統回傳0,表示程式執行成功。
3.
#include <stdio.h>
int main()
{
// 印出一行井號
printf("######\n");
// 印出一個單獨的井號
printf("#\n");
// 印出一個單獨的井號
printf("#\n");
// 印出一行井號
printf("#####\n");
// 印出一個單獨的井號
printf("#\n");
// 印出一個單獨的井號
printf("#\n");
// 印出一個單獨的井號
printf("#\n");
return 0;
}
4.
#include <stdio.h>
int main() {
int radius; /* Variable to store the radius of the circle */
float area, perimeter; /* Variables to store the area and perimeter of the circle */
radius = 6; /* Assigning a value to the radius */
/* Calculating the perimeter of the circle */
perimeter = 2 * 3.14 * radius;
printf("Perimeter of the Circle = %f inches\n", perimeter);
/* Calculating the area of the circle */
area = 3.14 * radius * radius;
printf("Area of the Circle = %f square inches\n", area);
return(0);
}
在上面的練習中 -
- 程式包括標準輸入/輸出庫<stdio.h>。
- 它聲明了幾個變數:
- int radius:表示圓半徑。
- 浮動面積和浮動週長:將儲存計算出的圓的面積和周長。
- 在“main()”函數中:
- 它將值 6 分配給“radius”變量,表示圓的半徑。
- 然後程式計算圓的周長和麵積:
- 週長:它使用公式 2*3.14* 半徑來計算圓的周長,並將結果儲存在「週長」變數中。這裡,3.14 是數學常數 π (pi) 的近似值。
- 面積:使用公式 3.14*radius*radius (π * r^2) 計算面積,並將結果儲存於「area」變數中。
- 最後,程式使用“printf()”函數顯示計算值:
- 它會列印計算出的周長並顯示一條訊息:「圓的周長 = [週長] 英吋」。
- 它會列印計算出的面積並顯示一條訊息:“圓的面積 = [面積] 平方英吋。”
- 程式返回0表示執行成功。
5.
#include <stdio.h>
int main()
{
// 宣告並初始化字符變數
char char1 = 'X';
char char2 = 'M';
char char3 = 'L';
// 印出原始和反向字符
printf("The reverse of %c%c%c is %c%c%c\n",
char1, char2, char3,
char3, char2, char1);
return 0;
}
#include <stdio.h> - 此程式碼包含標準輸入/輸出庫 <stdio.h>。
- 在“main()”函數中,它聲明了三個字元變數:“char1”、“char2”和“char3”,並分別為它們賦值“X”、“M”和“L”。
- 它使用“printf()”函數來顯示格式化訊息。該訊息包含由 %c 指定的佔位符,它們代表字元。
- 在「printf()」函數內部,它提供了替代佔位符的值。在本例中,它提供了“char1”、“char2”和“char3”,後面跟著它們的相反順序:“char3”、“char2”和“char1”。
- 程式將會列印:“XML 的反向是 LMX”,因為它以相反的順序交換字元。
- 最後main函數傳回0表示程式執行成功。
6.
#include <stdio.h>
int main()
{
int a = 125, b = 12345; /* 宣告並初始化整數變數 */
long ax = 1234567890; /* 宣告並初始化長整數變數 */
short s = 4043; /* 宣告並初始化短整數變數 */
float x = 2.13459; /* 宣告並初始化浮點數變數 */
double dx = 1.1415927; /* 宣告並初始化雙精度浮點數變數 */
char c = 'W'; /* 宣告並初始化字符變數 */
unsigned long ux = 2541567890; /* 宣告並初始化無符號長整數變數 */
/* 各種算術運算和類型轉換 */
printf("a + c = %d\n", a + c);
printf("x + c = %f\n", x + c);
printf("dx + x = %f\n", dx + x);
printf("((int) dx) + ax = %ld\n", ((int) dx) + ax);
printf("a + x = %f\n", a + x);
printf("s + b = %d\n", s + b);
printf("ax + b = %ld\n", ax + b);
printf("s + c = %hd\n", s + c);
printf("ax + c = %ld\n", ax + c);
printf("ax + ux = %lu\n", ax + ux);
return 0;
}
7.
#include <stdio.h>
int main()
{
int days, years, weeks;
days = 1329; // Total number of days
// Converts days to years, weeks and days
years = days/365; // Calculate years
weeks = (days % 365)/7; // Calculate weeks
days = days - ((years*365) + (weeks*7)); // Calculate remaining days
// Print the results
printf("Years: %d\n", years);
printf("Weeks: %d\n", weeks);
printf("Days: %d \n", days);
return 0;
}
在上面的練習中 -
- 程式包括標準輸入/輸出庫<stdio.h>。
- 它聲明了三個整數變數:
- int days:此變數儲存要轉換的總天數。
- intyear:儲存計算出的年數。
- int week:儲存計算出的周數。
- 程式用 1329 初始化“days”變數。
- 然後它會轉換:
- 年=天/365:此除法計算給定天數中的年數。由於一年大約有 365 天,因此這種劃分給出了年數的估計。
- 週 = (天 % 365) / 7:計算出年份後,程式使用模運算子 % 來找出無法用完整年份表示的剩餘天數。然後將該餘數除以 7 來計算週數。
- 最後,減去年和周所佔的天數即可得到剩餘的天數。
- 程式使用 printf 語句來顯示計算值:
- 它會列印年數並顯示以下訊息:“年:[年]。”
- 它會列印週數並顯示以下訊息:“週:[週]。”
- 它會列印剩餘天數並顯示以下訊息:“天數:[天]。”
- 程式返回0表示執行成功。
8.
#include <stdio.h>
int main() {
int x, y;
int result1, result2; // 用于存储 scanf 的返回值
// 获取第一个整数
printf("Input the first integer: ");
result1 = scanf("%d", &x);
if (result1 != 1) {
printf("Error: Please enter an integer.\n");
return 1;
}
// 获取第二个整数
printf("Input the second integer: ");
result2 = scanf("%d", &y);
if (result2 != 1) {
printf("Error: Please enter an integer.\n");
return 1;
}
// 计算并输出它们的和
printf("Sum of the two integers = %d\n", x + y);
return 0;
}
9.
#include <stdio.h>
int main() {
int x, y;
int result_x, result_y; // 用於儲存 scanf 的返回值
// 獲取第一個整數
printf("輸入第一個整數:");
result_x = scanf("%d", &x);
if (result_x != 1) {
printf("錯誤:請輸入整數。\n");
return 1;
}
// 獲取第二個整數
printf("輸入第二個整數:");
result_y = scanf("%d", &y);
if (result_y != 1) {
printf("錯誤:請輸入整數。\n");
return 1;
}
// 計算並輸出它們的乘積
printf("這兩個整數的乘積 = %d\n", x * y);
return 0;
}
10.
#include <stdio.h>
int main() {
char id[10]; // 用於存儲員工ID的變數(最多10個字符)
int hour; // 用於存儲工作時數的變數
double value, salary; // 用於每小時薪資和總薪資的變數
// 提示使用者輸入員工ID
printf("輸入員工ID(最多10個字符):");
// 檢查scanf的返回值
if (scanf("%9s", id) != 1) {
fprintf(stderr, "錯誤:無法讀取員工ID。\n");
return 1; // 返回錯誤碼
}
// 提示使用者輸入工作時數
printf("\n輸入工作時數:");
// 檢查scanf的返回值
if (scanf("%d", &hour) != 1) {
fprintf(stderr, "錯誤:無法讀取工作時數。\n");
return 1; // 返回錯誤碼
}
// 提示使用者輸入每小時薪資
printf("\n每小時薪資:");
// 檢查scanf的返回值
if (scanf("%lf", &value) != 1) {
fprintf(stderr, "錯誤:無法讀取每小時薪資。\n");
return 1; // 返回錯誤碼
}
// 計算總薪資
salary = value * hour;
// 印出員工ID和薪資
printf("\n員工ID = %s\n薪資 = U$ %.2lf\n", id, salary);
return 0;
}
C_EX <<
Previous Next >> 期末總結