14. 额外的一章 Additional Capabilities

14.1 新增的特征

typedef 声明语句(常用)

typedef语句,允许构造一个现有的C数据类型名称的供替换的名称

typedef double REAL;
REAL val;

相当于

double val;

条件预处理命令(常用)

除了#include外,预处理器还提供许多其他命令,
比如条件命令:
#ifndef,“如果没有被定义”

#ifndef 条件式
  编译在这里的语句
#else
  编译在这里的语句
#endif

#ifdef,“如果被定义”

枚举常量

条件表达式

表达式?表达式2:表达式3

if (hour > 40)
  rate = 0.045;
else
  rare = 0.02;

可以被

rate = (hour>40) ? 0.045 : 0.02;

代替

goto语句

转向语句

14.2 按位运算

按位的与运算

运算符:&

#include 
int main()
{
  int op1 = 0325, op2 = 0263;

  printf("%o ANDed with %o is %o\n", op1, op2, op1 & op2);

  return 0;
}

变量op1倍初始化为八进制数值325,二进制是11010101
op2,263,10110011
与运算,结果是221

按位的或运算

运算符:|

#include 
int main()
{
int op1 = 0325, op2 = 0263;

  printf("%o ORed with %o is %o\n", op1, op2, op1 | op2);

  return 0;
}

异或运算

运算符:^

补码运算

运算符:~

不同大小的数据

暂略

位移运算符

左移:<<
右移:>>

14.3 宏

暂略

14.4 命令行参数

argc 是一个整数,所以她的生命是int argc
argv 是一个她的元素指向命令行参数被存储的位置地址的数组,它的适当声明是char *argv[],读作:argv是一个元素指向字符的指针的数组

全部main()函数的首部行:

int main(int argc, char *argv[])

你可能感兴趣的:(14. 额外的一章 Additional Capabilities)