大寫字母與小寫字母之間的ASCII 碼值減去 32
由于大寫字母與小寫字母之間的差值為 32搏予,因此小寫字母轉(zhuǎn)換為大寫字母的方法就是將小寫字母的 ASCII 碼值減去 32关翎,便可得到與之對應(yīng)的大寫字母修档。
利用 getchar 函數(shù)從鍵盤上輸入一個小寫字母示括,并將其賦給一個字符變量 a岁钓;然后將 a—32 的值賦給字符變量 b辱匿;最后進(jìn)行輸出,輸出時先輸出字母,再將字母以整數(shù)形式輸出丝里。其具體步驟如下:
① 定義兩個字符變量 a、b体谒;
② a=get char()杯聚;
③ b=a—32;
④ 打印輸出抒痒。
程序代碼
#include <stdio.h>
int main()
{
? ? char a,b;
? ? printf("輸入一個小寫字母:\n");
? ? a=getchar();
? ? b=a-32;
? ? printf("轉(zhuǎn)換后的字母為:%c幌绍,%d\n",b,b);
? ? return 0;
}
調(diào)試運(yùn)行結(jié)果
輸入小寫字母 c 時,轉(zhuǎn)換后的大寫字母及所對應(yīng)的 ASCII 值如下所示:
輸入一個小寫字母:
c
轉(zhuǎn)換后的字母為:C故响,67
C語言中利用封裝好的tolower和toupper函數(shù)實(shí)現(xiàn)英文字母的大小寫轉(zhuǎn)換
范例1:將s字符串內(nèi)的小寫字母轉(zhuǎn)換成大寫字母
#include <ctype.h>
int main()
{
? char s[] = "aBcDeFgH";
? int i;
? printf("before toupper() : %s\n", s);
? for(i = 0; i < sizeof(s); i++)
? ? s[i] = toupper(s[i]);
? printf("after toupper() : %s\n", s);
? return 0;
}
范例2:將s字符串內(nèi)的大寫字母轉(zhuǎn)換成小寫字母
#include <ctype.h>
int main()
{
? char s[] = "aBcDeFgH";
? int i;
? printf("before tolower() : %s\n", s);
? for(i = 0; i < sizeof(s); i++)
? ? s[i] = tolower(s[i]);
? printf("after tolower() : %s\n", s);
? return 0;
}
C語言strlwr()函數(shù)strupr函數(shù):將字符串轉(zhuǎn)換為小寫 大寫
C語言中傀广,strlwr函數(shù)和strupr函數(shù)的用法都是直接傳入字符串調(diào)用,strlwr函數(shù)的作用是將字符串參數(shù)轉(zhuǎn)換為小寫形式彩届。strupr函數(shù)的作用是將字符串參數(shù)轉(zhuǎn)換為大寫形式伪冰。
1、strlwr函數(shù)
原型:extern char *strlwr(char *s);
用法:#include <string.h>
功能:將字符串s參數(shù)轉(zhuǎn)換為小寫形式
說明:只轉(zhuǎn)換s參數(shù)中出現(xiàn)的大寫字母惨缆,不改變其它字符糜值。返回指向s參數(shù)的指針丰捷。
兼容性說明:strlwr和strupr不是標(biāo)準(zhǔn)C庫函數(shù),只能在VC中使用寂汇。linux gcc環(huán)境下需要自行定義這個函數(shù)病往。
2、strupr函數(shù)
原型:extern char *strupr(char *s);
用法:#include <string.h>
功能:將字符串s轉(zhuǎn)換為大寫形式
說明:只轉(zhuǎn)換s中出現(xiàn)的小寫字母骄瓣,不改變其它字符停巷。返回指向s的指針。
兼容性說明:strupr不是標(biāo)準(zhǔn)C庫函數(shù)榕栏,只能在VC中使用畔勤。在linux gcc環(huán)境下需要自行定義這個函數(shù)。