C語(yǔ)言實(shí)現(xiàn)輸入ascii碼,輸出對(duì)應(yīng)的字符方式
C語(yǔ)言輸入ascii碼,輸出對(duì)應(yīng)的字符
源代碼
/********** ascii.c ************/ #include<stdio.h> #include<string.h> //下面的字符串總共有714個(gè)字符。 char strs[714]= "0,NUL,16,DLE,32, ,48,0,64,@,80,P,96,`,112,p,1,SOH,17,DC1,33,!,49,1,65,A,81,Q,97,a,113,q,2,STX,18,DC2,34,\",50,2,66,B,82,R,98,b,114,r,3,ETX,19,DC3,35,#,51,3,67,C,83,S,99,c,115,s,4,EOT,20,DC4,36,$,52,4,68,D,84,T,100,d,116,t,5,ENQ,21,NAK,37,%,53,5,69,E,85,U,101,e,117,u,6,ACK,22,SYN,38,&,54,6,70,F,86,V,102,f,118,v,7,BEL,23,ETB,39,',55,7,71,G,87,W,103,g,119,w,8,BS,24,CAN,40,(,56,8,72,H,88,X,104,h,120,x,9,HT,25,EM,41,),57,9,73,I,89,Y,105,i,121,y,10,LF,26,SUB,42,*,58,:,74,J,90,Z,106,j,122,z,11,VT,27,ESC,43,+,59,;,75,K,91,[,107,k,123,{,12,FF,28,FS,44,,,60,<,76,L,92,\\,108,l,124,|,13,CR,29,GS,45,-,61,=,77,M,93,],109,m,125,},14,SO,30,RS,46,.,62,>,78,N,94,^,110,n,126,~,15,SI,31,US,47,/,63,?,79,O,95,_,111,o,127,DEL,"; char words[128][5];//共有128個(gè)ascii碼字符 int main(){ int len = strlen(strs); //printf("len=%d\n",len); int i = 0; int j = 0; int result = 0; memset(words,0,sizeof(words)); while(i < len) //strs的長(zhǎng)度(字符的個(gè)數(shù)) { result = 0; while(strs[i] != ',' && i < len) { result = result * 10 + (strs[i++] - '0');//計(jì)算對(duì)應(yīng)的ascii十進(jìn)制數(shù)值 } i++; j = 0; while(strs[i] != ',' || i == 548) //逗號(hào)","本身作為分隔符存在,但是逗號(hào)本身也是一個(gè)ascii符號(hào),這里需要做一下特殊處理,逗號(hào)對(duì)應(yīng)的字符在strs中的下標(biāo)是548 { words[result][j++] = strs[i++]; } //printf("%d\n%s\n----------------\n",result,words[result]); i++; } int a = 0; while(scanf("%d",&a)) //開(kāi)始輸入十進(jìn)制的ascii碼 { printf("%s",words[a]); } return 0; }
C語(yǔ)言ASCII碼與轉(zhuǎn)義字符與代碼間關(guān)系
基礎(chǔ)知識(shí)回顧
1.c語(yǔ)言中對(duì) 字符串常量 是按照 字符數(shù)組 處理的
2.字符型數(shù)據(jù) 是以 ASCII代碼 存儲(chǔ)在存儲(chǔ)單元中
#include <stdio.h> int main() { char ch = '6'; int i = 54; printf("%d,%c\n", ch, i); return 0; }
由結(jié)果可知char可直接轉(zhuǎn)換為int型值,int也可直接轉(zhuǎn)換為char字符,十進(jìn)制54對(duì)應(yīng)字符為‘6’
3.關(guān)系運(yùn)算符的值
關(guān)系運(yùn)算符的運(yùn)算結(jié)果只有 0 或 1。當(dāng)條件成立時(shí)結(jié)果為 1,條件不成立結(jié)果為 0
2>1 結(jié)果成立 則其值為1 1>2 結(jié)果不成立 則其值為0
#include <stdio.h> int main(){ char c='k'; int i=1, j=2, k=3; int result_1 = 'a'+5<c; printf( "%d, %d\n", result_1, -i-2*j>=k+1 ); return 0; }
結(jié)果
4.對(duì)于字符指針的相關(guān)內(nèi)容`
#include <stdio.h> int main(){ char *string="i love china!"; printf("%s\n",string); return 0; }
結(jié)果
4.1 在代碼中沒(méi)有定義字符數(shù)組,只是定義了char*(字符指針)的變量,并用字符串常量“i love china!”進(jìn)行初始化
注意1:c語(yǔ)言對(duì)字符串常量按照字符數(shù)組進(jìn)行處理,在內(nèi)存中開(kāi)辟了一個(gè)字符數(shù)組用來(lái)存放該字符串常量。但是這個(gè)數(shù)組沒(méi)有名字,所以只能用指針變量來(lái)引用。
注意2:對(duì)于字符指針變量string初始化,實(shí)際上是把字符串第一個(gè)元素的地址(即存放字符串的字符數(shù)組的首元素地址)賦值給指針變量string,使string指向字符串的第一個(gè)字符。
注意3:可以通過(guò)指針變量輸出字符串,如:
printf("%s\n",string);
%s是輸出字符串時(shí)所用的格式符,在輸出項(xiàng)中給字符指針變量名string,則系統(tǒng)會(huì)輸出string所指向的第一個(gè)字符,然后自動(dòng)使string加1,使之指向下一個(gè)字符,再輸出該字符…直到遇到字符串結(jié)束標(biāo)志‘\0’為止
注意4:在內(nèi)存中字符串最后被自動(dòng)加上一個(gè)‘\n’,可以看到,用%s可以對(duì)一個(gè)字符串進(jìn)行整體的輸入輸出。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Clion-MinGW編譯后的exe文件添加ico圖標(biāo)的操作方法
這篇文章主要介紹了Clion-MinGW編譯后的exe文件添加ico圖標(biāo)的操作方法,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07排列組合總結(jié):將結(jié)果進(jìn)行輸出的實(shí)現(xiàn)方法
本篇文章關(guān)于排列組合的總結(jié),對(duì)結(jié)果進(jìn)行輸出做了介紹。需要的朋友參考下2013-05-05C++使用string的大數(shù)乘法運(yùn)算(3)
這篇文章主要為大家詳細(xì)介紹了C++使用string的大數(shù)乘法運(yùn)算,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09C語(yǔ)言 二叉查找樹(shù)性質(zhì)詳解及實(shí)例代碼
這篇文章主要介紹了C語(yǔ)言 二叉查找樹(shù)性質(zhì)詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-03-03C語(yǔ)言 常量,變量及數(shù)據(jù)詳細(xì)介紹
這篇文章主要介紹了C語(yǔ)言 常量,變量及數(shù)據(jù)詳解的相關(guān)資料,需要的朋友可以參考下2016-10-10