c语言怎么把一个小写字母转化为大写字母 用C语言编程 通过键盘输入一个小写字母,要求将其转化为对应的...

c\u8bed\u8a00\u600e\u4e48\u628a\u4e00\u4e2a\u5c0f\u5199\u5b57\u6bcd\u8f6c\u5316\u4e3a\u5927\u5199\u5b57\u6bcd

\u4fe1\u606f\u5b66\u5965\u8d5b 1138-\u5c06\u5b57\u7b26\u4e32\u4e2d\u7684\u5c0f\u5199\u5b57\u6bcd\u8f6c\u6362\u6210\u5927\u5199\u5b57\u6bcd

#include
void main(){
char word;
scanf("%c",&word);
a-=32;
printf("%c\n",word);
}
ASCII \u7801\u4f7f\u7528\u6307\u5b9a\u76847 \u4f4d\u62168 \u4f4d\u4e8c\u8fdb\u5236\u6570\u7ec4\u5408\u6765\u8868\u793a128 \u6216256 \u79cd\u53ef\u80fd\u7684\u5b57\u7b26\u3002\u6807\u51c6ASCII \u7801\u4e5f\u53eb\u57fa\u7840ASCII\u7801\uff0c\u4f7f\u75287 \u4f4d\u4e8c\u8fdb\u5236\u6570\uff08\u5269\u4e0b\u76841\u4f4d\u4e8c\u8fdb\u5236\u4e3a0\uff09\u6765\u8868\u793a\u6240\u6709\u7684\u5927\u5199\u548c\u5c0f\u5199\u5b57\u6bcd\uff0c\u6570\u5b570 \u52309\u3001\u6807\u70b9\u7b26\u53f7\uff0c \u4ee5\u53ca\u5728\u7f8e\u5f0f\u82f1\u8bed\u4e2d\u4f7f\u7528\u7684\u7279\u6b8a\u63a7\u5236\u5b57\u7b26\u3002\u5176\u4e2d\uff1a
0\uff5e31\u53ca127(\u517133\u4e2a)\u662f\u63a7\u5236\u5b57\u7b26\u6216\u901a\u4fe1\u4e13\u7528\u5b57\u7b26\uff08\u5176\u4f59\u4e3a\u53ef\u663e\u793a\u5b57\u7b26\uff09\uff0c\u5982\u63a7\u5236\u7b26\uff1aLF\uff08\u6362\u884c\uff09\u3001CR\uff08\u56de\u8f66\uff09\u3001FF\uff08\u6362\u9875\uff09\u3001DEL\uff08\u5220\u9664\uff09\u3001BS\uff08\u9000\u683c)\u3001BEL\uff08\u54cd\u94c3\uff09\u7b49\uff1b
\u901a\u4fe1\u4e13\u7528\u5b57\u7b26\uff1aSOH\uff08\u6587\u5934\uff09\u3001EOT\uff08\u6587\u5c3e\uff09\u3001ACK\uff08\u786e\u8ba4\uff09\u7b49\uff1bASCII\u503c\u4e3a8\u30019\u300110 \u548c13 \u5206\u522b\u8f6c\u6362\u4e3a\u9000\u683c\u3001\u5236\u8868\u3001\u6362\u884c\u548c\u56de\u8f66\u5b57\u7b26\u3002\u5b83\u4eec\u5e76\u6ca1\u6709\u7279\u5b9a\u7684\u56fe\u5f62\u663e\u793a\uff0c\u4f46\u4f1a\u4f9d\u4e0d\u540c\u7684\u5e94\u7528\u7a0b\u5e8f\uff0c\u800c\u5bf9\u6587\u672c\u663e\u793a\u6709\u4e0d\u540c\u7684\u5f71\u54cd\u3002
32\uff5e126(\u517195\u4e2a)\u662f\u5b57\u7b26(32\u662f\u7a7a\u683c\uff09\uff0c\u5176\u4e2d48\uff5e57\u4e3a0\u52309\u5341\u4e2a\u963f\u62c9\u4f2f\u6570\u5b57\u3002
65\uff5e90\u4e3a26\u4e2a\u5927\u5199\u82f1\u6587\u5b57\u6bcd\uff0c97\uff5e122\u53f7\u4e3a26\u4e2a\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\uff0c\u5176\u4f59\u4e3a\u4e00\u4e9b\u6807\u70b9\u7b26\u53f7\u3001\u8fd0\u7b97\u7b26\u53f7\u7b49\u3002
\u6839\u636eASCII\u6807\u51c6\u8868\u53ef\u770b\u51fa\u540c\u4e00\u5b57\u6bcd\u7684\u5927\u5199\u548c\u5c0f\u5199\u4e4b\u95f4\u76f8\u5dee32\u3002




\u6269\u5c55\u8d44\u6599\uff1a
1. 1981\u5e74IBM PC ROM256\u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u96c6\uff0c\u5373IBM\u6269\u5c55\u5b57\u7b26\u96c6\u3002
2. 1985\u5e7411 Windows\u5b57\u7b26\u96c6\u88ab\u79f0\u4f5c\u201cANSI\u5b57\u7b26\u96c6\u201d\uff0c\u9075\u5faa\u4e86ANSI\u8349\u6848\u548cISO\u6807\u51c6\uff08ANSI/ISO8859-1-1987\uff0c\u7b80\u201cLatin 1\u201d\u3002
3. 1987\u5e744\u6708\u4ee3\u7801\u9875437,\u5b57\u7b26\u7684\u6620\u50cf\u4ee3\u7801\uff0c\u5728MS-DOS3.3\u51fa\u73b0\u3002
\u6269\u5c55ASCII \u5b57\u7b26\u662f\u4ece128 \u5230255\uff080x80-0xff\uff09\u7684\u5b57\u7b26\u3002
\u6269\u5c55ASCII\u4e0d\u518d\u662f\u56fd\u9645\u6807\u51c6\u3002
4. \u53cc\u5b57\u8282\u5b57\u7b26\u96c6\uff08DBCS\uff1adouble-byte character set\uff09,\u89e3\u51b3\u4e2d\u56fd\u3001\u65e5\u672c\u548c\u97e9\u56fd\u7684\u8c61\u5f62\u6587\u5b57\u7b26\u548cASCII\u7684\u67d0\u79cd\u517c\u5bb9\u6027\u3002DBCS\u4ece256\u4ee3\u7801\u5f00\u59cb\uff0c\u5c31\u50cfASCII\u4e00\u6837\u3002
\u4e0e\u4efb\u4f55\u884c\u4e3a\u826f\u597d\u7684\u4ee3\u7801\u9875\u4e00\u6837\uff0c\u6700\u521d\u7684128\u4e2a\u4ee3\u7801\u662fASCII\u3002\u7136\u800c\uff0c\u8f83\u9ad8\u7684128\u4e2a\u4ee3\u7801\u4e2d\u7684\u67d0\u4e9b\u603b\u662f\u8ddf\u968f\u7740\u7b2c\u4e8c\u4e2a\u5b57\u8282\u3002\u8fd9\u4e24\u4e2a\u5b57\u8282\u4e00\u8d77\uff08\u79f0\u4f5c\u9996\u5b57\u8282\u548c\u8ddf\u968f\u5b57\u8282\uff09\u5b9a\u4e49\u4e00\u4e2a\u5b57\u7b26\uff0c\u901a\u5e38\u662f\u4e00\u4e2a\u590d\u6742\u7684\u8c61\u5f62\u6587\u5b57\u3002
\u53c2\u8003\u8d44\u6599\uff1aASCII

C语言中,字符的存储都是使用ascii值来存储的。
根据ASCII码表,我们可以看出:大、小写字母都是按顺序进行存储的,大写字母的ASCII值区间为:65~90,对应的字母为:'A'-'Z';小写字母的ASCII值区间为:97~122,对应的字母为:'a'-'z',因此,将小写字母转化为大写字母,可以直接将该变量减32即可得到对应的大写字母,如:
char ch='a';
printf("upper case '%c'='%c'\n", ch, ch-32 );
如果记不清,大小字母谁大谁小,则可以采用如下方法进行转换:
char ch='x';
printf("upper case '%c'='%c'\n", ch, ch-'a'+'A' ); //减a得到偏移值,加A得到相应的大写字母

有三种方法:
1,用小写字母减去32,eg: ch-32
2,用小写字母和32做异或运算 ch^32
3,利用库函数toupper(ch)
这三种方法都可以把小写字母转化成大写字母,根据情况使用,可以简化程序

char x;
输入一个小写字母放在x里;
x=x-‘a’+‘A’;
这样就转化成大写字母了。

方法一:
#include <stdio.h>
#include <ctype.h>
int main(void)
{
char c;
int b;
printf("please input a lower letter:");
scanf("%c", &c);
b=toupper(c);
printf("%c\n",b);
return 0;
}

方法二:
#include <stdio.h>
int main(void)
{
char c1,c2;
printf("Please input a lower letter:");
scanf("%c",&c1);
c2=c1-32;
printf("%c",c2);
return 0;
}

在ASCII码中,小写字母的a~z是97到122; 大写字母A~Z是从65到90
所以减去一个32就行了~

  • 鐢c璇█鎬庢牱鎶婂皬鍐欏瓧姣嶈浆鎹负澶у啓瀛楁瘝?
    绛旓細1銆侀鍏堬紝瀹氫箟涓や釜鏁村瀷鍙橀噺a鍜孉锛屼繚瀛樼浉搴斿瓧姣嶇殑ASCII鐮併2銆佸畾涔変竴涓瓧绗﹀彉閲廲h锛屼繚瀛橀渶杞崲鐨勫瓧绗︺3銆佺粰瀛楃鍙橀噺ch璧嬪垵鍊硷紝鍊间负灏忓啓瀛楁瘝a銆4銆佹妸瀛楃鍙橀噺涓殑鍊硷紝璧嬬粰鏁村瀷鍙橀噺a锛屽疄鐜癆SCII鐮佺殑杞崲銆5銆佸皢鑻辨枃瀛楁瘝a鐨凙SCII鐮侊紝鍦ㄨ緭鍑虹獥鍙d腑杈撳嚭銆6銆佺劧鍚庯紝瀛楃鍙橀噺涓殑瀛楃锛屾洿鏀逛负澶у啓瀛楁瘝A銆7...
  • C璇█:缁欏畾涓涓皬鍐欏瓧姣,杞崲鎴澶у啓瀛楁瘝
    绛旓細1銆C璇█涓锛屽瓧绗︾殑瀛樺偍鍗犵敤涓涓瀛楄妭锛屼笖閮芥槸浣跨敤鍏跺搴旂殑ASCII鐮佸兼潵瀛樺偍鐨勩2銆佹牴鎹瓵SCII鐮佽〃锛屾垜浠彲浠ョ湅鍑猴細澶с佸皬鍐欏瓧姣嶉兘鏄寜椤哄簭杩涜瀛樺偍鐨勶紝澶у啓瀛楁瘝鐨凙SCII鍊煎尯闂翠负锛65~90锛屽搴旂殑瀛楁瘝涓猴細'A'-'Z'锛涘皬鍐欏瓧姣嶇殑ASCII鍊煎尯闂翠负锛97~122锛屽搴旂殑瀛楁瘝涓猴細'a'-'z'锛屽洜姝わ紝灏嗗皬鍐欏瓧姣嶈浆鍖栦负...
  • 鐢c璇█缂栫▼,杈撳叆涓涓瀛楃,鑻ユ槸灏忓啓瀛楁瘝,杞崲涓澶у啓杈撳嚭,鑻ユ槸澶у啓瀛楁瘝...
    绛旓細intmain(){ charx,y;printf("璇疯緭鍏涓涓瓧姣锛");scanf("%c",&x);if(x>='a'&&x<='z')y=x-32;if(x>='A'&&x<='Z')y=x+32;printf("杞崲鍚庣殑瀛楃涓猴細%c\n", y);} 浠g爜鍦―EVC++鐜涓嬭繍琛屾晥鏋滃涓嬶細
  • c璇█鎬庝箞鎶婁竴涓皬鍐欏瓧姣嶈浆鍖栦负澶у啓瀛楁瘝?
    绛旓細1锛岀敤灏忓啓瀛楁瘝鍑忓幓32,eg: ch-32 2锛岀敤灏忓啓瀛楁瘝鍜32鍋氬紓鎴栬繍绠 ch^32 3,鍒╃敤搴撳嚱鏁皌oupper(ch)杩欎笁绉嶆柟娉曢兘鍙互鎶婂皬鍐欏瓧姣嶈浆鍖栨垚澶у啓瀛楁瘝锛屾牴鎹儏鍐典娇鐢紝鍙互绠鍖栫▼搴
  • c璇█涓浣曟妸灏忓啓瀛楁瘝杞寲涓澶у啓瀛楁瘝
    绛旓細1銆乧har ch= 'a';ch-= 32;2銆乻trupr 鍘熷瀷锛歟xtern char *strupr(char *s);鐢ㄦ硶锛#include <string.h> 鍔熻兘锛氬皢瀛楃涓瞫杞崲涓哄ぇ鍐欏舰寮 璇存槑锛氬彧杞崲s涓嚭鐜扮殑灏忓啓瀛楁瘝锛屼笉鏀瑰彉鍏跺畠瀛楃銆傝繑鍥炴寚鍚憇鐨勬寚閽堛備妇渚嬶細// strupr.c include <syslib.h> include <string.h> main(){ char *s="...
  • c璇█鎬庝箞鎶婁竴涓皬鍐欏瓧姣嶈浆鍖栦负澶у啓瀛楁瘝
    绛旓細鍦C璇█涓锛屾瘡涓涓甯哥敤瀛楃閮藉搴旂潃涓涓狝SCII鍊硷紝澶у啓瀛楁瘝A~Z瀵瑰簲鐨凙SCII涓65~90锛灏忓啓瀛楁瘝a~z瀵瑰簲鐨凙SCII鍊间负97~122銆傚ぇ鍐欏瓧姣嶄笌灏忓啓瀛楁瘝鐨凙SCII鍊肩浉宸32锛屾晠鍙互閫氳繃杩欎竴鐐瑰疄鐜板ぇ鍐欏瓧姣嶄笌灏忓啓瀛楁瘝鐨杞崲銆傚叿浣撴潵璇达紝澶у啓瀛楁瘝涓庡皬鍐欏瓧姣嶇殑ASCII鍊肩浉宸32銆傚彧闇瑕佽緭鍏ュ叧閿唬鐮侊細c2=c1+32锛屽嵆鍙皢澶у啓...
  • 鐢c璇█缂栫▼,杈撳叆涓涓瀛楃,鑻ユ槸灏忓啓瀛楁瘝,杞崲涓澶у啓杈撳嚭,鑻ユ槸澶у啓瀛楁瘝...
    绛旓細濡傛灉鏄灏忓啓,鍒欏皢杩欎釜瀛楃鍑忓幓32,鍐嶈緭鍑恒傚弽涔,鍔犱笂32灏辨槸浜嗐#include <stdio.h>main(){char ch;printf("input:");scanf("%c",&ch);if(ch>='a'&&ch<='z') printf("%c",ch-32);else if(ch>='A'&&ch<='Z') printf("%c",ch+32);else printf("input error!");}婊℃剰璇烽噰绾! 鏈洖绛旂敱...
  • C璇█棰樼洰鎻忚堪: 浠庨敭鐩樹笂杈撳叆涓涓皬鍐欏瓧姣,鐒跺悗灏灏忓啓瀛楁瘝瑁呮崲鎴愬ぇ鍐...
    绛旓細鍙互鍙傝冧笅闈㈢殑浠g爜锛歩nclude <stdio.h> void main(){ char ch;scanf("%c",&ch);if(ch>='A'&&ch<='Z'){ ch=ch+32;printf("%c\n\n",ch);}else{ printf("%c\n\n",ch);} }
  • c璇█缂栫▼:灏嗗皬鍐欏瓧姣嶈浆鎹负澶у啓瀛楁瘝骞惰緭鍑恒傛ユ眰璋簡銆
    绛旓細鍙互閫氳繃ASCII鐮灏嗗皬鍐欏瓧姣嶈浆鍖栦负澶у啓瀛楁瘝銆傝绠楁満涓紝鎵鏈夌殑淇℃伅閮芥槸浜岃繘鍒讹紝浣嗘槸鎴戜滑鎵鑳界悊瑙g殑淇℃伅鏄叿鏈夌害鏉熸剰涔夌殑瀛楃銆傚綋鎴戜滑闇瑕佹煡鐪嬪瓨鍌ㄧ殑淇℃伅鏃讹紝灏遍渶瑕佸浜岃繘鍒惰В鐮併傚洜姝ゅ彧瑕佺紪鐮佸拰瑙g爜鐨勮鍒欎竴鑷达紝鎴戜滑灏卞彲浠ュ皢鎴戜滑鐞嗚В鐨勪俊鎭瓨鍌ㄥ埌璁$畻鏈猴紝鎴栬呬粠璁$畻鏈轰腑鍙栧嚭銆傝嚦浜庣紪鐮佸拰瑙g爜鐨勮鍒欐湁寰堝锛屽叾涓湁...
  • C璇█涓,濡傛灉璁╄緭鍏ョ殑灏忓啓瀛楁瘝鍙樻垚澶у啓瀛楁瘝?
    绛旓細1 鍦C璇█涓锛屽瓧绗﹀瀷鍙橀噺瀛樺偍鐨勫疄闄呬笂鏄疉SCII鐮佸笺2 鍦ˋSCII鐮佽〃涓紝澶у啓瀛楁瘝鍜屽皬鍐欏瓧姣嶅垎鍒繛缁笖鏈夊簭瀛樺偍銆3 鍚屾牱瀛楁瘝鐨勫皬鍐橝SCII鐮佸兼瘮澶у啓鐨凙SCII鐮佸煎ぇ32銆傛墍浠ワ紝瑕灏嗗皬鍐欏瓧姣锛杞负澶у啓瀛楁瘝锛屽彧闇瑕佸噺鍘32鍗冲彲銆傚 int main(){ int c = getchar(); putchar(c-32);}鍗充负涓涓杈撳叆...
  • 扩展阅读:新手快速学26键打字 ... cnc编程必背50个程序 ... 26个字母背诵视频 ... 英语26个字母图片 ... 26字母快速记忆法 ... 巧记26个字母顺口溜 ... 学字母 26个视频 ... 用*输出字母c的图案 ... 26个字母背诵顺口溜 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网