C语言学习笔记-基础

一、为什么要学C

作为诞生于1972年的编程语言,已经有五十多年的历史了。但不可否认的是C语言作为其他语言的基础,是了解计算机运行逻辑的最佳途径。而C语言是介于汇编和面向对象之间的桥梁,只有熟悉了C语言,你才算了解了编程。如下图:
C语言在计算机语言中的位置

1.1 C的优点

  1. 代码少
  2. 速度快
  3. 功能多

1.2 C的缺点

  1. 危险性高
  2. 开发周期长
  3. 可移植性不强

二、计算机基础

2.1 字节

字节是计算机中储存数据的基本单位。内存中储存数据的最小单位是“位”。换算关系如下:
1B = 1bit
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
其中“位”=》bit,“字节”=》B=》Byte的缩写

2.2 进制

进制就是逢几进一,R进制就是逢R进一。计算机只能识别二进制,而人类熟悉的是十进制。常用进制对照表如下:
常用进制对照表

三、C的数据类型

C语言的数据类型有整形,浮点型,字符型等,如下图:
C语言的数据类型
C语言中可以使用**sizeof(对象)**的方式求出对象在计算机中所占的字节数。

3.1 数据的储存

在计算机中,整数都是以补码的形式储存的。

3.2 补码、原码和反码

3.2.1 原码和反码

  1. 原码
    原码也叫“符号绝对值码”,最高位0表示正,1表示负,其余二进制数是该数字的绝对值的二进制数。
    5的原码为:0101
    -5的原码为:10101

  2. 反码
    反码就是所有位取反,1变成0, 0变成1。

3.2.2 补码

计算机用补码来存储数据。

  1. 十进制数转换为二进制补码
    a. 正整数的补码与原码相同
    b. 负整数补码,先求该负数绝对值的二进制数,然后将所有位取反,末位加1,不够位数时左边补1。如-3的二进制如下图:
    负数的补码
    c. 0的补码是唯一的,全是0

  2. 二进制补码转换成十进制数
    其实就是对该补码再求补码
    a. 如果最高位是0,表明为正整数,原码和补码相同,直接转换即可
    b. 如果最高位是1,表明为负整数,则
    原码为:将所有位取反,然后末位加1。
    此时得到的是无符号的二进制数,所有位数都是数字位,没有符号位。因此一定是一个正整数,将这个正整数取相反数,就是该补码对应的十进制数。

3.3 变量

变量顾名思义就是变化的量,在程序运行过程中是可以变化的
定义变量的格式如下:

数据类型 变量名;

变量名的命名规则:

  1. 变量名开头必须是字母或下划线,不能是数字
  2. 最好不要使用单个字母作为变量名

四、运算符和表达式

运算符:算术运算符,关系运算符,逻辑运算符和赋值运算符
表达式就是用运算符连起来的式子,用算术运算符连起来的叫做算术表达式。表达式是一个式子,不带分号。带分号的是语句

4.1 运算符

  1. 算术运算符
    加:+
    减:-
    乘:*
    除:/
    取余:%
    自增:++
    自减:–

  2. 关系运算符
    大于:>
    大于等于:>=
    小于:<
    小于等于:<=
    不等于:!=
    等于:==

  3. 逻辑运算符
    逻辑与:&&
    短路与:当左边为时,逻辑与表达式右边不会执行
    逻辑或:||
    短路或:当左边为时,逻辑或右边不会被执行
    逻辑非:!

  4. 赋值运算符
    赋值:=
    扩展出来的赋值运算符有:+=; -=; *=; /=

a += 3
//等价于 a = a + 3

4.2 运算符优先级

运算符的优先级不需要死记硬背,因为在实际的编程过程中,如果不知道优先级,加一个括号即可。而且大型程序里面是必须要写清楚优先级的。
运算符的结合性,C语言中大多数运算符是从左往右。只有三个运算符是从右往左的,分别是单目运算符三目运算符双目运算符中的赋值运算符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值