美文网首页十天学会C语言程序员
C语言day06-12类型说明符

C语言day06-12类型说明符

作者: liyuhong165 | 来源:发表于2016-05-01 00:13 被阅读140次

    pragma mark 类型说明符

    pragma mark 概念

    pragma mark 代码

    #include <stdio.h>
    char lowerCase(char temp);
    int main()
    {
    #pragma mark  要求用户从键盘输入一个字母,如果用户输入的是大写那么就转换为小写
        
        printf("请输入一个字母\n");
        char charValue;
        scanf("%c",&charValue);
        
        // 转换
    //    charValue = charValue + 32; // 65 + 32 = 97
    //    printf("%c\n",charValue);
        
        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;
    }
    
    

    #pragma mark 类型说明符

    pragma mark 概念

    /**
    类型说明符:
    1.说明长度的(它可以用于修改类型所占用的存储空间的大小)
    short; == short int == 2个字节 == %i / %d
    long; == long int == 8个字节 == %li / %ld
    long long; == long long int == 8字节 == %lli / %lld
    用于说明数据类型,一般情况下和int配合使用

    2.说明符号位(它可以用于修改符号位)
    unsigned; (无符号, 只能取正数/0)
    signed; (有符号, 只能取正数/0) (有符号,默认就是有符号,取值 正数和0以及负数)

    3.不同类型的书名符号可以混合使用
    unsigned short
    signed long
    */

    pragma mark 代码

    include <stdio.h>

    int main()
    {

    pragma mark long

    /*
    // int == 4字节 == -2(31)~2(31)-1
    int number = 123456778901;
    printf("number = %i\n",number);
    
    // int == 4字节, long int == 8 个字节  == -2(63)~2(63)-1
    long int number1 = 123456778901;
    printf("number1 = %li\n",number1);
    
    // long int == long
    // 用%li 或者 %ld来输出long类型的数据
    // C语言中不看怎么存,只看怎么取
    long  number2 = 123456778901;
    printf("number2 = %li\n",number2);
    
    // long long
    // 在64位下,基本没什么区别,但是如果在32为就有区别
    // 32为下long 占用4个字节,long long 占8个字节
    long long int number3 = 123456778901;
    printf("number3 = %li\n",number3);
    
    // 修改Xcode的位数 在项目中  Architecures 修改 (默认为64位)
    //  32位 $(ARCHS_STANDARD_32_BIT) \
        64 位 $(ARCHS_STANDARD)
    // 注意:如果使用 long long修饰变量,那么输出的时候需要使用%lli或者%lld
    printf("long long = %lli ,long = %lli\n",sizeof(number3),sizeof(number2));
    
    
    //  long long int == long long
    long long number4 = 123456778901;
    printf("long long = %lli\n",sizeof(number4));
     */
    

    pragma mark short

    /*
    // int == 4个字节 == -2(31)~2(31)-1
    int  number = 9;    // 0000 1001
    printf("%i\n",number);
    
    // 如果以后需要保持的数据的取值范围没有超过short int的取值范围,可以使用short int来保存
    // 宝石在企业开发中很少使用
    // short int == 2个字节 == -2(15)~2(15)-1
    short int  number1 = 9;    // 0000 1001
    printf("%i\n",number1);
    
    // short int == short
    // 如果要输出 short int 类型的数据,可以使用 %hi 或者 %hd
    short number2 = 9;
    printf("number2 = %i",number2);
    
    printf("short = %i,int = %i\n",sizeof(number1),sizeof(number));
     */
    

    pragma mark 符号位

    /*
    // 如果给变量加上修饰符signed, 代表当前变量的取值可以是 正数 / 负数 / 零
    // 如果给变量加上修饰符signed, 就代表把二进制的最高位作为符号位
    // 而且默认情况下所有变量都是 (signed) 默认情况下 是signed
    int number = 9; // 正数 / 负数 / 零 int == -2(31)~2(31)-1
    printf("number = %i\n",number);
    
    // unsigned 代表无符号,无符号就代表当前变量的取值只能是 正数 / 零
    // 如果给变量加上修饰符signed,就代表不"把"二进制的最高位作为符号位
    
    // 如果想打印无符号的变量, 只能用%u
    unsigned int number1 = -12;
    printf("number1 = %u\n",number1);
     */
    
    // 不同类型的说明符号可以混合使用
    unsigned long int number = 99;
    printf("number = %u\n",number);
    
    signed short int number1 = -23;
    printf("number1 = %u\n",number1);
    
    // 注意:相同类型的说明符不能同时在一起使用
    
    // short long int num2 = 998;
    signed short int  number2 = 22;
    printf("short = %u\n",number2);
    return 0;
    

    }

    相关文章

      网友评论

        本文标题:C语言day06-12类型说明符

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