字符型数据与整型数据的通用性

    技术2025-05-18  40

    字符型数据与整型数据是通用的

    向字符变量赋予整数

    #include<stdio.h>

    void main()

    {

    char c1,c2;

    c1=97;

    c2=98;

    printf("%c %c/n",c1,c2);

    printf("%d %d/n",c1,c2);

    }

    大小写字母的转换

    #include<stdio.h>

    void main()

    {

    char c1,c2;

    c1='a';

    c2='b';

    c1=c1-32;

    c2=c2-32;

    printf("%c %c",c1,c2);

    }

    对字符的操作:

    随意输入一串字符统计这串字符中的 字母、数字、空格、其他字符(标点符号等)的个数

    #include<stdio.h>

    void main()

    {

    char c;

    int letters=0,space=0,digit=0,others=0;

    printf("请随意输入一串字符/n");

    while((c=getchar())!='/n')/*当输入的不是回车时执行while循环体部分*/

    {

    if(c>='a'&&c<='z'||c>='A'&&c<='Z')//英文字母

    letters++;

    else if(c==' ')//空格

    space++;

    else if(c>='0'&&c<='9')//数字

    digit++;

    else//其他字符

    others++;

    }

    printf("字母=%d 空格=%d 数字=%d 其它=%d",letters,space,digit,others);/*输出最终结果*/

    }

    输入一个字符,判断它是否大写字母,如果是,将它转换为小写字母;如果不是,不转换,然后输出最后得到的字符。

    #include<stdio.h>

    void main()

    {

    char ch;

    scanf("%c",&ch);

    ch=(ch>='A'&&ch<='Z')?(ch+32):ch;

    printf("%c/n",ch);

    }

    将字母A变成字母Ea变成e,即变成其后的第4个字母,W变成AX变成BY变成CZ变成D……按此规律转换,非字母不变

    例如:China ! 转换为 Glmre!

    #include<stdio.h>

    void main()

    {

    char c;

    while((c=getchar())!='/n')/*当输入的不是回车时执行while循环体部分*/

    {

    if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))//英文字母

    {

    c=c+4;

    if(c>'Z'&&c<='Z'+4||c>'z')/*ASCNII码中,大写字母与小写字母中还有一些非字母*/

    c=c-26;

    }

    printf("%c",c);

    }

    printf("/n");

    }

    /*先判断是否为字母,如果是值加4(变成其后的第4个字母),如果加4以后字符值大于'Z''z',

    则表示原来的字母在V(v)之后,将它转换为A~D(a~d)之一,办法是使字符变量c的值减26*/

    最新回复(0)