和新朋友说声Hellow(初识C语言,快速读懂C语言程序)【3】

和新朋友说声Hellow(初识C语言,快速读懂C语言程序)【3】上次讲到了数组 这次接上次继续讲 这次我们从常用的操作符开始讲 1 常用的操作符 这里面包含了绝大多数的操作符 1 1 单目运算符 单目运算符的意思是只有一个操作符的就叫单目操作符 就好像 A B A 是 的左操作符 B 是 的右操作符 是双目运算符 他有两个操作符

大家好,我是讯享网,很高兴认识大家。

上次讲到了数组,这次接上次继续讲

这次我们从常用的操作符开始讲

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了,这个和函数有异曲同工之妙,但是它们又各有优缺点,到后面会详细讲解

小讯
上一篇 2025-04-04 16:52
下一篇 2025-01-13 22:25

相关推荐

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