上次讲到了数组,这次接上次继续讲
这次我们从常用的操作符开始讲
1.常用的操作符
这里面包含了绝大多数的操作符
1.1单目运算符
单目运算符的意思是只有一个操作符的就叫单目操作符
就好像A+B,A是+的左操作符,B是+的右操作符,+是双目运算符,他有两个操作符
在单目运算符中
!代表取非
+-分别为正负号,没啥好解释的
&和*会在后面的指针中详细讲解
sizeof 是用来计算数据类型占用的空间大小的
比如:
x=sizeof(int);
这里x的值就是4,因为int的占用空间就是4.
~是对二进制取反,后面也会讲到
++和--放到一块讲
我们来看一段代码
#include<stdio.h> int main() { int a=10; int b=++a; int c=a++; //这里的a,b,c的结果就是11,11,10 return 0; }
讯享网
由这段代码,我们可以明显的看出++a和a++的区别,一个是先++再赋值,一个是先赋值再++
这里不建议去扣这个的运算题目,因为再不同的编译器,过于复杂的这种题,会有不同的结果
1.2双目运算符
双目运算符里面有一个比较需要注意的点就是再C语言中等于是==不是=。
其他的就没什么了
1.3三目运算符
三目运算符其实就是类似一个if语句
表达式1?表达式2,表达式3
用伪代码来理解就是
讯享网#include<stdio.h> if(表达式1) { 表达式2 } else { 表达式3 }
1.4还有一个就是逗号运算符
逗号运算符有一个原则
会从左向右依次计算,整个表达式的结果是最后一个表达式的结果。
记住这些,学校里面考运算符的题目,基本上就难不住你了。
2.关键字
C语言关键字:C语言定义的,具有特定含义、专门用于特殊用途的C语言标识符,也称为保留字

define不是关键字,是编译器实现的,用来定义宏的预处理指令,不是C语言中的内容
注意:就像#define就不是C语言的关键字,这个是编译器的一种宏定义

关键字先介绍下面的几个,后面碰到还会再补充
2.1 typedef
这个是数据结构里面比较重要,常用的一个关键字了
typedef 顾名思义是类型定义,这里应该理解为类型重命名。
typedef可以极大的节省我们写代码的时间
2.2 register
register int num =10;//register起到建议作用,建议把num放在寄存器
寄存器变量不能取地址,因为取地址取的是内存的地址
2.3static
在C语言中: static是用来修饰变量和函数的
1. 修饰局部变量-称为静态局部变量
2. 修饰全局变量-称为静态全局变量
3. 修饰函数-称为静态函数
2.3.1
在修饰局部变量的时候,可以把变量从栈区拉到静态区,大大增加了变量的生命周期
用一段代码来看
#include<stdio.h> int Add() { static int n=2; n++; printf("%d",n); } int main() { int i; for(i=0;i<=5;i++) Add(); return 0; }
我们知道,正常不加static的话,会输出5个2,但是我们在定义n的时候,加上了static之后,n就被拉到了静态区,static int n = 2;这段代码也就相当于报废,留下一个等于2的n
甚至可以用指针在main函数中使用n,可以看作n的存活时间增长了
这里修饰的变量的生命周期就是整个工程的生命周期
2.3.2
在static修饰全局变量的时候,就限制了全局变量链接,假设有一个项目里面有两个文件,在a文件定义了一个全局变量,本来在b文件只要用exturn声明一下,就可以用了,但是如果全局变量被static修饰了的话,就不存在了,这个变量就只能在a文件中使用了。相当于缩短了作用域,在学到计算机组成原理的时候,可以更好的理解。
2.3.3
static修饰函数的时候和2.3.2是一样的,也是缩小了函数的作用域,让被修饰的函数只能在原先的文件中使用。
3.#define定义常量和宏
注意:使用#的时候是不加分号的
3.1使用#define定义常量
用#define定义变量其实很简单,就可以理解为让系统把你定义的名字就当成你定义的常量
用一段代码
讯享网#define max 10000 #include<stdio.h> int main() { printf("%d",max); return 0; }
在这段代码中,max就是10000,编译器也把max当成10000看
3.2使用#define定义宏
这个在后面还会讲到,这里就随便提一下
直接看代码
#define ADD(x,y)((x)+(y)) int main() { int x=0,y=5; printf("%d",ADD(x,y)); return 0; }
这样使用就直接出5了,这个和函数有异曲同工之妙,但是它们又各有优缺点,到后面会详细讲解

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/126687.html