三种进制及其转换、char、浮点型

时间:2022-06-08 19:12:47

1、三种进制及其转换

        int i = 10000000000;//超出整型数域范围
        NSLog(@"%d", i);
        i = 1000000000 * 10;
        int a = 1000000000;
        int b = 10;
        //...
        i = a * b;

        long j = 1000000000L * 10;//两个整型数相乘,结果还是整型
        NSLog(@"%ld", j);

        int c = 5 / 3;//两个整型数相除,结果还是整型
        NSLog(@"%d", c);
        int x;
        x = 100;//十进制
        NSLog(@"%d", x);

        x = 0100;//八进制
        NSLog(@"%d", x);
        NSLog(@"%#o", x);

        x = 0x100;//十六进制
        NSLog(@"%d", x);
        NSLog(@"%#x", x);

2、char

字符型
转义字符
        //char ch = '中';//字符型变量不能存储中文
        NSLog(@"%lu", sizeof("中国人"));//汉字只能用双引号引起来,不能使用单引号

        char c1;
        NSLog(@"%lu", sizeof(c1));
        c1 = 100;
        NSLog(@"%d", c1);

        unsigned char c2;
        NSLog(@"%lu", sizeof(c2));
        c2 = 100;
        NSLog(@"%u", c2);

        char c;
        c = 'a';
        NSLog(@"%d", c);
        NSLog(@"%c", c);
        c = 'ABC';//当用单引号引起来多个字符时,只保留最后一个
        NSLog(@"%c", c);
        //c = '';//两个单引号之间不能没有字符

        c = 'A';
        c = c + 1;
        NSLog(@"%c", c);
        c = 'A';
        c = c + 32;//从大写字母向小写字母转换
        NSLog(@"%c", c);
        c = c - 32;//从小写字母向大写字母转换
        NSLog(@"%c", c);
        //\n
        NSLog(@"Hello\n world!");

        //\r
        NSLog(@"abcdef\rhij");

        //\t
        NSLog(@"姓名\t\t年龄");
        NSLog(@"zhangsan\t18");
        NSLog(@"lisi\t\t20");

        //\'
        char ch = '\'';
        NSLog(@"%c", ch);

        //\"
        NSLog(@"他说:\"你好\"");

        //反斜线
        NSLog(@"打印一个反斜线\\");

        //%
        NSLog(@"5%%");

3、浮点型(关键字、字节数、数域范围、占位符)

关键字        字节数            数域范围            占位符
float                4                   10^-38~10^37    %f %g %f默认输出小数点后6位 %g小数位多少位就是输出多少位最多不超过6位,小数精度6位
double            8                    10^-308~10^307    %lf %lg 小数精度15位
long double    16                  10^-4096~10^4951    %Lf 小数精度6位,占位符为大写的L

4、字面值(常量)后缀

        //整型
        int a = 100;
        long int l = 100L;//L是长整型常量的后缀
        long long int ll = 100LL;//LL是长长整型常量的后缀
        unsigned int ui = 100u;//u是无符号整型常量的后缀
        unsigned long int uli = 100ul;//ul是无符号长整型常量的后缀
        unsigned long long int ulli = 100ull;//ull是无符号长长整型常量的后缀


        //浮点型
        float f = 3.14f;//f是float数据类型的后缀
        double d = 3.14;
        long double ld = 3.14L;//L是long double数据类型的后缀

5、sizeof():

是一个运算符不是一个函数,求所占字节数用

6、scanf()函数

scanf("%*c");//清楚键盘缓冲区中的\r

7、运算符

能完成一定功能的符号,如“+”
优先级:两个不同的运算符,先算谁的问题
结核性:两个相同的运算符,先算谁的问题
算数运算符
自增自减运算符
逻辑值

思考练习

1、从键盘输入一诶个两位数,如“35”,然后将其反向输出,如“53”
2、从键盘输入一个总秒数,输出时分秒
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
解析:

int main()
{
    @autoreleasepool {
        int x;
        NSLog(@"请输入一个两位数:");
        scanf("%d", &x);

        NSLog(@"%d%d", x % 10, x / 10);


        int seconds;
        NSLog(@"请输入一个总秒数:");
        scanf("%d", &seconds);

        int hour = seconds / 3600;
        int minute = seconds % 3600 / 60;
        int second = seconds % 60;

        NSLog(@"%02d:%02d:%02d", hour, minute, second);
    }
    return 0;
}