• c2


    #include <stdio.h>
    
    int main() {
    
        // 整型常量
        10;
        
        // 实型常量(小数)
        // 单精度float / 双精度double
        // 注意: 默认情况下编写的小数都是双精度的实型常量, 也就是默认情况下所有小数都是double
        10.1;// 双精度double
        88.8;// 双精度double
        
        5.2f; //单精度float
        
        // 字符型常量, 用单引号括起来的就是字符型常量
        // 注意: 字符型常量的单引号中只能写一个字符, 如果写多个会报错
        'a'; // 字符型常量
        'ab'; // 错误
        '1';
        '12'; // 错误, 12是由两个字符组成, 由1和2组成
        // '李'; // 错误写法, 因为一个汉字占3个字节
        
        // 字符型常量的特殊情况, 在C语言中, 系统给某些字符的组合定义了特殊的函数, 这些字符的组合可以当做单个字符来使用
        '
    ';
        
        
        
        // 字符串型常量, 用双引号括起来的就是字符串型常量
        // 注意: 无论你用双引号括起来了几个字符, 只要使用双引号括起来的都是字符串常量
        "abc";
        "a";
        
        return 0;
    }
    //
    //  main.c
    //  变量的基本概念
    //
    //  Created by xiaomage on 15/6/3.
    //  Copyright (c) 2015年 xiaomage. All rights reserved.
    //
    
    #include <stdio.h>
    
    int main(int argc, const char * argv[]) {
        
        
        // 1.申请一块存储空间, 也就是定义一个变量
        // 定义变量的格式: 数据类型  变量名称;
        // 定义一个基本数据类型的变量
        // int float double char
        int number; // 定义了一个名称叫做number的变量
        // 会在内存中开辟一块存储空间给number, 用于存储数据
        int value; // 定义了一个名称叫做value的变量
        // 又会在内存中开辟一块存储空间给value, 用于存储数据
        
        
        
        // 连续定义, 如果多个变量都是相同类型的, 那么可以采用连续定义
        int number, value;
        
        // 如何往变量对应的存储空间当中存储数据
        // 注意: 变量中不能随便存储数据, 只能存储与之对应的数据
        // 概念: 变量的第一次赋值, 我们称之为初始化,
        // 注意, 要想使用变量都必须先对变量进行初始化, 然后才能够使用
        // 如果不对变量进行初始化, 那么其实变量中存储的是一些垃圾数据
        number = 10; // 会将等号右边的数据放到等号左边的变量对应的存储空间中
        
        
        // 如何使用变量
        // 占位符号, %号是占位符号的起始符号
        printf("%i
    ", number);
        
        
        float floatValue; // 定义了一个实型的变量
        floatValue = 10.1f; // 往floatValue对应的存储空间中存储了10.1这个值
        printf("%f
    ", floatValue);
        
        int intValue, age; // 定义了一个整型的变量
        printf("%i
    ", intValue);
        printf("%i
    ", age);
        
        
        // 初始化的两种方式
        // 1.先定义再初始化
        int number;
        number = 10;
        // 2.定义的同时初始化
        int value = 10;
        
        // 3.完全初始化
        int number, value;
        number = value = 10;
        
        int number;
        number = 10;
        int value;
        value = number;
    
        // 4.部分初始化
        int number, value = 10;
        
        
        return 0;
    }
    #include <stdio.h>
    
    int call()
    {
        int number; // 定义变量
        return 0;
    }
    
    int value;
    
    int main(int argc, const char * argv[])
    { 
        call();
        number = 50;   
        
        {
            int number;
        }
        number = 50;  
        
        int number;
        {
         // 自己没有找粑粑
            number = 10;
            printf("%i", number);
        }   
        
        
        // 内存寻址从大到小, 如果按照这种规则, 那么先定义的变量内存地址一定大于后定义的变量
        int number = 0;
        int value = 0;
        // 如何获得变量的详细地址(变量的地址), &变量名称
        // 利用%p占位符来打印变量的详细地址
        // 输出的是一个十六进制的数
        //  a/ b/ c/ d/ e/ f/
        // 10/11/12/13/14/15
        printf("%p
    ", &number);
        printf("%p
    ", &value);   
        
        return 0;
    }
    
    函数执行的时候会对函数分配存储空间。函数内的局部变量在函数所在的区域,函数执行结束,函数对应的存储空间释放。
    
    一个变量所占用的存储空间(字节大小),不仅仅跟变量的类型有关,而且跟编译器的环境(16位编译器,32位编译器,64位编译器,ios是64位)有关。
    
    内存寻址从大到小,开辟一个变量,会先开辟内存大的。变量的地址是变量内存空间的首字节地址。
    #include <stdio.h>
    
    int main(int argc, const char * argv[]) {
    //   折叠代码的快捷键 : command + option + 方向键
    //   单行注释的快捷键: command + /
        
        
        int number = 10;
        int value = 20;
        printf("%i, %i
    ", number, value);
        
        float floatValue = 10.1f;
        printf("%f
    ",floatValue);
        
        char charValue = 'a';
        printf("%c
    ", charValue);
        
        double doubleValue = 9.9;
        printf("%lf", doubleValue);
        
        
        // 1.指定位宽
        // 如何指定位宽? %mi; // 其中m就是位宽 而i输出对应类型的数据
        // 默认情况下位宽是右对齐, 如果需要输出的类型宽度不够, 会在左边补空格
        // 如果在位宽前面加上-号, 就会改变位宽的对齐方式为左对齐,如果需要输出的类型宽度不够,会在右边补空格
        int number = 99;
        printf("%5i!!!", number);
        printf("%-5i!!!", number);
        
        // 注意: 如果指定了位宽, 但是实际输出的内容超出了宽度, 会按照实际的宽度来输出
        int number = 9999;
        printf("%2i", number);
        
        // 可以在位宽前面加上0, 如果输出的内容宽度不够就会用0来补, 如果宽度已经够了, 那么会按照实际的宽度输出
        int number = 8;
        // 01
        // 2015-06-05
        printf("%02i", number);//08
        
       
        // 2.保留位数
        // %f默认会保留6位小数
        // 指定保留多少位小数: %.nf, 其中n就是需要保留多少位小数, f用于输出实型
        float floatValue = 3.14;
        printf("%.2f", floatValue);
        
        
        // 3.%f各种坑
        // 为什么指定保留10位之后还不对呢? 因为float类型有效位数是7位(不包括小数点)
        // 如何计算有效位? 从第一个数开始计算
        // 如果输出的数据超出了有效位数, 那么就会出现一些垃圾数据
        float floatValue = 3.1415926525;
        printf("%.10f
    ", floatValue); // 默认情况保留6位,3.1415927410
        
        // 如何想完整的输出那么必须将数据保存位double类型, 因为double类型的有效位是15位
        double doubleValue = 3.1415926525;
        printf("%.10lf
    ", doubleValue);
        
        
        // 如何提高比格
        float floatValue = 3.1415926;
        printf("%.*f", 5,floatValue);
        return 0;
    }
  • 相关阅读:
    吴恩达机器学习笔记——梯度下降算法(2)
    吴恩达机器学习笔记——梯度下降算法(1)
    Java面向对象
    实体框架
    Android Studio 3.4.1中使用com.android.support.v4.view.ViewPager提示不存在该类或程序闪退
    7、认识 Android Service
    安卓付费课程
    在Android Studio中如何添加GSON
    android studio 添加Volley
    android studio里面怎么看file explorer啊?
  • 原文地址:https://www.cnblogs.com/yaowen/p/7363039.html
Copyright © 2020-2023  润新知