• C/C++实践笔记 004


    转义字符


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

    void main1()
    {
    char ch = getchar(); //获取一个字符
    putchar(ch); //输出一个字符

    system("pause");
    }


    C判断是0和非0,
    java、php等只有0和1
    \a响铃
    0 48
    A 65
    a 97
    进制要弄得非常清楚

    内存如何存放数据和指令
    同一个时间,内存空间里只能保存一份值
    变量的内存机制
    变量表管理所有的变量,不能引用未声明的变量
    只能给变量赋值,变量在内存
    a+1属于寄存器,不能赋值

    _asm
    {

    }
    插入汇编

    变量的赋值都是通过cpu的寄存器完成

    a=10 ,10存放在代码区(只读)的常量符号表

    标识符:程序中用于表示常量、变量、函数的字符序列,只能由字母、数字、下划线组成

    C语言大小写不同
    遵循软件工程规范,一看就懂
    VC函数名变量名支持中文,gcc只有字符串可以中文
    C语言老版本的编译器,GCC如果没有开启C++11支持,vc2010之前的版本,变量必须在函数调用之前定义。

    初始化,新老版本编译器,新编译器提示错误,老版本不提示垃圾数据

    常量分析

    const int a=100;
    不能直接修改常量的数据

    &取地址运算符

    间接赋值修改常量

    * (int*) (&a)=16; //不算真正意义的常量

    // *根据地址取出内容, int*类型转化为非常量类型


    #define a 99
    //define不能加分号,加了就是一起替换

    c语言能操作内存,不能操作寄存器
    define算是真正意义的常量,不能直接修改,也不能间接修改
    汇编语言既能操作内存,也可以操作寄存器
    define意义明确,可以实现批量修改,不能取地址,因为它是存在寄存器里的


    变量交换 时空分析

    时空复杂度

    int temp=a;
    a=b;
    b=temp;
    评估时空复杂度,temp增加空间1,时间3次


    int a=10;
    int b=5;

    a=a+b; //a=15,b=5
    b=a-b; //b=10,a=15
    a=a-b; //a=5,b=10

    空间0,赋值三次,加三次,共6次

    +,-,*,/会数据越界,最安全的做法是异或
    异或

    变量的数据类型

    进制

    0代表八进制
    0x代表十六进制

    printf("%d",num);
    以十进制输出结果

    查看内存时一般是十六进制


    计算机存储数据
    内存是存储数据的房间

    1个字代表4个字节

    数据的类型
    面试中常见,理解不透彻会出现问题

    %f实数打印

    数据类型的差别
    printf不会自动完成数据类型转换

    float f1=10.9;
    printf("%d",f1);
    直接按照整数去读实数会出错

    理解语法规则,逻辑严密
    数据类型的差别:不同数据类型占据的空间不同,解析方式不同
    sizeof
    char 1字节
    int 4字节
    double 8字节
    sizeof是关键字,不是函数
    sizeof还可以求表达式

    sizeof("123")占4个字节,因为字符串默认会有一个\0结束
    sizeof('A') 占1个字节

    符号的作用

    有符号和无符号

    整数的极限

    #include<limits.h> //极限的头文件
    void main()
    {
    int num_max=INT_MAX;
    int num_min=INT_MIN;
    printf("max=%d,min=%d",num_max,num_min);

    getchar();


    }

    unsigned char chnum=0; 2^8=256 0~255

    数据的计算必须在极限的范围内
    第一位0代表正数,1代表负数

    数据在内存的排列


    电脑手机 低位在低字节,高位在高字节

    unix 低位在高字节

    %u无符号


    补码


    反码正数与原码一样


    补码正数与原码一样
    负数反码+1


    计算机是以补码的方式存储的

  • 相关阅读:
    js的内置对象arguments
    typeof
    JS 数组赋值,引用传递 问题
    技术突围打造创新解决方案 思岚科技让机器人移动更智能
    2020思岚科技第四季度大事记
    校企合作 | 上海交通大学 X 思岚科技“智能感知创新实验室”正式揭牌
    新基建下的智慧货架机器人,已迎来“下半场”应用期
    2020思岚科技第二季度大事记
    思岚科技2020第一季度大事记
    思岚科技2019第四季度大事件
  • 原文地址:https://www.cnblogs.com/liumt/p/5884520.html
Copyright © 2020-2023  润新知