0. 題目:
輸出 "Hello, World!"
1. 分析:
使用 printf() 輸出 "Hello, World!"。
2. 程序:ide
#include <stdio.h> int main() { printf("Hello, World!"); // printf() 中字符串的先後須要使用雙引號 return 0; }
3. 輸入輸出:函數
Hello, World!code
4. 擴展知識:
printf() 是頭文件 stdio.h 中定義的函數,調用格式爲:教程
printf("<格式化字符串>", <參量表>);內存
0. 題目:
輸出整數
1. 分析:
使用 printf() 與 %d 格式化輸出整數。
2. 程序:ci
#include <stdio.h> int main() { int intNum; // 聲明 int 變量 printf("輸入一個整數: "); // printf() 輸出字符串 scanf("%d", &intNum); // scanf() 格式化輸入,"%d"表示整數格式 printf("輸入的整數是: %d", intNum); // printf() 顯示格式化輸入 return 0; }
3. 輸入輸出:rem
輸入一個整數: 255
輸入的整數是: 255字符串
4. 擴展知識:
scanf() 是頭文件 stdio.h 中定義的函數,從標準輸入 stdin 讀取格式化輸入。io
0. 題目:
輸出單個字符
1. 分析:
使用 printf() 與 %c 格式化輸出一個字符。
2. 程序:變量
#include <stdio.h> int main() { char oneChar; // 聲明 char 變量 oneChar = 'C'; // 向變量賦值 printf("oneChar 的值爲 %c", oneChar); // printf() 格式化輸出 return 0; }
3. 輸入輸出:
oneChar 的值爲 C
4. 擴展知識:
基本數據類型
int:整型
short:短整型
long:長整型
float:浮點型(單精度)
double:浮點型(雙精度)
char:字符型
void:無類型
0. 題目:
輸出浮點數
1. 分析:
使用 printf() 與 %f 輸出浮點數。
2. 程序:
#include <stdio.h> int main() { float fVar1,fVar2; // 聲明浮點數變量 fVar1 = 12.00123; // 向變量賦值 printf("fVar1 的值爲 %f\n", fVar1); // printf() 格式化輸出 fVar2 = 123.001234; // 向變量賦值 printf("fVar2 的值爲 %f\n", fVar2); // printf() 格式化輸出 return 0; }
3. 輸入輸出:
fVar1 的值爲 12.00123
fVar2 的值爲 123.001236
【注意!】 fVar1 的值與賦值徹底相同,但 fVar2 的的值與賦值不徹底相同。這是由於 float 爲單精度浮點數,內存中佔 4個字節,有效數位是 7位。若是有效數字位數超過 7位,超出的部分會自動四捨五入。
0. 題目:
輸出雙精度數
1. 分析:
使用 printf() 與 %e 輸出雙精度數。
2. 程序:
#include <stdio.h> { double dVar1,dVar2; // 聲明浮點數變量 dVar1 = 12.00123; // 向變量賦值 printf("dVar1 的值爲 %Lf\n", dVar1); // 格式化輸出:長實數 printf("dVar1 的值爲 %Le\n", dVar1); // 格式化輸出:科學計數法 dVar2 = 123.001234; // 向變量賦值 printf("dVar2 的值爲 %Lf\n", dVar2); // 格式化輸出:長實數 printf("dVar2 的值爲 %Le\n", dVar2); // 格式化輸出:科學計數法 return 0; }
3. 輸入輸出:
dVar1 的值爲 12.001230
dVar1 的值爲 1.200123e+001
dVar2 的值爲 123.001234
dVar2 的值爲 1.230012e+002
【注意!】 double 爲雙精度浮點數,內存中佔 8個字節,有效數位是 16位。dVar2 按科學計數法格式(Le)輸出時雖然與賦值不徹底相同,這只是格式化輸出時的有效數字位數限制所致,但在實際存儲和計算時都是與賦值徹底相同的,所以在按長實數格式(Lf)輸出時與賦值徹底相同。
0. 題目:
題目兩個數字相加
1. 分析:
分析使用 scanf() 來接收輸入, printf() 與 %d 格式化輸出整數。
2. 程序:
#include <stdio.h> int main() { int firstNum, secondNum, sumNum; printf("輸入兩個整數(以空格分隔): "); // scanf() 格式化輸入,接收用戶輸入的兩個整數 scanf("%d %d", &firstNum, &secondNum); // 兩個整數相加 sumNum = firstNum + secondNum; // 輸出結果 printf("%d + %d = %d", firstNum, secondNum, sumNum); return 0; }
3. 輸入輸出:
輸入兩個數(以空格分割): -1 99
-1 + 99 = 98
【注意!】 因爲scanf()函數中定義的輸入格式爲"%d %d"(兩個%d之間有一個空格),在輸入時就必須嚴格按照定義的格式,在輸入的兩個整數之間加一個空格,不然可能出錯。相似地,若是定義輸入格式爲"%d,%d",就必須在在輸入的兩個整數之間加一個逗號。
0. 題目:
兩個浮點數相乘
1. 分析:
輸入兩個浮點數,計算乘積。
2. 程序:
#include <stdio.h> int main() { double firstNum, secondNum, productNum; printf("輸入兩個浮點數(以空格分隔): "); scanf("%lf %lf", &firstNum, &secondNum); productNum = firstNum * secondNum; // 兩個浮點數相乘 printf("%.2lf * %.2lf = %.2lf\n", firstNum,secondNum,productNum); printf("%lf * %lf = %lf\n", firstNum,secondNum,productNum); return 0; }
3. 輸入輸出:
輸入兩個浮點數(以空格分割): 1.2345 66
1.23 * 66.00 = 81.48
1.234500 * 66.000000 = 81.477000
【注意!】(1)變量 secondNum 定義爲浮點數,雖然輸入爲整數也是按浮點數存儲的。(2)%.2lf 表示輸出格式爲保留2位有效數字,但並不影響存儲的數據的精度。
0. 題目:
字符轉 ASCII 碼
1. 分析:
ASCII 定義了 128 個字符:
(1)0-3一、127(刪除鍵)是控制字符
(2)空白字符:空格(32)、 製表符、 垂直製表符、 換行、 回車。
(3)可顯示字符:a-z、A-Z、0-九、~、!、@、、%、^、&、#、$、*、(、)、-、+、{、}、[、]、'、"、<、>、,、?、/、|、\、_、:、;、.,還有頓號、。
2. 程序:
#include <stdio.h> int main() { char oneChar; // 聲明 char 變量 printf("輸入一個字符: "); scanf("%c", &oneChar); // 讀取用戶輸入 printf("%c 的 ASCII 爲 %d", oneChar, oneChar); // %c 字符格式 return 0; }
3. 輸入輸出:
輸入一個字符: A
A 的 ASCII 爲 65
0. 題目:
兩數相除
1. 分析:
兩數相除,若是有餘數,輸出餘數
2. 程序:
#include <stdio.h> int main() { int dividend, divisor, quotient, remainder; printf("輸入被除數、除數(以空格分隔): "); // scanf() 格式化輸入,接收用戶輸入的兩個整數 scanf("%d %d", ÷nd, &divisor); // 輸入被除數、除數 quotient = dividend / divisor; // 除法,分子除分母的整數部分 remainder = dividend % divisor; // % 爲模運算,整除後的餘數 printf("商 = %d, 餘數 = %d", quotient,remainder); return 0; }
3. 輸入輸出:
輸入被除數、除數(以空格分隔): 50 10 輸出:商 = 5, 餘數 = 0
輸入被除數、除數(以空格分隔): 51 10 輸出:商 = 5, 餘數 = 1
輸入被除數、除數(以空格分隔): 55 10 輸出:商 = 5, 餘數 = 5
輸入被除數、除數(以空格分隔): 58 10 輸出:商 = 5, 餘數 = 8
【注意!】除法「/」得出的商是被除數與除數相除的整數部分,不作四捨五入處理。
0. 題目:
數值比較
1. 分析:
定義了兩個整數變量,使用 if 來比較兩個數值
2. 程序:
#include <stdio.h> int main() { int firstNum, secondNum; printf("輸入兩個整數(以空格分隔): "); scanf("%d %d", &firstNum, &secondNum); if(firstNum > secondNum) printf("%d 大於 %d", firstNum,secondNum); else if(firstNum < secondNum) printf("%d 小於 %d", firstNum,secondNum); else printf("%d 等於 %d", firstNum,secondNum); return 0; }
3. 輸入輸出:
輸入兩個整數(以空格分割): -1 99
-1 小於 99
版權說明:本文的題目和例程 源於 菜鳥教程,做者從新編寫了程序、註釋和算例,並增長了難點分析。