美文网首页
2021-08-17 字符常量与变量

2021-08-17 字符常量与变量

作者: Denholm | 来源:发表于2022-08-05 17:21 被阅读0次
    字符常量
    #define _CRT_SECURE_NO_WARNINGS // 去掉安全检查
    #include<stdio.h>
    #include<stdlib.h>
    
    int main(void)
    {
        /*
        字符常量
        定义:用单引号括起来的单个普通字符或转义字符.
        普通字符指大小写字母和数字
        */
        putchar('A');
        putchar('B');
        putchar('C');
    
        putchar('\n'); // 换行
        putchar('\t'); // 制表
    
        putchar('1');
        putchar('2');
        putchar('3');
    
        putchar('A');
        putchar('B');
        putchar('C');
    
        putchar('\\'); // 单斜杠
        putchar('\"'); // 双引号
        putchar('\''); // 单引号
    
        putchar('\a'); // 响铃
    
        putchar('\x41'); // 十六进制41对应十进制65,对应字符A
        putchar('\101'); // 八进制101对应十进制65,对应字符A,可以通过这种方式找到字符打印出来
    
        putchar('\x42'); // 十六进制42对应十进制66,对应字符B
        putchar('\102'); // 八进制102对应十进制66,对应字符B
    
        system("pause");
        return 0;
    }
    
    字符串常量 字符常量与字符串常量
    #define _CRT_SECURE_NO_WARNINGS // 去掉安全检查
    #include<stdio.h>
    #include<stdlib.h>
    
    int main(void)
    {
        /*
        字符串常量
        定义: 
        用双引号括起来的字符序列,如: “hello,world”        “A”          “”
        每个字符串尾自动加个‘\0’作为字符串结束标志
        */
        printf("hello, world\n");
    
        // 每个字符串尾自动加个‘\0’作为字符串结束标志,空字符串有一个‘\0’字符,所以占一个字节
        printf("%d\n",sizeof(""));
        // 有一个字符1,加一个\0组成一个字符串,占两个字节
        printf("%d\n", sizeof("1"));
    
        char ch = 'A'; // 'A'纯粹就是一个字符
        //char bc = "A"; // 字符A加/0组成字符串,占两个字节
    
        system("pause");
        return 0;
    }
    
    #include<stdio.h>
    
    // 字符方式实现hello
    int main() {
    
        printf("hello\n");
        putchar('h');
        putchar('e');
        putchar('l');
        putchar('l');
        putchar('o');
    
        printf("\n");
        // ASCII码
        putchar(104);
        putchar(101);
        putchar(108);
        putchar(108);
        putchar(111);
    
        printf("\n");
        // 八进制
        putchar('\150');
        putchar('\145');
        putchar('\154');
        putchar('\154');
        putchar('\157');
    
        printf("\n");
        // 十六进制
        putchar('\x68');
        putchar('\x65');
        putchar('\x6c');
        putchar('\x6c');
        putchar('\x6f');
    
        return 0;
    }
    
    字符‘1’和整数1的区别
    #include<stdio.h>
    
    // 字符1与整数1的区别
    int main() {
    
        // 字符’1’只是代表一个形状为’1’的符号,在需要时按原样输出,在内存中以ASCII码形式存储,占1个字节
        char ch = '1'; // 16进制:31 二进制:0011 0001
        // 整数1是以整数存储方式(二进制补码方式)存储的,占2个或4个字节
        short sh = 1; // 16进制:0001 二进制: 0000 0000 0000 0001
    
        // 字符占一个字节,短整数占两个字节
        printf("%d, %d\n", sizeof(ch), sizeof(sh));
        printf("%x, %x\n", &ch, &sh);
    
        // 字符1按照%d也就是求字符的编号,ASCII码49;按照%c就是求该字符本身,也就是'1'
        printf("%d, %c\n", ch, ch);
        // 整数1按照%d就是整数1,按照%c就是求编号为1的字符
        printf("%d, %c\n", sh, sh);
    
        return 0;
    }
    
    image.png
    #include<stdio.h>
    
    // 字符变量的计算
    int main() {
    
        char ch = 'A';
        // %c就是按字符方式打印,%d就是按字符的ASCII码打印
        printf("%c, %d\n", ch, ch);
        // 字符型变量在内存中占一个字节,由于存储的是字符的二进制ASCII码,与整型存储方式类似,
        // 因此字符型变量和整型数据可以相互运算
        ch = ch + 1; // ch是字符'A',对应整数65,65+1=66,66对应字符'B'
        printf("%c, %d\n", ch, ch);
    
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:2021-08-17 字符常量与变量

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