数据的处理

  1. 思考1个问题

    将QQ程序运行起来.
    QQ程序在运行之前存储在硬盘中.当我们运行QQ程序以后.
    这个程序就被运行在内存中.

  2. 当我们点击登录按钮QQ程序做的事情
    1). 读取输入的QQ号码
    2). 读取输入的QQ密码
    3). 将读取到的号码和密码发送给腾讯的服务器.

    请思考:
    在QQ软件将QQ号码和密码发送给腾讯服务器之前,这个QQ程序需要不需要将号码和密码存储1下.

    答案是肯定的.
    肯定需要将这些数据存储起来.如果自己不存储起来 那么如何处理呢?

    程序其实就是在处理数据.

  3. 思考三个问题
    程序如果要处理数据:?

    1). 程序自己要不要把这些数据存储起来.
    肯定要. 自己不存储起来如何处理呢?

    2). 存储在什么地方?
    内存? 因为程序自己就在内存中.

    3). 怎么存?

  4. 如何将数据存储在内存之中.

    1). 我们为什么要存储数据?
    因为这个数据我们后面要用.

    2). 如何将数据存储在内存之中.
    先在内存中挖1个坑,然后将这个数据存储在这个坑中.当我们想用这个数据的时候,只要找到这个坑就可以使用存储在坑中的数据.

    3). 每1个坑在内存中都有1个独一无二的地址.是1个十六进制的表示. 0x...
    通过这个地址就可以找到这个坑 使用这个坑中的数据.
    然后地址是很记忆的. 为了解决这个问题.我们为每1个坑取了1个别名.
    我们在挖坑的时候.就要为这个坑指定别名.
    通过这个别名就可以找到这个坑,并且使用坑中的数据.

    挖坑的同时,
    a. 地址自动就有了.系统自动分配.
    b. 要自己指定这个坑的别名.
    

    4). 在挖坑的时候,必须要指定这个坑的类型.
    坑的类型决定了可以往这个坑中存储的数据的类型.
    如果指定这个坑是1个整型坑.那么这个坑中就只能存储整型的数据 否则就有可能回发生坑毁人亡的悲剧。
    5). 常见的坑的类型 必须掌握.
    int float double char
    你只需要知道1件事情.他们只是坑的四种类型.你只需要知道当坑的类型是他们的时候,坑中可以存储什么数据.

    如果坑的类型是int类型 那么这个坑中可以存储 -2147483648 ~ +2147483647 之间的整数. 
                       如果存储的数据不是这个范围的数就会有问题.
    
    如果坑的类型是float类型 那么这个坑中可以存储有效位数不超过7位的小数.
                        有效位数: 去掉小数点.的位数. 12.123   45.125678
                        如果你往其中存储的小数的有效位数超过了7位,那么超出的部分无法精确存储.只能精确存储前面的7位.
    
    如果坑的类型是doube类型.那么这个坑中可以存储有效位数不超过16位的小数.
                        如果你往其中存储的小数的有效位数超过了16位,那么超出的部分无法精确存储.只能精确存储前面的16位.
    
    如果坑的类型是char类型.只能存储单个字符.  A  B  C  D X
    

6). 如果有数据想要存储在内存中.

     a. 先看数据. 看数据是1个什么类型的.
        80 

     b. 根据数据的类型来挖坑.
        int  num 

5.在内存中存储数据的专业话术.

 如果我们要在内存中存储数据. 
 1). 就要先在内存中 开辟 1块空间.
 2). 在开辟这个空间的同时,要指定这个空间的别名和类型.
 3). 这个空间的类型决定了 这个空间中可以存储的数据的类型.


 常见的空间类型: int 整型.
               float 单精度浮点型
               double 双精度浮点型.
               char   字符型
        
    
               float和double统称浮点型或者实型.

6.变量

1). 变量: 变量就是内存中开辟的用来存储数据的那块空间.所以变量是用来存储数据的.
    变量的值: 存储在变量所代表的那块空间中的数据.就叫做变量的值.
    变量的名称: 为变量所代表的那块空间取的别名,叫做变量的名称.
    变量的类型: 变量所代表的那块空间的类型 就叫做变量的类型.


    变量的本质是: 在内存中存储数据的那块空间.


2). 所以如果我们要在内存中存储数据.就只需要声明1个变量. 
    声明1个变量.其实就是在内存中开辟了1块空间来存储数据.

     

3). 如何声明变量.

    数据类型 变量名称;

    数据类型就是我们刚说的空间的类型: int float double char
    变量的名称基本上我们可以随意.


    int num;
    当CPU执行这句代码的时候.CPU会在内存中开辟1块空间 空间的类型是int 空间的名字是num
    用这个空间来存储数据.
    因为这个空间是int类型的.所以这个空间中只能存储-2147483648 ~ +2147483647 之间的整数.
    否则坑毁人亡.


    float num;
    当CPU执行这句代码的时候.CPU会在内存中开辟1块空间 空间的类型是float 空间的名字是num
    用这个空间来存储数据.
    因为这个空间是float类型的.所以这个空间中只能存储 所以就只能精确的存储有效位数不超过7位的小数.
    否则坑毁人亡.


    double num;
    当CPU执行这句代码的时候.CPU会在内存中开辟1块空间 空间的类型是double 空间的名字是num
    用这个空间来存储数据.
    因为这个空间是double类型的.所以这个空间中只能存储 所以就只能精确的存储有效位数不超过16位的小数.
    否则坑毁人亡.

    
    char ch;
    当CPU执行这句代码的时候.CPU会在内存中开辟1块空间 空间的类型是char 空间的名字是ch
    用这个空间来存储数据.
    因为这个空间是char类型的.所以这个空间中只能存储 单个字符
    否则坑毁人亡.


    我们声明1个变量.实际上就是在内存中开辟1块指定类型 指定别名的空间.
    变量就代表这个空间.

7.往变量所代表的空间中存储数据.

格式语法:
变量名 = 数据;   

int num;
num = 100;

1). 这个等号和你数学中的等号是完全不同的.
    叫做赋值符号.
    赋值符号的作用: 将右边的数据 存储到 左边的变量所代表的空间中去.

2). 为int类型的变量赋值.
    int num;
    num = 199;
    因为变量的类型是int类型的.所以为int变量赋值的时候,赋值的数据不能超过指定的范围.
    a. 如果给的数据太太太大. 直接报语法错误.
    b. 如果我们为int变量赋值了1个小数.只会存储这个小数的整数部分.不会做四舍五入.
    c. 如果给的数据超过的范围并不多.这个时候存储的是随机值
3). 为float类型的变量赋值.
    a. 在C语言中如果我们直接写1个小数.那么这个小数的类型是double类型的.
       如果我们就是希望这个小数是1个float类型的.那么就在这个小数的后面加1个f/F
       代表前面的这个小数的类型是1个float类型的.
       记住这句话: 为float变量赋值的时候.赋值的小数后面要加1个f
    b. float只能精确保存有效位数不超过7位的小数.
       如果赋值的数据的有效位数超过了7位. 那么超出的部分就不会精确保存.


4). 为double类型的变量赋值.
     
    a. 在C语言中如果我们直接写1个小数.那么这个小数的类型是double类型的.
        所以可以直接将1个小数赋值给1个double变量.

    b. double只能精确保存有效位数不超过16位的小数.
       如果赋值的数据的有效位数超过了16位. 那么超出的部分就不会精确保存.


5). 为char类型的变量赋值.

    a. char变量中只能存储单个字符.并且这单个字符还要用单引号引起来.

    b. 如果给的字符太多,保存最后1个.

    c. 空格也是1个字符. 所以也可以存储1个空格

    d. char变量中无法存储中文.

       在C语言中1个中文字符占3个字节 而1个char变量占1个字节.

8.如何使用存储在变量中的数据呢?

非常简单轻松Easy!
什么时候想要使用变量中的数据,就直接写上变量的名字就可以使用了.
 int num1;
 int num2;
 num1 = 5;
 num2 = 20;
 int num3;
 num3 = num1 + num2;
 在执行这句代码的时候 会先将num1的值和num2的值取出来放这.再计算.
 1). 使用变量的值最常见的方式.是将变量的值输出.
 2). 输出变量的值.
     使用printf函数就可以输出变量的值.
     a. 格式1:
        printf("输出信息");
        双引号中的内容原样输出.

     b. 格式2: 输出变量的值
        printf("格式控制字符串",变量列表);

        在格式控制字符串中如果有地方要显示变量的值.那么就使用1个占位符来占位.
        输出的变量的类型不同占位符是不一样的.
        如果输出的变量的类型是int类型的,那么就使用%d占位符.
        int num;
        num = 100;
        printf("num = %d\n",num);
        %d代表这个地方不要原样输出.而是输出1个整型变量的值.
        那个整型变量呢?你就把整型变量的名字写在后面就可以啦.
        如果输出的变量的类型是float类型.那么就使用%f占位符. 默认输出小数点后面的6位.
        如果输出的变量的类型是double类型的.那么就使用%lf占位符 默认输出小数点后面的6位.
        如果输出的变量的类型是char类型的 那么就使用%c占位符.
        务必要记住,输出变量使用那一种占位符. 如果使用的占位符和输出的变量的类型不匹配的话.那么输出的结果就是错误的.
         

 3). 使用printf函数一次输出多个变量的值.
     a. 格式控制字符串中可以写多个占位符.
     int num1;
     num1 = 10;
     float f1;
     f1 = 12.12f;
     double d1;
     d1 = 12.134;
     char ch;
     ch = 'a';  
     printf("num1变量的值是%d,f1变量的值是%f,d1变量的值是%lf,ch的值是%c",num1,f1,d1,ch);
     后面依次写上要占位的变量.
     注意:
     a. 后面的变量一定要按照顺序来写. 因为在填占位符的时候是按照顺序来占位的.
        否则值就会混乱
     b. 后面的变量的个数要和前面一致.如果没有变量填的就显示随机值.

9.使用变量注意的几个细节问题

1). 既生double,又何生float?

    double空间是float空间的两倍大小. 所以数据如果本身有效位数不超过7位的话,使用double来存储就显得浪费.


2). 可以在声明变量的同时就为变量赋值.

    数据类型 变量名称 = 数据;
    int num = 10;
    代表声明了1个int类型的变量num 并为其赋值10

3). 如果我们要声明多个类型相同的变量.可以使用批量声明的方式来简写.
    int num1 = 10,num2 = 20,num3,num4 = 30,num5;
    注意:前提是类型相同的变量.

4). 赋值语句的规范.
    赋值符号的两边使用一个空格隔开.这样我们的代码看起来就爽歪歪.


5). 垃圾值
    我们声明1个变量.如果没有为这个变量赋值. 这个变量中是有值的.
    是1个随机数. 并不是一定是0 而是1个随机数.
    我们声明1个变量.没有为这个变量赋值.这个变量中是有值的.这个值叫做垃圾值. 值是不确定的.

    所以为了保证我们的程序不会出意想不到的问题. 
    要求声明完1个变量,就应该立即为这个变量赋值1个初始值.


6). 变量可以重复赋值.

    为变量赋值的时候.如果变量中已经有值了. 新值会将旧值覆盖掉. 不会同时存在.
    变量的特点: 喜新厌旧.


7). 为变量赋值的时候,可以将1个变量的值赋值给另外1个变量.


 int num1 = 10;
 
 int num2 = num1;
    
 这句话的意思: 将num1的值赋值给num2.

 变量之间的赋值原理:
 将源变量的值拷贝1份. 将这个副本再赋值给目标变量.
 int num2 = num1;

 将num1变量的值复制1份.将这个复制 赋值给num2变量.
 所以 num2变量的值是10 num1的值还在.


8). 使用变量之前,必须要保证变量已经声明了


9). 同一个变量不允许重复定义.

10.变量的命名规则以及规范.

 变量的名称是由攻城狮自己定义的. 变量的命名必须要遵守规则和规范.


 1). 变量的命名规则: 如果不遵守,编译器直接报语法错误.

    a. 变量名只能以任意的字母、下划线、$开头,不能以数字开头
    b. 后面只能跟任意的字母、数字、下划线还有$
    c. 不能与C的关键字重名.
         关键字: 指的是一些英文单词在C语言之中代表特殊的意义. 不能把他们作为变量的名字.
         关键字在Xcode中是以特殊的颜色显示的 所以你发现你的变量名字是以这个颜色显示的 那就说明这是1个关键字
         赶紧换.
    d. C语言严格区分大小写.
       如果变量名大小写不一样 那么就是完全不同的变量.

    e. 变量一定要先声明 再使用.

    f. 在同1个大括弧之中,不允许定义多个变量名相同的变量.
        同1个变量 在同1个大括弧之中 不允许重复定义.

    任意1点如果不遵守,直接报语法错误.


 2). 变量的命名规范: 你可以不遵守,编译不会报错,可以执行. 但是所有的程序员都在遵守.

    a. 变量的名字要取得有意义. 别人1看变量的名字就知道这个变量中存储的是神马数据.
       知名达意.

    b. 如果变量的名字是由多个单词组成的. 第1个单词的首字母小写 其他单词的首字母大写.
       1个拼音算1个单词.

是不是1个合格的程序员. 看你是否遵守规范.

1). 勤写注释
2). 变量的命名符合规范.
3). 代码摆整齐.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,911评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,014评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,129评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,283评论 1 264
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,159评论 4 357
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,161评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,565评论 3 382
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,251评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,531评论 1 292
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,619评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,383评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,255评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,624评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,916评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,199评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,553评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,756评论 2 335

推荐阅读更多精彩内容