zoukankan      html  css  js  c++  java
  • C++学习1-(C语言基础、VS快捷键)

    C语言基础复习

    1、三码

    正数:

    3码合1  ,正数的反码/补码就是其本身
    

    负数:

    • 原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值

    原码:11010101

    • 负数的反码是在其原码的基础上, 符号位不变,其余各个位取反

    反码:10101010

    • 负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)

    补码:10101011

    2、 运算符优先级和结合性

    C语言运算符优先级等级口诀

    • [圆方括号、箭头一句号]

    • [自增自减非反负、针强地址长度]
        

    • [乘除,加减,再移位]
        

    • [小等大等、等等不等]
        

    • [八位与],[七位异],[六位或],[五与],[四或],[三疑],[二赋],[一真逗]

    n++ : 先使用n,然后将它的值增加

    ++n : 先将n值增加,然后再使用它

    3、函数

    变量作用域:局部、全局、静态

    局部变量:函数内部,生存周期随函数

    静态变量在函数内的:作用域也是函数内的,但是生存周期的程序运行时一直存在

    静态变量在函数外:作用域局限于当前源文件内,生存周期的程序运行时一直存在

    全局变量:整个程序,声明了就能用

    参数传递方式:

    • 值传递
    • 指针传递
    • 引用传递

    4、宏

    无参宏定义方式:#define PI 3.14

    带参宏定义方式:

    #define Fun_1(x)  x+10
    #define Fun_2(x)  (x+10)
    

    这是审题时最容易错误的地方

    Fun_1(5)*10  Fun_1结果为:->5+10*10 = 105
    Fun_2(5)*10  Fun_2结果为:->(5+10)*10 = 150
    

    5、结构体(struct)、联合体(union)、枚举(enum)

    • 结构体(struct)

    前面的 char + short不够4字节,要按照4字节对齐。int后面的char不够4字节也需要按4节对齐

     typedef struct node
    {
    	char a;      1
    	short b;     2
    	int c;       4
    	char d;      2   //这两个合并成4字节
    	char e;      2   
    }NODE;
    

    最后2个char合成一个4字节,(1+2)+4+4 = 12

    • 联合体(union)

    union中变量共用内存,应以最长的为准,

    	typedef union node 
    	{
    		int a;
    		char b;
    		int c[10];
    		char d[20];
    	}NODE;
    	
    	int a = sizeof(NODE); a的值等于多少?
    	答案:40
    
    • 枚举(enum)

    enum初值为0

    enum {
    	FLOWA,
    	FLOWB = 10,
    	FLOWC,
    };
    
    int main()
    {
    	printf("%d   %d   %d", FLOWA, FLOWB, FLOWC);
    
        return 0;
    
        请问FLOWA, FLOWB, FLOWC 分别为多少?
        答案: 0 ,10,11;  
    
    }
    
    • 成员访问

    访问结构体成员的运算符有两种,一种是“.”即结构运算符,另一种是“->”即结构指针运算符。

    #include <stdio.h>
    
    
       typedef struct {
        int int_field; 
        char char_field;
    
      } my_struct;
      
    void main(){
    
       my_struct my_s;                     // 声明结构体变量
    
       my_s.int_field=3;                   //结构运算符访问结构成员
    
       my_struct *s;                       // 声明结构体指针
    
       s=(my_struct *)malloc(sizeof(my_struct));
    
       s->int_field=4;
    
       s->char_field='a';
    
       (*s).int_field=6;
    
    
    • 类型定义
    typdef struct _A{}A,*PA 
    

    Visual Studio快捷键

    VS真是最好的编辑器没有之一,有很多的快捷键可以使用。

    1.注释代码:

    1)Ctrl-K + Ctrl-C: 注释一段选择代码

    2)Ctrl-K + Ctrl-U: 取消一段选择代码的注释

    2.大小写转换

    1)转小写:使用组合键“Ctrl+ U”;

    2)转大写:使用组合键“CTRL + SHIFT + U”。

    3.代码排版

    shift + { : 选中内容增加{号

    CTRL + W :选择当前单词

    Ctrl + M + M - 折叠代码

    Ctrl + A 全选后
    Ctrl + K+D 格式化代码

    使用#region方法头的位置,将代码折叠起来

    //语法描述
    #pragma region name
    #pragma endregion comment
    //END
    
    //实例代码
    #pragma region Region_1
    void Test() {}
    void Test2() {}
    void Test3() {}
    #pragma endregion Region_1
    
    int main() {}
    
    

    4.定义与引用

    转跳到定义:F12;

    查找所有引用:使用组合键“Shift+F12”

    跳转文件 :“ALT+O”

    5.断点调试

    Ctrl+Shift+F9:删除所有断点;

    Ctrl+F9:禁用断点

    F10:单步执行,跳过所执行的函数体部分;

    Ctrl+F10:运行到光标所在行,反复触发

    F11:单步执行,会单步到所执行的函数体里面去;

    Shift+F11:跳出当前执行的函数体部分;

    F5:设定断点后,使用F5启动VS调试可以直接启动进入循环;

    调试技巧
    记录初始值,如X,Y坐标,坦克类型

    6.条件编译调试技巧

    #ifdef _DEBUG
       printf("%d",__LiNE__);
    #else
    
    #endif
    __FILE__
    
  • 相关阅读:
    题解——栈(卡特兰递归数的应用)
    题解——主的赦免(递归的进一步理解)
    sql开窗函数 row_number () over(order by id )
    c# resources
    Fillder 转载
    用javascript实现控制打开网页窗口的大小 和HTML如何关闭窗口的技巧大全
    datatable 与dataview的区别
    Asp.net中DataBinder.Eval用法的总结
    FrameSet左右收缩编码
    ajax get post
  • 原文地址:https://www.cnblogs.com/17bdw/p/6040481.html
Copyright © 2011-2022 走看看