c语言位操作大小写转换,C语言实现大小写转换的三种方法
今天心血來潮,總結(jié)了下大小寫轉(zhuǎn)換的方法,大致有三種。
1.使用C語言提供的函數(shù):toupper(),tolower()
使用這兩個(gè)函數(shù)需要引入頭文件:#include
示例代碼:
#include
#include
#include
void main( )
{
char a = 'a';
char b = toupper( a );
printf( "%c\n", b);
b = tolower( b );
printf( "%c\n", b);
}
2.自己編寫轉(zhuǎn)換函數(shù):
因?yàn)榇笮懼g的ASCII碼值的差值是固定的,因此可以使用‘a(chǎn)’-‘A’來獲取差值。
實(shí)例代碼:
#include
#include
char upChar( char ch )
{
return ( char )( ch - ( 'a' - 'A' ) );
};
char downChar( char ch )
{
return ( char )( ch + ( 'a' - 'A' ) );
};
void main( )
{
char a = 'a';
char b = upChar( a );
printf( "%c\n", b);
b = downChar( b );
printf( "%c\n", b);
}
3.異或0x20來實(shí)現(xiàn)轉(zhuǎn)換:
0x20是16進(jìn)制,表示為2進(jìn)制是00100000,這樣可能還是不明顯,轉(zhuǎn)換為10進(jìn)制,其實(shí)就是32
對(duì)了,還是利用32.
異或:相同為0,不同為1. ?也就是說,任何數(shù)字與0異或都是它本身。
所以將其他位都設(shè)為0,把第6位(從左向右)設(shè)置為1,也就是0x20
如果第6位是1,則異或結(jié)果為0.
如果第6位是0,則異或結(jié)果為1.
實(shí)現(xiàn)了加減32的操作。
示例代碼:
#include
#include
char trans( char ch )
{
ch = ch ^ 0x20;
return ch;
};
void main( )
{
char a = 'a';
char b = trans( a );
printf( "%c\n", b);
b = trans( b );
printf( "%c\n", b);
}
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的c语言位操作大小写转换,C语言实现大小写转换的三种方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Kotlin Native新增Objec
- 下一篇: 苹果是c语言安卓是什么语言,主流app是