*:
- 乘号
- 指针
- 间接运算符(解引用) int* p=&a *p=99//解引用
&& And 逻辑与 (表达式1&&表达式2)
- 短路与 只要表达式1为假,那么就不会去执行表达式2
|| or 逻辑或 (表达式1||表达式2)
- 短路或 只要表达式1为真,那么就不会执行表达式2
eg:#include<stdio.h>
int main()
{int a=1;int b=0;int c=0;
if(a++&&b++&&c++)
{printf("一:%d%d%d",a,b,c)}
else
{printf("二:%d%d%d",a,b,c)}
return 0;
}
总结:static修饰的方法/函数 和 变量 都只在当前的.c文件有效
extern 关键字的作用是引入外部符号
define 关键字
c语言中宏定义的用法:
- 不带参数的宏定义 #define 标识符 字符串
- eg:#define pi 3.14
其作用是在本程序文件中用指定的标识符 pi 来替代 3.14 这个字符串,在进行预处理时,程序中出现 pi 都用 3.14来替换。
在预处理时将宏名替换成字符串的过程,称为宏展开。
- 带参数的宏定义
带参数的宏定义不是仅仅进行简单的字符串替换,还要进行参数替换。
其定义一般形式:#define 标识符(宏名) (参数表)字符串
字符串中包含在括号中指定的参数
eg:#define SUM(X,Y) X+Y 严禁这样写,替换过程中容易发生错误
#define MUL(X,Y) X*Y
建议这样:#
#define SUM(X,Y) (( X)+(Y)) 给每个参数加上括号!可避免参数替换低级错误
#define MUL(X,Y) ((X)*(Y))
- 在C语言中,不能做swith参数的数据类型有哪些
float double