图论第四次课

来源:互联网 发布:mac os x系统官网下载 编辑:程序博客网 时间:2024/05/21 03:16

求余数%运算:左右均为整型,同时要注意两数之间的大小关系


逻辑运算符的顺序

!> && > ||

c>a+b=c>(a+b)

a>b==0  =  (a>b)==0

a==b<c  =   a==(b<c)

a=b>c    a=(b>c)


选择结构 / 分支结构

优化:1.if()括号中范围越大,应放在前面,节约程序执行时间

             2.超过四个或四个以上,用switch比if更高效

                 if一个一个去比较

                 switch只比较一次

switch的参数只能为整型,若switch中执行语句中没有break,会一直执行到有break或者执行完整个程序

#define Inc(a,b) a++;b++;

int main()

{

int a = 10;

int b = 20;

if(a)

Inc(a,b);

/*a++;

b++;

else*/

printf("aaaaa\n");

if后不加括号时,Inc有两个语句,而此时只默认执行一条语句,所以程序执行时会报错

switch(n)

{

case 1:

printf("1\n");

break;

case 2:

printf("2\n");

break;

case 3:

printf("3\n");

break;

case 4:

printf("4\n");

break;

const和宏的区别

(1) 编译器处理方式不同
  define宏是在预处理阶段展开。
  const常量是编译运行阶段使用。
(2) 类型和安全检查不同
  define宏没有类型,不做任何类型检查,仅仅是展开。
  const常量有具体的类型,在编译阶段会执行类型检查。
(3) 存储方式不同
  define宏仅仅是展开,有多少地方使用,就展开多少次,不会分配内存。
  const常量会在内存中分配(可以是堆中也可以是栈中)。


原创粉丝点击