在 C 語言中區分字母的大小寫,利用 ASCII 碼中大寫字母和小寫字母之間的轉換關係(差值為 32),可以將小寫字母轉換為大寫字母。編寫程式實現,從鍵盤上輸入一個小寫字母,按確認鍵,程式將該小寫字母轉換為大寫字母,並輸出其 ASCII 值。
演算法思想
由於大寫字母與小寫字母之間的差值為 32,因此小寫字母轉換為大寫字母的方法就是將小寫字母的 ASCII 碼值減去 32,便可得到與之對應的大寫字母。
利用 getchar 函數從鍵盤上輸入一個小寫字母,並將其賦給一個字元變數 a;然後將 a—32 的值賦給字元變數 b;最後進行輸出,輸出時先輸出字母,再將字母以整數形式輸出。其具體步驟如下:
① 定義兩個字元變數 a、b;
② a=get char();
③ b=a—32;
④ 列印輸出。
程式程式碼
#include <stdio.h>
int main()
{
char a,b;
printf("輸入一個小寫字母:n");
a=getchar();
b=a-32;
printf("轉換後的字母為:%c,%dn",b,b);
return 0;
}
偵錯執行結果
輸入小寫字母 c 時,轉換後的大寫字母及所對應的 ASCII 值如下所示:
輸入一個小寫字母:
c
轉換後的字母為:C,67
輸入小寫字母 m 時,轉換後的大寫字母及所對應的 ASCII 值如下所示:
輸入一個小寫字母:
m
轉換後的字母為:M,77
總結
① 範例內容要求對 ASCII 碼有所了解。知道小寫字母和大寫字母之間的差值為 32。
② getchar 函數的功能是從鍵盤上輸入一個字元。其一般形式為“getchar()”。通常把輸入的字元賦予一個字元變數,構成賦值語句,如:char c;或c=getchar();
③ 使用 getchar 函數還應注意幾個問題:
-
getchar 函數只能接收單個字元,輸入數位也按字元處理。輸入多於一個字元時,只接收第一個字元。
-
使用 getchar 函數前必須包含檔案“stdio.h”。