初识C语言(3)

已经一个星期没有更新了,最近利用睡前的一点时间写博客,要到期末周了可能要几个星期不更了,之后再看看有没有时间来更新吧,又是学到c语言的一周呀,加油!

‘\0’  0 ‘0’的区别

‘\0’是一个转义字符等价于0(ASCII值为0)

0为数字0

‘0’字符0(ASCII值为48)

求两个数的较大值

(可用if函数或自定义函数)这里讲讲自定义函数

自定义函数:在主函数前定义一个函数,因为要将a,b传过去,所以在MAX后面的括号中用int x,和int y 接收,在后面的大括号中定义函数主体   用max接受MAX的返回值,即当用MAX函数算出较大值之后会将数据放到max中,注意在定义函数这里的int 后面不用加分号,return后面记得加分号

 

整型变量占内存四个字节,sizeof (a)可以,sizeof a 这样写法可以 sizeof int这样的写法不行,若打印数组大小,数组里面几个元素,数组大小为元素个数乘以四,

例如int arr[]={1,2},打印数组大小为8,也可以算出元素个数,除以sizeof[0]即可

操作符

~意思为按位取反,位为二进制位,比如二进制数列1010,对他进行按位取反,即0变为1,1变为0,则为0101,

对0进行按位取反,打印出的答案为-1;这里就涉及到源码,反码,补码的知识了,负数在内存中存储的时候存储的是二进制补码,将0存在整形a 中,因为a是四个字节32个比特位所以对它进行二进制取反则是32个1,b是一个有符号的整形,最高的一位即第一位数字,表示的是符号位,若为0则为正数,1则为负数而打印出的是这个数的源码,怎么求出这个源码呢

若为正数 源码反码补码相同

若为负数

源码变为反码:符号位不变,其他位加1

反码变为补码:反码加1

原来是补码11111111111111111111111111111111

先变为反码11111111111111111111111111111110

再变为源码10000000000000000000000000000001(第一位可以读作负,所以结果是-1)

 

++分为后置++和前置++,后置++先使用再++,前置++先++再使用

例 若int b=a++先把a的值附给b,即b的值为a的值然后a的值再++

()强制类型转换:让某个类型转化为另一种类型

关系操作符:>  >= (大于等于) <  <=(小于等于)  ==  !=(不等于)

逻辑操作符&&(逻辑与,与可以理解为并且的意思,关系左右边的值的真假,有0则假,输出为0,没0则真,输出为1)||(逻辑或,有真为真,打印结果为1,左右为假才为假,打印结果为0,左右都为真则为真,打印结果为1)

 

条件操作符

exp1? exp2: exp3( exp 表示表达式的意思,表达式1的结果为真,表达式2要执行,表达式2的结果为假,表达式3要执行,整个表达式为表达式3的结果)为三目操作符

例 a>b?a:b,(a大于b吗,若大于b则打印a,若不大于则1打印b)

 

[]--下标引用操作符

()--函数调用操作符

常见关键字

Register 寄存器关键字

计算机存储数据

寄存器

高速缓存         (自下到上,内存由大到小)

内存

硬盘

 

 

在a 前面加static关键字 让a 变成静态的局部变量,所谓静态就是让函数调用后变量不回收,打印结果就是2.3.4.5.6,

static 修饰局部变量,局部变量的生命周期变长,static还可以让静态的全局变量只能在自己所在源文件内部使用,出了源文件就没办法使用;还有修饰函数的作用

 

 

extern关键字---声明外部符号,若新建一个文件定义全局变量,在另一个文件中用extern声明就可以用在另一个文件中定义的变量

#define 定义的常量和宏

宏可以简洁函数,不用像前面那样写那么多行函数

 

指针(以后慢慢搞懂,先不急)

首先搞清楚内存的概念,将内存调整为一个一个小的内存单元,在生活中我们用房间号来确定位置,在计算机中我们要如何给编号呢?首先如何产生地址,32位64位指的是有32/64根地址线,有正电(1)和负电(0)之分,有2的32个次方个二进制序列,即有2的32次方内存编号,每一个编号对应到内存块的话,编号就称为内存块的地址,一个空间为一个字节(8个比特位)

一种变量是用来存放地址的,这种变量就称为指针变量(p)

还是有时间要多敲敲代码呀!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值