初识c语言第三节课

操作符

1.

~表示按(二进制)位取反,即把所有二进制位中数字0变成1,1变成0

例如

int a =0;

printf("~a=%d",~a)

打印出来=-1

到这里就引出了一个新的知识点

即,一个整数的二进制有三种表示方式,而整数在内存中储存的是补码。

 下面以此为例子

 a = 0 ,因为a是int类型,所以a一共占了四个字节,而一个字节又是8个bit位

所以a在二进制里表示为00000000000000000000000000000000共32个bit位

那么~a的表示为1111111111111111111111111111111111

而~a为整数,在内存中储存的是补码。

所以又引出了一个新的概念:负数的原码,反码,和补码的转换

原码:1111111111111111111111111111111111↓

反码:100000000000000000000000000000↓

补码:100000000000000000000000000001

第一位为符号位,0为正数,1为负数;由原码变成反码则除符号位其他全部按位取反;由反码变为补码则在反码+1

正数来说就比较简单,原码,反码,补码都是一样的

以上所说的原码,反码,补码都是在二进制的基础上完成的。

2.

++操作符,包含前置和后置

例如

int a =10

b=a++,此时printf a,b分别为10,11

b=++a,此时printf a,b分别为11 11

即前置++是先+再使用,后置++是先使用后+

3.

()强制类型转化

例如

int a = 3.2

此时printf(“%d”,a)会报警告

那么我们就可以使用()

即int a =(int)3.2,此时()中的数据类型就是要转化的类型

最后打印出来就是3

4.

关系操作符

等于是两个==判断相等。

5.

逻辑操作符

&&表示在导入的数据中,一个假则全假(0为假,其余自然数为真。)

||表示在导入的数据中,有一个真则全真。

6.

条件操作符(三目操作符)

exp1成立,exp2计算,最后整个表达式的结果是epx2

exp1不成立,exp3计算,最后表达式的结果是exp3

 下面举例:

int a = 1

int b = 2

int max = 0

max = a > b ? a : b;(即若a>b,则表达a;若a<=b,则表达b)

7.

逗号表达式:逗号隔开的表达式

例如

int main()
{
    (2, 4 + 5, 6);
    int a = 0;
    int b = 3;
   int c = 5;

           a=5       c=1        b=3
    int d = (a = b + 2, c = a - 4, b = c + 2);

}
   //逗号表达式,是从左向右依次计算的
    //整个表达式的结果是最后一个表达式的结果

最后printf(“%d”,d)打印出来最后的结果就是3

8.下标引用操作符

 下标引用,可以用数组举例子

例如int arr[10]={1,2,3,4,5,6,7,8,9,10}

printf("%d",arr[4]),打印出来结果是5(因为数组编号里从0开始)

9.函数调用操作符

调用函数的时候,函数名后边的()就是函数调用操作符

10.常见关键字

重点

1.关键字是c语言提供的,不能自己创建

2.变量名不能是关键字

int a = 0 自动创建,自动销毁的 - 自动变量,auto表示自动的,每个局部变量都是由auto表示,在变量前被省略掉了。

register.表示建议将关键字放在寄存器中。(大量/频繁被使用的数据,想放在寄存器中,提升效率)register int num = 100;//建议num的值存放在寄存器中

 typedef.表示将类型重命名

typedef unsigned int u_int

那么后面再想用 unsigned int 则可以直接用 int u_int表示

static.有三种类型

//static  - 静态的
//1. static修饰局部变量
//2. static修饰全局变量
//3. static修饰函数

 

 删去static和留下static最后表达出的分别是10个2和2-11

static修饰局部变量,改变局部变量的生命周期,本质是改变变量储存类型 

 

 声明函数只用告诉函数名,返回类型,参数类型。

 

extern.声明外部符号。

使用:extern int 外部符号

后面就可以使用该符号。

extern,声明函数

与声明外部符号同理

define定义宏(替换成定义符号)

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值