zoukankan      html  css  js  c++  java
  • C语言-数据类型、常量、变量、变量作用域、printf、scanf函数

    4、数据类型介绍

        数据:文本数据、音频、视频、图像、数字

        C语言中有5大数据类型:基本类型、构造类型、空类型、指针类型、自定义类型

        基本数据类型:

           

           整型    长整型long int    整型int(4)    端整型short int

           实型    单精度float(4)    双精度 double(8)

           字符型   char(1)

        

        内存:

         1> 内存分配:4G存储大小:4*1024*1024*1024Byte; 内存的基本单元为一个字节(就是8bit)

         2> 内存区域:栈 (存放局部变量)

                    堆 (存放动态分配的数据, 比如:类对象,函数malloc要求系统分

                        配的内存,动态分配的内存都需要程序要自己释放)

                    常量区 (存放常量)

                    代码区 (代码区:代码内的局部变量在这里分配内存)

                    全局变量区(静态区)

     5、常量

        固定不变的量

        1)整型常量

           2       0b开头   0b00001010;

           8       0开头    012;

           10      默认     10

           16      0x      0xff01

        2)实型常量

           单精度:2.3f

           双精度:4.5 (默认)

        3)字符型常量

           'a'  ' '  '$'  ' '(转义字符)

        4)字符串常量

           "abc"  "a"

     6、变量

        在计算机中存储经常变量的数据

        变量在内存中代表了一块内存区域

        使用流程:

        定义 ---- 初始化  ----使用

        1)变量的定义:

            int a;

            int a,b,c;

            变量定义完成以后,有值:

            1)随机的 2)上一个程序在内存中驻留的 3)系统的

        2)变量的初始化

            1)先定义,后初始化

               int a;

               a = 10;

            2)定义的同事进行初始化

               int a = -1;

               全部初始化:int a = -1,b=0;

               部分初始化:int a,b = -1;

            3)使用其他的变量初始化

               int a = 0;

               int b = a;

            4)连续初始化

               int a,b,c;

               a = b = c =10;

        3)变量的使用

              int a =0;

              int b;

              b = a+10;

              a = b;

        4)变量名称遵守标识符的命名规则

     7、变量的作用域

         变量的使用范围

         变量分:局部变量和全局变量

         局部变量:函数或者代码块中定义的变量

                 作用域:从定义的位置开始向下 遇到 “}” 作用域结束

         全局变量:在函数的外部定义的

                 作用域:从定义的地方开始,到当前文件结束

         注意:

         1)块的内部可以访问全局变量  

         2)在块的外部不能访问块内部的变量

         3)块的内部可以定义和全局变量同名的变量(屏蔽)

        为什么变量要初始化:

        因为程序结束后,操作系统会释放内存,但是内存中得值还在,所以我们定义的变量有可能使用了上次系统释放的内存

     8、printf函数

        printf函数 标准的输出函数

        输出的原理 : printf把要输出的内容--->输出缓冲区-->输出到控制台

       

        格式:printf("格式说明",变量列表)

        

        格式说明符:

        %d  整型   %i 可以

        %md  %0md

        %c  字符型

        %f  实型   %e  %g

        %o  八进制

        %p  地址

        %x  16进制

     9、scanf函数(阻塞式函数-等待用户的输入,如果不输入会一直等待)

        C语言中标准的输入函数

        接收用户从键盘上输入的内容

        格式:scanf("格式控制",地址列表)     地址怎么来的?  &-取地址符号

        1)接受一个数字

         int a=-1;

         scanf("%d",&a);

         

         注意:在输入字符之前 输入了 回车、tab制表、空格 ,都被忽略

         

         scanf("%5d",&a);  //%md  m就是要获取的数据的位数

        2)接受多个数字

        3)接受的是数字和字符混合

        4)scanf的运行原理  先输入到缓冲区,然后输出到控制台;

         //接收多个数字的问题

         //    int a=-1,b=-1;

         //    scanf("%d%d",&a,&b);

         //    printf("a = %d,b = %d ",a,b);

         

         //接受指定的位数的问题

         //    int a=-1;

         //    scanf("%5d",&a);

         //    printf("a = %d ",a);

         

         //字符混和输入

         //    int a=-1;

         //    char ch;

         //    scanf("%d#%c",&a,&ch);  //","是一个普通的分隔符 ,输入数据的时候也要用“,”分隔

         ////    scanf("%d%c",&a,&ch); //有问题的,涉及到scanf的运行原理,稍后讲

         //    printf("a = %d,ch = %c ",a,ch);

         

         

         //关于 问题 ,

         

         //    int a= -1;

         //    scanf("%d ",&a);  // 换行符,尽量避免这种写法

         //    printf("a = %d",a,b);

         

         int a=-1,b=-1;

         char ch;

         char c;

         

         scanf("%d",&a); //接收三个内容,格式: 12 b 34

         scanf("%c",&ch); //空格

         scanf("%c",&ch);  //b

         scanf("%c",&c);  //空格

         scanf("%d",&b);  //34

         printf("a = %d,ch = %c,b = %d ",a,ch,b);

         

  • 相关阅读:
    zookeeper安装(linux)
    rabbitmq安装(linux)遇到 很多坑
    关于mysql数据库连接异常处理
    git放弃修改&放弃增加文件
    git使用常见问题
    base64字符串转化成图片
    Block小结
    关闭selinux
    Ctrl快捷键和vim快捷键
    正则表达式扩展正则
  • 原文地址:https://www.cnblogs.com/-boy/p/4019831.html
Copyright © 2011-2022 走看看