开发者

C语言实现输入ascii码,输出对应的字符方式

目录
  • C语言输入ascii码,输出对应的字符
  • C语言ASCII码与转义字符与代码间关系
    • 基础知识回顾
  • 总结

    C语言输入ascii码,输出对应的字符

    源代码

    /**********  ascii.c  ************/
    #include<stdio.h>
    #include<string.h>
    //下面的字符串总共有714个字符。
    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,<javascript;,76,L,92,\\,108,l,124,|,13,CR,29,GS,45,-,61,=,77,M,93http://www.devze.com,],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个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的长度(字符的个数)
    	{
    		result = 0;
    		while(strs[i] != ',' && i < len)
    		{
    			javascriptresult = result * 10 + (strs[i++] - '0');//计算对应的ascii十进制数值
    		}
    		i++;
    		j = 0;
    		while(strs[i] != ',' || i == 548) //逗号","本身作为分隔符存在,但是逗号本身也是一个ascii符号,这里需要做一下特殊处理,逗号对应的字符在strs中的下标是548
    		{
    			words[result][j++] = strs[i++];
    		}
    		//printf("%d\n%s\n----------------\n",result,words[result]);
    		i++;
    	}
    	int a = 0;
    	while(scanf("%d",&a)) //开始输入十进制的ascii码
    	{
    		printf("%s",words[a]);
    	}
    	return 0;
    }

    C语言实现输入ascii码,输出对应的字符方式

    C语言实现输入ascii码,输出对应的字符方式

    C语言ASCII码与转义字符与代码间关系

    C语言实现输入ascii码,输出对应的字符方式

    基础知识回顾

    1.c语言中对 字符串常量 是按照 字符数组 处理的

    2.字符型数据 是以 ASCII代码 存储在存储单元中

        #include <stdio.h开发者_JS学习>
        int main() {
          char ch = '6';
          int i = 54;
          printf("%d,%c\n", ch, i);
          return 0;
        }
    

    C语言实现输入ascii码,输出对应的字符方式

    由结果可知char可直接编程转换为int型值,int也可直接转换为c编程har字符,十进制54对应字符为‘6’

    3.关系运算符的值

    C语言实现输入ascii码,输出对应的字符方式

    关系运算符的运算结果只有 0 或 1。当条件成立时结果为 1,条件不成立结果为 0

    2>1  结果成立   则其值为1
    1>2  结果不成立 则其值为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;
    }
    
    

    结果

    C语言实现输入ascii码,输出对应的字符方式

    4.对于字符指针的相关内容`

    #include <stdio.h>
    int main(){
        char *string="i love china!";
    		printf("%s\n",string);
    	return 0;
    }
    
    

    结果

    C语言实现输入ascii码,输出对应的字符方式

    4.1 在代码中没有定义字符数组,只是定义了char*(字符指针)的变量,并用字符串常量“i love china!”进行初始化 

    注意1:c语言对字符串常量按照字符数组进行处理,在内存中开辟了一个字符数组用来存放该字符串常量。但是这个数组没有名字,所以只能用指针变量来引用。 

    注意2:对于字符指针变量string初始化,实际上是把字符串第一个元素的地址(即存放字符串的字符数组的首元素地址)赋值给指针变量string,使string指向字符串的第一个字符。 

    注意3:可以通过指针变量输出字符串,如:

    printf("%s\n",string);

    %s是输出字符串时所用的格式符,在输出项中给字符指针变量名string,则系统会输出string所指向的第一个字符,然后自动使string加1,使之指向下一个字符,再输出该字符…直到遇到字符串结束标志‘\0’为止 

    注意4:在内存中字符串最后被自动加上一个‘\n’,可以看到,用%s可以对一个字符串进行整体的输入输出。

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新开发

    开发排行榜