C语言day06-12类型说明符

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;

}

    原文作者:liyuhong165
    原文地址: https://www.jianshu.com/p/71d41c608623
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞