美文网首页程序员
【C语言笔记】<九>char的基本概念

【C语言笔记】<九>char的基本概念

作者: 大基本功 | 来源:发表于2018-04-26 14:22 被阅读13次
int main(int argc, const char * argv[]) {
    
    /*
    // 研究的问题: char类型的变量在内存中是如何存储的?
    // char 1个字节
    int num;
    char charValue;
    charValue = 'a'; // 计算机智能识别0和1
    // a == 97 == 01100001
    int size = sizeof(charValue);
    printf("%i\n", size);
    printf("num = %p\n", &num);
    printf("char = %p\n", &charValue);
    
    // 在C语言中, 不看怎么存, 只看怎么取
    printf("%c\n", charValue);
    printf("%i\n", charValue);
     */
    
    /*************************华丽的分割线*******************************/
    
    /*
     字符6和数字6就是完全不相同的两个数
    char c1 = 6; // 00000110
    char c2 = '6';// 00110110
    
    printf("%i\n", c1);
    printf("%i\n", c2);
     */
    
    /*************************华丽的分割线*******************************/
    
    // char类型在某些情况下可以当做整型来用
    // 如果对内存要求特别严格, 而且需要存储的整数不超过char类型的取值范围, 那么就可以使用char类型来代替int类型
    // -2(7)~2(7)-1   == -128 ~ 127
    char c = 129; // 1000 0000
    printf("%i\n", c);
    
    return 0;
}

转换大小写
char lowerCase(char temp);
int main(int argc, const char * argv[]) {
    // 要求用户从键盘输入一个字母, 如果用户输入的是大写那么就转换为小写
    
    printf("请输入一个字母\n");
    char charValue;
    scanf("%c", &charValue);
    
    // 转换
//    charValue = charValue + 32; //  65 + 32 = 97
    printf("%c\n", lowerCase(charValue));
    return 0;
}

char lowerCase(char temp)
{
    // 1.判断是否是大写字母
    if (temp >= 'A' && temp <= 'Z') {
    // 注意: 开发中千万不要这么写, 魔鬼数字
//    if (temp >= 65 && temp <= 90) {
//        temp = temp + 32;
        temp = temp + ('a' - 'A');
    }
    return temp;
}

相关文章

网友评论

    本文标题:【C语言笔记】<九>char的基本概念

    本文链接:https://www.haomeiwen.com/subject/otyclftx.html