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__
原文地址:https://www.cnblogs.com/17bdw/p/6040481.html