变量与数据类型

一 变量

  1 计算机使用内存来记忆或存储计算时所使用的数据

    计算机执行程序时,组成程序的指令和程序所操作的数据都必须存放在某个地方

    这个地方就是计算机的内存

      也成为主存(main memory)或随机访问存储器(random access memory,RAM)

  2 bit(比特)

  是英文binary digit(二进制数字,0 和 1 )的缩写。比特是表示信息的最小单位,是二进制数的一位包含的信息

  3 Bytes(字节)

  是一个数字信息单位在计算和通信的最常用的八个组成位。可被缩写成B,例如MB,GB。

  4 变量是计算机中一块特定的内存空间(有一个或多个连续的字节组成),不同数据存入具有不同内存地址的空间,相互独立。

  5 数据已经存入内存,如何找到存入的数据呢?

    通过变量名可以简单快速的找到内存中存储的数据。

  6 C语言变量命名规则

    变量名只能有字母,数字和下划线3种字符组成,且第一个字符必须为字母或下划线

    变量名不能包含出下划线以外的任何特殊字符,如 *,%

    不可以使用保留字(32个保留字)

二 数据类型

  

三 给变量赋值

  整型赋值

int main()
{
    int salary1 = 10000;
    printf("salary is %d
d",salary1);
    printf("%d",salary1);
    return 0;
}

  浮点型赋值

int main()
{
    /*int salary1 = 10,salary2 = 20;
    printf("salary1 is %d
",salary1);
    printf("salary2 is %d
",salary2);
    */
    float l = 5.0f,w = 4.0f;
    float s = l * w;
    printf("面积是%.2f",s);
    return 0;
}

  输出:

面积是20.00
Process returned 0 (0x0)   execution time : 0.122 s
Press any key to continue.

  一条语句可以声明多个类型形同的变量

int main()
{
    int salary1 = 10,salary2 = 20;
    printf("salary1 is %d
",salary1);
    printf("salary2 is %d
",salary2);
    return 0;
}

  输出:

salary1 is 10
salary2 is 20

Process returned 0 (0x0)   execution time : 0.136 s
Press any key to continue.

四 转换说明符

  转换说明符确定变量在屏幕上的显示方式。

  https://blog.csdn.net/b_h_l/article/details/7711218

五  浮点型和字符型数据类型

  float:单精度

    位数:32位

    空间:4个字节

    7位有效数字

    注意:

    1 float类型变量赋值时需要在数值的末尾加上一个f

    2 float类型的占位符是 %f

    3 %.2f 可以控制数字的显示精度

  

  double:双精度

    位数:64位

    空间:8个字节

    16位有效数字

    注意

    1 通常小数被存储为double类型,如2.0,9.5

    2 数字后使用L时,数字称为long double 类型,如4.76L。

    3 double类型的占位符是 %lf 。

  

  char

    位数:8位

    空间:1个字节

  

  示例:

   double类型 

#include <stdio.h>
#include <stdlib.h>

int main()
{
   double a = 3.141592653;
   double r = 5.555;
   printf("area is %.4lf",a*r*r);
    return 0;
}

  输出:

area is 96.9433
Process returned 0 (0x0)   execution time : 0.065 s

    

    char类型 

#include <stdio.h>
#include <stdlib.h>

int main()
{
    char ch = 'a';
    printf("ascii number is %d
",ch);
    char ch_num = 65;
    printf("ascii is %c",ch_num);
    return 0;
}

  输出:

ascii number is 97
ascii is A
Process returned 0 (0x0)   execution time : 0.107 s

  转化大小写

#include <stdio.h>
#include <stdlib.h>

int main()
{
    char ch = 'a';
    printf("%c
",ch);
    printf("%c
",ch - 32);
    printf("%c",ch - ' ');// 空格对应的ascii码是32
    return 0;
}

  输出:

a
A
A
Process returned 0 (0x0)   execution time : 0.098 s

六 输入函数

  C函数库包含了多个输入函数,scanf是最通用的一个。

  函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式说明符解析输入对应位置的信息并存储于可变参数列表中对应的指针所指位置。每一个指针要求非空,并且与字符串中的格式符一一顺次对应。

int main()
{
    int num;
    printf("input num ==>:");
    scanf("%d",&num);
    return 0;
}

  注意:

    1 格式字符串的用法与printf函数类似

    2 读取基本类型的值时,变量前要加 & 符号。& 意思:取地址。

七 类型转换

  1 自动类型转换

    原则:把表示范围小的类型的值转换到表示范围大的类型的值

    short -> int -> long -> float ->double 

  2 强制类型转换

    语法: (类型名)变量或数值

  示例:

int main()
{
    double num = 6;//自动类型转换。6是int,num 是double
    printf("double num is %lf
",num);
    int num1 = (int)num; //强制类型转换。num是double,num1 是 int 
    printf("int num is %d",num1);
}

  输出:

double num is 6.000000
int num is 6
Process returned 0 (0x0)   execution time : 0.111 s
原文地址:https://www.cnblogs.com/654321cc/p/9215364.html