• C语言之字符集、ASCII码和sizeof运算符


    一 字符集和ASCII码

             结论:字符本质上也是一个整数,每个字符都有唯一一个与之对应的整数,

    比如说小写的a对应97,b对应98,c对应99,大写的A对应65,B对应66,C对应67

    所以字符对应的那个数字,也可以称之为ASCII码值

    二 sizeof运算符

    sizeof:

       用法:sizeof(类型);

       sizeof(变量);

       sizeof(常量);

     可以计算这个类型或者变量或者常量占用的字节数

    tips

       sizeof结果是unsigned long类型(unsigned long; 无符号的long型  有符号:代表可以是负数  无符号:代表只能是正数

    整数类型又分为无符号整型和有符号整型

             int long short都是有符号的整型,其实完整的写法是在前面加一个signed,但是因为默认就是signed,所以直接写int  long short就可以了

     也就是说 int long short都可以保存负数.tips: 整型有无符号和有符号之分别,浮点数没有unsigned

    )

    1. sizeof如果计算的是字符常量,那么会默认把字符转成ASCII值,然后计算出来就是4个字节,注意:只是常量,字符类型和字符变量还是1个

    tips:代码例子如下

    #include <stdio.h>

     

    int main(int argc, const char * argv[]) {

       

        //字符集和ASCII码练习

     

       //    int num1=10,num2=20;

        //

        //    //int sum = num1 + num2;

        //

        //    int sum = num1 + 'a';

        //

        //    printf("%d ",sum);//107

       

       

        char ch = 97;

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

     

    // sizeof运算符的练习

     

      //sizeof计算类型

        /*

         int len = sizeof(char);

         printf("%d ",len);//1

        

         int len2 = sizeof(int);

         printf("%d ",len2);//4

        

         int len3 = sizeof(float);

         printf("%d ",len3);//4

        

         int len4 = sizeof(long);

         printf("%d ",len4);//8

        

         int len5 = sizeof(double);

         printf("%d ",len5);//8

         */

        //sizeof计算变量

        /*

         int num = 10;

         printf("%lu ",sizeof(num));//4

        

         char ch = 'a';

         printf("%lu ",sizeof(ch));//1

        

         float f = 303.333f;

         printf("%lu ",sizeof(f));//4

         */

        //sizeof计算常量

        printf("%lu ",sizeof(10));//4

        printf("%lu ",sizeof(10l));//8

        printf("%lu ",sizeof(10.3f));//4

        printf("%lu ",sizeof(10.333));//8

    printf("%lu ",sizeof('a'));//4个

     

        return 0;

    }

    不忘初心,方得始终
  • 相关阅读:
    一个网络传输框架——zeroMQ 调研笔记
    Node.js的cluster模块——Web后端多进程服务
    boost::spirit unicode 简用记录
    HTTP的长连接和短连接——Node上的测试
    MongoDB 驱动以及分布式集群读取优先级设置
    Lua知识备忘录
    MongoDB使用小结:一些常用操作分享
    此项目与Visual Studio的当前版本不兼容的报错
    @Controller和@RestController的区别
    SQLSERVER中计算某个字段中用分隔符分割的字符的个数
  • 原文地址:https://www.cnblogs.com/jialiangliang/p/5994112.html
Copyright © 2020-2023  润新知