Visual Studio关于C/C++代码调试笔记
1:Visual Studio 工程C++程序中添加.c.h的方法
方法一、
1、把要添加的.c和.h文件复制到c++程序目录中。
2、把.c文件改为.cpp文件(预编译头可用,可不用)
3、把.cpp 和 .h文件都添加到该项目中 就可以使用了
ps:
直接Add files也行;
copy的时候如果.c 和 .h文件不在项目root目录里,则在项目-右键属性-配置属性-VC++目录,在包含目录中添加.c 和 .h的路径
方法二、
1、项目配置不使用预编译头
In the Solution Explorer pane of the project, right-click the project name, and then click Properties.
In the left pane, click the C/C++ folder.
Click the Precompiled Headers node.
In the right pane, click Create/Use Precompiled Header, and then click Not Using Precompiled Headers.
2、.c文件加载到程序中
3、把c语言函数的声明用extern “C”{};
.c 和 .h文件建议写法:
//------test.h----------
#ifdef __cplusplus
extern “C” {
#endif
//c语言函数声明写在这
#ifdef __cplusplus
}
#endif
//------test.c ------------
#ifdef __cplusplus
extern “C” {
#endif
#include “test.h”
//.c文件内容
#ifdef __cplusplus
}
#endif
========================================
2:Visual Studio 工程C++程序中预编译头文件
2.1: Use/Yu
2.2: Create/Yc
2.3:Not Using Precompiled Headers
2.4: Compile and Debug
3:switch
C语言还提供了另一种用于多分支选择的switch语句, 其一般形式为:
switch(表达式){
case 常量表达式1: 语句1;
case 常量表达式2: 语句2;
…
case 常量表达式n: 语句n;
default: 语句n+1;
}
其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。
4:express
5:|| and &&
---------------------------------------------------------------------------------------------------------------------------------------------------
printf("-2 && -3 = %d 3 && -2 = %d\n", -2 && -3, 3 && -2);
printf("-2 && 0 = %d 0 && -3 = %d\n", -2 && 0, 0 && -3);
printf("-2 || -3 = %d 0 || -2 = %d -3 || 0 = %d\n", -2 || -3, 0 || -2, -3 || 0);
int i = -3, j = 2, k = 0, m;
printf("\ni = %d j = %d k = %d\n", i, j, k);
i = -3; j = 2; k = 0;
m = ++i && ++j || ++k;
printf("After (m = ++i && ++j || ++k) Values of ijkm are : %d %d %d %d\n", i, j, k, m);
i = -3; j = 2; k = 0;
m = ++j && ++i || ++k;
printf("After (m = ++j && ++i || ++k) Values of ijkm are : %d %d %d %d\n", i, j, k, m);
i = -3; j = 2; k = 0;
m = ++i || ++j && ++k;
printf("After (m = ++i || ++j && ++k) Values of ijkm are : %d %d %d %d\n", i, j, k, m);
i = -3; j = 2; k = 0;
m = ++i && ++j && ++k;
printf("After (m = ++i && ++j && ++k) Values of ijkm are : %d %d %d %d\n", i, j, k, m);
---------------------------------------------------------------------------------------------------------------------------------------------------
6:浮点数比较
输出结果: