zoukankan      html  css  js  c++  java
  • 03 变量

    ------------恢复内容开始------------

    1,变量是程序的基本组成单位,比如:

     1 //1,引入头文件
     2 #include<stdio.h>
     3 
     4 void main() {
     5     int a = 1;//定义了一个整型变量,取名为a ,并赋值为1(强数据类型语言)
     6     int b = 3;
     7     b = 89;//给变量赋值 为 89
     8     printf("a=%d
    ", a);//使用输出语句,把变量a的值输出,%d表示输出的形式为整数
     9     printf("b=%d
    ", b);
    10 }

     2,变量的概念:

      ①变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量(值)

      ②

     1 //1,引入头文件
     2 #include<stdio.h>
     3 
     4 void main() {
     5     int num = 1;//整型
     6     double score = 2.3;//小数
     7     char gender = 'A';//字符
     8     char name[] = "张三";//字符串
     9     printf("num=%d score=%.2f gender=%c name=%s", num, score, gender, name);
    10     说明:
    11         1,如果输出的是整数:%d
    12         2,如果输出的是小数 %f 如果希望保留2位小数 %.2f
    13         3,如果输出的是字符:%c
    14         4,如果输出的是字符串  %s
    15         5,在输出不同数据时,对应的格式化的形式要对应起来
    16 }

      ③变量使用注意事项:

        变量表示内存中的一个存储区域(不同的数据类型,占用的空间大小不一样)

        该区域有自己的名称和类型

        变量必须先声明,后使用

        该区域的数据可以在同一类型范围内不断变化

        变量在同一个作用域内不能重名

        变量三要素(变量名+值+数据类型)

      ④变量的数据类型

        每一中数据都定义了明确的数据类型,在内存中分配了不同大小的内存空间(使用多少字节表示)

        

        注意:在C中,没有字符串类型,使用字符数组表示字符串

           在不同系统上,部分数据类型字节长度不一样,int 2 或者4

      ⑤整数类型

        C语言的整数类型就是用于存放整数值的

    类型 存储大小 值范围
    char 1字节 -128到127, 即- 2^7 到 (2^7-1)
    unsigned char 1字节 0到255 (2^8-1)
    signed char 1字节 -128到127, 即- 2^7 到 (2^7-1)

    int

    signed int

    2字节或4字节

    -32768到32767 ( 2^15 -1)

    或 -2147483648到2147483647 ( 2^31-1)

    unsigned int 2字节或4字节

    0到65535 ( 2^16-1)

    或0到4294967295(2^32-1)

    short

    signed short

    2字节 -32768到32767 ( 2^15 -1)
    unsigned short 2字节 0到65535 ( 2^16-1)

    long

    signed long

    4字节 -2147483648到2147483647 ( 2^31-1)
    unsigned long 4字节 0到4294967295(2^32-1)

         各种类型的存储大小与操作系统,系统位数和编译器有关

         C语言的整数类型,分为有符号 signed 和无符号 unsigned 两种,默认是signed

         C 程序中整型常声明为 int 型,除非不足以表示大数,才使用 long long

         bit(位):计算机中的最小存储单位,byte(字节):计算机中基本存储单元

          1 byte =8 bit 

          如:short 3  在内存中占有2个字节

            int 3 在内存中占有4个字节

            

       ⑥浮点类型

        C语言的浮点类型可以表示一个小数

        分类:float 单精度  4字节

              double 双精度 8字节

        关于浮点数在机器中存放形式的简单说明,浮点数=符号位+指数位+尾数位,浮点数是近似值

        尾数部分可能丢失,造成精度损失

        浮点型常量默认为 double 型,声明 float 型常量时,后加 ' f ' 或 ' F '

        浮点型常量有两种表示形式:

          十进制数形式:如:5.12      512.0f       .512(必须有小数点)

          科学计数法形式:如:5.12e2      5.12E-2

        通常情况下,应该使用double型,因为它比 float 型更精确

        printf(" dl = %f " , dl );  //在输出时,默认保留,小数点后6位 

     1 //1,引入头文件
     2 #include<stdio.h>
     3 
     4 
     5 void main() {
     6     //浮点型常量默认为double型,声明float型常量时,需要加"f"或"F"
     7     float d1 = 1.18909095;
     8     float d2 = 1.1f;
     9     double d3 = 1.3;
    10     double d4 = 5.12;
    11     double d5 = .512; //等价0.512
    12     double d6 = 5.12e2;  //等价 5.12*(10^2)=512
    13     double d7 = 5.12e-2; //等价 5.12*(10^-2)=0.0512
    14     
    15     //在输出时,如果%f默认保留小数点后6位
    16     printf("d1=%.15f  d2=%f  d3=%f   d4=%f  d5=%f  d6=%f  d7=%f", d1, d2, d3, d4, d5, d6, d7);
    17 }

       ⑦字符类型(char)

        字符类型可以是单个字符,字符类型是char,char 是1个字节(可以存字母或者数字),多个字符成为字符串,在C语言中,使用char数组表示,数组不是基本数据类型,而是构造类型

        基本使用:

    1 //1,引入头文件
    2 #include<stdio.h>
    3 
    4 void main() {
    5     char c1 = 'A';
    6     char c2 = '0';
    7     char c3 = '	';
    8     printf("c1=%c  c2=%c  c3=%c ", c1, c2, c3);
    9 }

       使用细节:

        字符常量时用单引号括起来的单个字符

        C中还允许使用转义字符 ' ' 来将其后的字符转变为特殊字符型常量

        在C中,char的本质是一个整数,在输出时,是ASCII码对应的字符

        可以直接给char赋一个整数,然后输出时,会按照对应的ASCII字符输出

        char类型是可以进行运算的,相当于一个整数,因为它都对应有unicode码

    1 #include<stdio.h>
    2 
    3 void main() {
    4     char c1 = 'a';
    5     char c2 = 'b';
    6     char c3 = 97; //这时当我们以%c输出时,就会安装ASCII编码表,理解字符《==》数字的对应关系,97对应字符 a
    7     int num = c2 + 10;  //98+10
    8     printf("c1=%c c2=%c c3=%c num=%d", c1, c2, c3, num);
    9 }

        字符类型本质探讨:

        字符型存储到计算机中,需要将字符对应的码值(整数)找出来

        存储:字符 ' a ' --->码值(97) --> 二进制 (1100001) --> 存储()

        读取:二进制(1100001) --> 码值(97) --> 字符 'a' --> 读取(显示)

        字符和码值的对应关系是通过字符编码决定的

        ASCII码介绍

        在计算机内部,所有数据都使用二进制表示,每一个二进制位(bit)有0和1两种状态,因此8个二进制位就可以组合出256中状态,这被称为一个字节(byte),一个字节一共可以用来表示256中不同的状态,每一个状态对应一个符号,就是256个符号,从00000000到11111111

        ASCII码:上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定,这被称为ASCII码,ASCII码一共规定了127个字符编码,比如空格 " SPACE" 是32(二进制00100000),大写的字母A是65(二进制01000001)。这128个符号(包括32个不能打印出来的控制符号),只占用了一个字节的后面7位,最前面的1位统一为0.

        ASCII码表

        缺点:不能表示所有字符

      ⑧布尔类型:boolean

        C语言标准(C89)没有定义布尔类型,所以C语言判断真假时以0为假,非0为真

        但这种做法不直观,所以我们可以借助C语言的宏定义

        C语言标准提供了_Bool型,_Bool 仍是整数类型,但与一般整型不同的是,_Bool 变量只能赋值0或1,非0的值都会被存储为1,C99 还提供了一个头文件 <stdbool.h>定义了bool 代表_Bool,true代表1,false代表0,只要导入 stdbool.h ,就能方便的操作布尔类型了,比如 bool flag=false;

     1 #include<stdio.h>
     2 //宏定义
     3 #define BOOL int
     4 #define TRUE 1
     5 #define FALSE 0
     6 
     7 void main() {
     8     int isPass = -1; //0表示假,非0表示真
     9     //定义一个布尔变量
    10     BOOL isOK = TRUE;  //等价于 int isOK=1
    11 
    12     if (isPass) {  
    13         printf("通过考试
    ");
    14     }
    15     if (isOK) {
    16         printf("OK");
    17     }
    18 }

      打印结果:

      通过考试

      OK

            

  • 相关阅读:
    myeclipse16怎么去掉项目中的CodeLive Panel?
    JTable动态刷新数据
    javaEE中config.properties文件乱码解决办法
    ZipUtil
    uri中为什么本地文件file后面跟三个斜杠, http等协议跟两个斜杠?
    Java中Access restriction:····的解决方法
    libGDX开发环境搭建-Android Studio 最新版
    mxnet反序列化: 由symbol到gluon
    mxnet symbol reshape用法
    Hybrid
  • 原文地址:https://www.cnblogs.com/shanlu0000/p/12337219.html
Copyright © 2011-2022 走看看