C基础篇(二):操作符、关键字、转义字符

本文详细介绍了C语言的关键字,包括其类型(如auto、const等)、操作符(算术、位运算等)、转义字符以及预处理器指令如#define的使用。同时提及了auto、static和typedef等特性。
摘要由CSDN通过智能技术生成

1.关键字

c语言提供了丰富的关键字,这些关键字都是语言本身预先设定好的,用户自己是不能创造关键字的。

下面列举常见的关键字

auto  break   case  char  const   continue  default  do   double else  enum   
extern float  for   goto  if   int   long  register    return   short  signed 
 sizeof   static struct  switch  typedef union  unsigned   void  volatile  while

  • 类型:auto、const、char、int、enum、short、union、long、struct、float、duoble、sizeof、typedef、signed (有符号的)、unsigned(无符号) 、static、void
  • 循环:break、continue、do、while、for
  • 分支:if、else、switch、case、break、default、goto
  • 声明外部符号:extern
  • 寄存器:register
  • 函数返回:return
  • 计算所占内存大小:sizeof
  • typedef:类型定义,可以理解为类型重命名。例
//将unsigned int 重命名为uint_32, 所以uint_32也是一个类型名
typedef unsigned int uint_32;
int main()
{
    //观察num1和num2,这两个变量的类型是一样的
    unsigned int num1 = 0;
    uint_32 num2 = 0;
    return 0;
}
  • static:用来修饰变量和函数的。修饰局部变量-称为静态局部变量 ;修饰全局变量-称为静态全局变量 ;修饰函数-称为静态函数。static修饰局部变量改变了变量的生命周期 让静态局部变量出了作用域依然存在,到程序结束,生命周期才结束;一个全局变量被static修饰,使得这个全局变量只能在本源文件内使用,不能在其他源文件内使用。一个函数被static修饰,使得这个函数只能在本源文件内使用,不能在其他源文件内使用。
  • auto:c语言中,auto 关键字已经不常用,它在现代编程中几乎不再起作用。在早期版本的C语言中,auto 关键字用于声明自动变量,即在函数内部声明的变量,默认情况下就是自动变量。

2.操作符

  • 算数操作符:
+ - * / %
  • 移位操作符:
>> <<
  • 位操作符:
& ^ |
  • 赋值操作符:
= += -= *= /= &= ^=  |=    >>=   <<= 
  • 单目操作符:
!           逻辑反操作
-           负值
+           正值
&           取地址
sizeof      操作数的类型长度(以字节为单位)
~           对一个数的二进制按位取反
--          前置、后置--
++          前置、后置++
*           间接访问操作符(解引用操作符)
(类型)       强制类型转换
  • 关系操作符:
>
>=
<
<=
!=   用于测试“不相等”
==      用于测试“相等”
  • 逻辑操作符:
&&     逻辑与
||          逻辑或
  • 条件操作符:
exp1 ? exp2 : exp3
//如果exp1为真,则表达式结果为exp2;如果exp1为假,则表达式结果为exp3;
  • 逗号表达式:
exp1, exp2, exp3, …expN
  • 下标引用、函数调用和结构成员:
[]    数组下标
() 
 .    结构体成员
 ->   结构体成员

3.转义字符

转义字符是在字符串中表示特殊字符的一种方法。在许多编程语言中,包括C、C++、Java、Python等,都支持使用转义字符来表示一些特殊字符,这些字符在字符串中具有特殊的含义,例如换行符、制表符等。下面是常见的一些转义字符:

转义字符释义
\?在书写连续多个问号时使用,防止他们被解析成三字母词
\'用于表示字符常量'

\"

用于表示一个字符串内部的双引号
\\用于表示一个反斜杠,防止它被解释为一个转义序列符
\a警告字符,蜂鸣
\b退格符
\f进纸符
\n换行
\r回车
\t水平制表符
\v垂直制表符
\dddddd表示1~3个八进制的数字。 如: \130 X
\xdddd表示2个十六进制数字。 如: \x30 0

拓展:注释有两种风格: C语言风格的注释 /*xxxxxx*/ ,缺陷:不能嵌套注释

C++风格的注释: //xxxxxxxx 可以注释一行也可以注释多行


#define:定义常量和宏(非关键字)

#define 是C语言和C++中的预处理指令,用于创建符号常量和宏。它的作用是在源代码中指定一个标识符的文本替换

语法格式如下,其中,标识符是要定义的符号常量或宏的名称,而值可以是一个常量、表达式、函数等。

#define 标识符 值
  • 定义符号常量。了一个名为 PI 的符号常量,它的值为 3.14159。在代码中使用时,所有的 PI 都会被替换为 3.14159。

#define PI 3.14159
  • #define 还可以用来定义宏,宏是一种类似函数的文本替换。这个宏可以用来计算一个数的平方,例如 SQUARE(5) 会被替换为 (5 * 5),结果是 25
#define SQUARE(x) ((x) * (x))

需要注意的是,#define 是在预处理阶段完成文本替换的,替换是简单的文本替换,并不考虑语法结构。因此,在定义宏时要小心考虑可能带来的副作用,并确保替换后的代码仍然是合法的。

  • 29
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值