c语言学习打卡日记 3、有关assis码的字符转换
知識(shí)點(diǎn)是,char型的字符在可以表示成字符,也可以用加數(shù)字的方式,使其指代的字符改變
看輸出的格式如果使%d,會(huì)輸出assic碼的值,如果是%c那么會(huì)顯示assic碼代指的那個(gè)字符。注意字符也是有包含數(shù)字的。對(duì)應(yīng)的值0是48.
見下:輸入一個(gè)字符,進(jìn)行簡(jiǎn)單的大小寫的轉(zhuǎn)換后輸出
#include <stdio.h>int main() {char c1, c2;c1 = getchar();if (c1 > 90)c2 = c1 - 32;elsec2 = c1 + 32;putchar(c2);return 0; }進(jìn)階就是,大寫改小寫,小寫改大寫(這里不寫了,其實(shí)不過加個(gè)if)
再進(jìn)階,輸入一串字符,有小寫改大寫,有大寫改小寫
題目:用戶輸入一個(gè)字符串,長(zhǎng)度未指定,以回車結(jié)束。
請(qǐng)進(jìn)行大小寫轉(zhuǎn)換,即大寫字母轉(zhuǎn)換為小寫,小寫字母轉(zhuǎn)換為大寫,其他字符不轉(zhuǎn)換。
???????比如輸入123ABCabc,則輸出123abcABC,輸出以后要換行。
#include <stdio.h>//a 97 122 A 65 90 0 48 #include <string.h>int main() {char a[10000] = {0};int i, l;gets(a);l = strlen(a);for (i = 0; i < l; i++) {if (a[i] >= 65 && a[i] <= 90)a[i] += 32;else if (a[i] >= 97 && a[i] <= 122)a[i] -= 32;elsecontinue;}for (i = 0; i < l; i++)printf("%c", a[i]);printf("\n");return 0; }里面用的get語句...是輸入字符串的好方法
但是如果輸入兩段字符串,中間要有scanf("\0");吸收緩沖區(qū)
還有就是注意頭文件。下面的這個(gè)進(jìn)階其實(shí)如果對(duì)c的套路有所了解之后也是非常簡(jiǎn)單的。
巧用函數(shù)啊!!!
總結(jié)
以上是生活随笔為你收集整理的c语言学习打卡日记 3、有关assis码的字符转换的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 西安80地理坐标转wgs84坐标(两种方
- 下一篇: 简单解析一下扫码登陆原理,简单到你想不到