C语言中关键字和操作符有什么关系 难道是关键字包含操作符。还是有写既是关键字又是操作符。。

如题所述

1、C一共只有32个关键字,如下:
  auto break case char const continue default
  do double else enum extern float for
  goto if int long register return short
  signed static sizeof struct switch typedef union
  unsigned void volatile while
  auto :声明自动变量
  double :声明双精度变量或函数
  int: 声明整型变量或函数
  struct:声明结构体变量或函数
  break:跳出当前循环
  else :条件语句否定分支(与 if 连用)
  long :声明长整型变量或函数
  switch :用于开关语句
  case:开关语句分支
  enum :声明枚举类型
  register:声明寄存器变量
  typedef:用以给数据类型取别名
  char :声明字符型变量或函数
  extern:声明变量是在其他文件正声明
  return :子程序返回语句(可以带参数,也可不带参数)
  union:声明共用数据类型
  const :声明只读变量
  float:声明浮点型变量或函数
  short :声明短整型变量或函数
  unsigned:声明无符号类型变量或函数
  continue:结束当前循环,开始下一轮循环
  for:一种循环语句
  signed:声明有符号类型变量或函数
  void :声明函数无返回值或无参数,声明无类型指针
  default:开关语句中的“其他”分支
  goto:无条件跳转语句
  sizeof:计算数据类型长度
  volatile:说明变量在程序执行中可被隐含地改变
  do :循环语句的循环体
  while :循环语句的循环条件
  static :声明静态变量
  if:条件语句
2、操作符有这么多,按优先级由高到低排序的
left to right表示按从左到右的方式结合
() [] -> . left to right
! ~ ++ -- + - * (type) sizeof right to left
* / % left to right
+ - left to right
<< >> left to right
< <= > >= left to right
== != left to right
& left to right
^ left to right
| left to right
&& left to right
|| left to right
?: right to left
= += -= *= /= %= &= ^= |= <<= >>= right to left
, left to right
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-01
互有交叉,比如有些关键字如int,它也被认为是强制类型转化的操作符;而sizeof既属于关键字,也是单目的操作符,但是常常用sizeof(类型名)的用法看着像函数罢了,不要括号也可以的。
第2个回答  2013-02-01
关键字不都是字母组成的吗……操作符有字母组成的吗……追问

sizeof是关键字还是操作符。。
我看说法不一

追答

你果然发现了……
关键字可以理解为由字母、数字、下划线“_”组成,但被用作特殊用途,因此不能被用作变量、函数名、类型名的字符组合。而操作符则是指用作对变量进行特定操作的符号,二者有重合之处,但意义不同……

本回答被提问者采纳