• C语言的数据、常量和变量


    一、数据

    图片文字等都是数据,在计算机中以0和1存储。

    (一)分类

    数据分为静态数据和动态数据。

    ①. 静态数据:一些永久性的的数据,一般存储在硬盘中,只要硬盘没坏数据都是存在的。一般以文件的形式存储在硬盘上,电脑关机重启后依然存在。

    ②. 动态数据:程序运行过程中,动态产生的的临时数据,一般存储在内存中,内存的存储空间一般较小,计算机关闭后这些数据就会被清除。软件或者电脑关闭则这些临时数据会被清除。

    ③. 静态数据和动态数据可以转换。

    ④. 注意:为什么不把动态数据存放到硬盘?因为直接访问内存的速度更快。软件安装在硬盘,运行在内存。程序员应该更加关心内存数据。

    (二)数据大小

    ①. 所有的数据都是由0和1组成的。

    ②. 数据都有大小,静态数据占硬盘空间,动态数据占内存空间。

    ③. 数据越大,包含的0和1就越多,

    ④. 存储数据的单位是比特位和字节。一个1或者0就是一个比特位,即1bit。

    ⑤. 计算机中,以字节为单位存储数据。1字节=8比特位(1Byte=8bit)。

    ⑥. 1TB=1024GB,1GB=1024MB,1MB=1024KB,1KB=1024B。

    (三)C语言中的数据类型

      1. 基本数据类型

    1) 整型 (int   %d)

    2) 字符型 (char  %c)

    3) 浮点型 %d

    ①. 单精度浮点型(float)

    ②. 双精度浮点型(double)

    1.   2.指针类型 void *

        3.空类型   void

    2.    4.构造类型

    1) 数组  a[]

    2) 结构体 struct

    3) 枚举   enum

    4) 共用体 union

    注意:C语言中没有布尔类型,表示开始和暂停一般使用0和1表示。

    二、常量

    (一)定义

    常量表示固定的数据。

    (二)分类

    ①. 整型常量    如6,27,-299

    ②. 浮点型常量  如5.43,-2.3,5.67f

    ③. 字符常量    如‘6’,‘a’,‘F’(不能是中文如‘男’)

    ④. 字符串常量  如“6”,“男”,“nanabc”

    三、变量

    (一)定义

    如果一个数据的值时不确定的,或者经常需要改变,则用变量来表示。

    (二)定义变量

    目的:变量使用前必须先进行定义。在内存中分配一块存储空间给变量,以便以后存储数据。如果定义了多个变量则为多个变量分别分配不同的存储空间。

    格式:变量类型+变量名;

    举例:int a;char c;

    注意:变量名属于标识符,需要符合标识符的命名规范。

    问题:为什么定义的变量有很多的类型?

    答:不同类型的变量占用不同大小的存储空间,因为内存极其有限,分配适当的存储空间可以以最少的空间来存储它们,以节省空间。

    记住:只要是不确定的数据就应该定义变量来进行保存。在64位编译器下,int类型占4个字节,共4X8=32bit,char类型占1个字节。

    (三)变量的使用

    初始化:有两种形式。1.int a;a=10;2.int a=10;

    修改:可以修改变量的值,多次赋值以覆盖。

    输出:使用占位符输出变量。各种类型的占位符如下:

    Int   %d或者%i

    Float /double %f(默认情况下输出6位,可以使用.2f来控制)

    Long  %ld

    Long long  %lld

    Char  %c

    字符串 %s

    Unsigned long  %zd

    (四)变量使用注意

    变量的作用域:从变量定义的哪一行开始,直到代码块结束。

    Return;退出函数,清除内存中的数据。

    建议:使用矩形方框和excel来分析内存。

    代码块{}的作用:可以用来提高性能,即时回收不再使用的变量。

    (五)练习

    练习:使用两种方法来交换两个变量的值。

    第一种:

     1 #include<stdio.h>
     2 //交换两个变量的值
     3 
     4 int main()
     5 
     6 {
     7 
     8 int a=10;
     9 
    10 int b=4;
    11 
    12 printf("a=%d,b=%d
    ",a,b);
    13 //定义一个中间变量来完成两个变量之间的交换
    14 
    15 int temp;
    16 
    17 temp=a;
    18 
    19 a=b;
    20 
    21 b=temp;
    22 
    23 printf("a=%d,b=%d
    ",a,b);
    24 
    25 return 0;
    26 
    27 }
    28 
    29 第一种
    第一种

    第二种:

     1 #include<stdio.h>
     2 
     3 int main()
     4 
     5 {
     6 
     7 int a=10;
     8 
     9 int b=4;
    10 
    11 printf("a=%d,b=%d
    ",a,b);
    12 
    13 a=b-a;
    14 
    15 b=b-a;
    16 
    17 a=a+b;
    18 
    19 printf("a=%d,b=%d
    ",a,b);
    20 
    21 return 0;
    22 
    23 }
    24 
    25 第二种
    第二种
  • 相关阅读:
    Codeforces467C George and Job
    Codeforces205E Little Elephant and Furik and RubikLittle Elephant and Furik and Rubik
    Codeforce205C Little Elephant and Interval
    51nod1829 函数
    51nod1574 排列转换
    nowcoder35B 小AA的数列
    Codeforce893E Counting Arrays
    gym101612 Consonant Fencity
    CodeForces559C Gerald and Giant Chess
    CodeForces456D A Lot of Games
  • 原文地址:https://www.cnblogs.com/dondre/p/4091787.html
Copyright © 2020-2023  润新知