美文网首页我的iOS学习过程
第二天 常量变量数据类型自增自减sizeof

第二天 常量变量数据类型自增自减sizeof

作者: 青菜君 | 来源:发表于2015-10-19 11:11 被阅读41次

关键字

  • C语言提供的有特殊含义的符号 也叫做"保留字" 一共32个
  • 作用:表示或实现一些功能
  • 注意:全部是小写

标识符

  • 在程序中自定义的一些符号和名称
  • 作用:给函数、数据取名 方便区分
  • 范围:26个字母、0-9、下划线“_”组成
  • 注意:1.不能以数字开头 2.不能与关键字重名 3.严格区分大小写
  • 命名方式:驼峰命名法

数据

  • 数据就是数值

  • 用途:对数据进行操作使用时

  • 1.静态数据 :断电还在

  • 2.动态数据 :加载到内存中的,断电就没了

    1byte=8bit 1KB=1024byte 1MB=1024KB 1GB=1024MB
    

常量

数据类型:
  • 基本类型: 整型、浮点型、字符类型
  • 构造类型: 数组、结构体、共用体
  • 指针类型
  • 空类型

float:单精度浮点型,精确度到小数点后7位

double:双精度浮点型,小数点后15位

printf用法

%d 整型

%c 字符型

%f 浮点型

%p 地址

&lu 配合sizeof使用 查看变量在内存中所占用的字节

printf("输出整型数据%d",int);
printf("输出浮点型数据%f",double);
printf("输出字符型数据%c",'c');
printf("输出变量在内存中的地址%p",&int);
printf("查看变量在内存中占用的字节数%lu",sizeof(int));

变量的作用域

  • 变量的作用域只在对应的代码块中(相邻的两个大括号)
  • 不同函数属于平行作用域
  • 同一个作用域中不能出现同名的变量
  • 不同作用域下变量名可以相同
  • 变量只在自己的作用域内有效,出了作用域变量占用的内存被释放掉了
  • 作用域可以无限嵌套
  • 子作用域可以使用父作用域中的变量.父作用域无法使用子作用域中的变量.
int main(){
    
    {
        int a = 33;
        printf("%d\n",a); // 这里a = 33
    }
    int a;
    int b;
    a = b = 33;
    {
        int a = 88;
        a++;
        printf("a = %d\n",a); //这里a = 89
        {
            a++;
            printf("%d\n",a); //a = 90 这个作用域没有定义变量a 自动去上级作用域寻找变量a 并执行a++
        }
    }
    b++;
    printf("a=%d,b=%d\n",a,b);//a = 33 , b = 34  上一个作用域中的a 使用完就被释放掉了 所以这里的a还是main函数中的 33 .

}

变量的内存分析

  • 内存占用的基本单位:byte(字节) 1byte = 8 bit
  • 输出内存占用:
printf("int类型在内存中占用的字节数为:%lu",sizeof(int));
  • 输出内存地址:
int num;
printf("num在内存中的地址:%p",&num);
  • 从编号较大的内存区域向编号较小的内存区域分配
  • 变量的地址是被分配的内存块中所有区域的最小值

scanf函数用法

  • 在<stdio.h>库中
  • 把用户按指定格式从键盘上输入的数据赋值给指定的变量
scanf("%d",&i);

  • 需要赋值的变量前面加取址符&
  • 两个%之间的内容要按原样输入
  • 不能用\n换行
  • printf函数的参数是变量名,scanf函数的参数是变量的地址

算数运算符

  • +,-,*,/,%
  • 用于数据的运算
  • 精度 double > float > int
  • 取余运算符%只能用于整数
  • 运算时两个数据精度不一样,低精度数据会自动转换为高精度
  • 同精度运算只能得到同精度的结果,需要提高精度需要强制类型转换
double d = 2/3;//赋值后d为0
解决办法:
double d = (double)2/3;//d = 0.666
double d = 2.0/3;//d = 0.666

赋值及自增自减运算

  • =赋值运算符
  • ++ --自增自减运算
a++;//a = a + 1
a--;//a = a - 1
  • += -=加减等于运算符
a += 1;// a = a + 1
a -= 1;// a = a - 1
  • ++a a++的区别
a++;//a先参与运算 再自增
++a;//a先自增 然后把结果参与运算

sizeof用法

  • 单目操作符
  • 以字节形式给出其操作数或数据类型的存储大小
  • 打印数据类型的字节时需要加( ),打印常量或变量的时候可以不用
printf("%lu\n",sizeof (int));//4
b = sizeof 'a';

相关文章

  • 第二天 常量变量数据类型自增自减sizeof

    关键字 C语言提供的有特殊含义的符号 也叫做"保留字" 一共32个 作用:表示或实现一些功能 注意:全部是小写 标...

  • java入门基础篇——java的运算符

    自减:- -自增:++ 功能:使变量的值增一或者减一 a++(a--):使用变量之后,在对变量进行+1(或者-1)...

  • sizeof

    sizeof可以用来计算一个变量或一个常量、一种数据类型所占的内存字节数格式: 用法:sizeof(常量/变量)注...

  • C语言学习 - 自增、自减运算

    自增、自减运算 自增运算自增运算表示将变量加1,运算符为:++。自增运算符在前时,变量先加1,再使用,如:++i;...

  • 11

    自增和自减 /*自增 ++- 通过自增可以使变量在自身的基础上增加1- 对...

  • 2018-10-24

    自增和自减运算符只能用于操作变量,不能直接用于操作数值或常量!例如 5++ 、 8-- 等写法都是错误

  • 【C语言笔记】<四>运算符

    赋值运算符 自增自减 sizeof 关系运算符 逻辑运算符 三木运算符

  • C编程

    C语言学习路线及重难点 Mac系统及常用工具 常量、变量 运算符:自增、自减运算符 (重点) 分支结构 循环结构 ...

  • 自增自减与指针相关

    自增自减 简单的使用i++不会产生什么问题,比较麻烦的是使用变量与变量自增(自减)混在一起的时候,下面是关于这个问...

  • 运算符

    自增、自减操作 b++对变量b进行了自增运算,变量的值加1,b++表达式的值不变, ++b对变量b进行了自增运算,...

网友评论

    本文标题:第二天 常量变量数据类型自增自减sizeof

    本文链接:https://www.haomeiwen.com/subject/bdmzcttx.html