4-C语言中的变量

一.C 语⾔中的变量

       在实际编程和⽣活中, 某些数据并不是⼀成不变的,⽽是根据实际的需求,可以时时改变。这样变量的 应运⽽⽣。数据可以变量的量,我们叫做变量。本质是系统在内存中申请⼀块空间,根据⽤户的需求, 随时改变申请空间中的数据。

  •        1. 数据类型  变量名;

数据类型:  
char       // 占1bytes  ,⼀般⽤于存储字符 ---'A'  

short      // 占2bytes  ,⼀般⽤于存储整数---30,-30
      
int        // 占4bytes  ,⼀般⽤于存储整数(范围更⼤)---30,-30
         
float      // 占4bytes  ,⼀般⽤于存储⼩数---3.14
       
double    // 占8bytes  ,⼀般⽤于存储⼩数(范围更⼤)-----4.54
    
long      //  占8bytes  ,⼀般⽤于存储整数(
      
long long   // 占8bytes  ,⼀般⽤于存储整数(范围超级⼤)


// 变量名:由字符,数字,字母,下划线组成,首个单词一定是字母或下划线

例如:
 int  a;          // 整数
       
 short b

 char  c_15;  
 
 float  d           // 小数

 double e;  

 double &&#a;       //errror

 double _p7; 
  • 2.存储

        int a;

        内存分布如下:

  •           

示例代码:

3.sizeof

   sizeof(变量名) 或者 sizeof(数据类型)

int a;
 printf("sizeof(a) = %ld\n",sizeof(a));  
printf("sizeof(int) = %ld\n",sizeof(int));

练习:

1. 要求⾃⼰设计 3 个变量 a,b,c。分别⽤来保存 10,3.14,'M’ 这 3 个数据

2. 分别利⽤ sizeof 输出 a,b,c 的⼤小

3. 然后输出 a,b,c 的值

二. c语言中的输入

      4.c语言中提供的输入函数

  •          C语言中得到变地址的方法
  •          int a;

内存分布如下:

  •  获得变量地址的方法:&a
  •                                 &位获取地址符号,获得a变量在内存中的地址
  •          %p打印变量在内存中的地址信息

例如:

int a;
printf("&a=%p \n", &a);

           5.scanf

格式:

          scanf(“格式控制串”, 变量 1 的地址,变量 2 的地址…);

          功能: 从键盘输⼊数据存放到变量 1,变量 2…, 变量 n 所表示的内存单元。

变量地址:

           格式: & + 变量名

            功能: 获得变量在内存中的地址信息, printf 通过 %p 可以打印对应的地址信息。

格式控制符:

             10进制数的输入:

格式: 
scanf("%d%d...",变量1的地址,变2的地址....);


功能:⽤户从键盘输⼊整数赋值给变量以空格,回⻋,tab键作为输⼊的分隔符号。

           小数的输入:%f--float   %lf--double

格式: scanf("%f%f...",变量1的地址,变量2的地址...);

功能:⽤户从键盘输⼊⼩数赋值给变,空格,回⻋,tab键作为输⼊的分隔符号。

            字符的输入%c

格式: 
scanf("%c%c...",变量的地址,变量2的地址...);

功能:⽤户从键盘输⼊字符赋值给变量. 字符数据必须连续没有对应的分隔符号。

示例代码 1:

  

 #include <stdio.h>
 int main()
 {
        int x,y;
        float b;
        double c;
        printf("please input two int data :");
        scanf("%d%d",&x,&y);
        printf("x = %d y = %d\n",x,y);
        printf("please input two float data :");
        scanf("%f%lf",&b,&c);
        printf("b = %f c = %lf\n",b,c);
        return 0;
 }

示例代码 2:

 #include <stdio.h>
 int main()
 {
        char x,y,z;
        printf("please input three character : ");
        scanf("%c%c%c",&x,&y,&z);
        printf("x = %c : %d\n",x,x);
        printf("y = %c : %d\n",y,y);
        printf("z = %c : %d\n",z,z);
        return 0;
 }