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

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;
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容