C语言学习(一)

c语言常量

  • 首先,什么是常量:固定的值

  • 常量的分类:

  • 整型常量(int)

  • 八进制,以0开头,如:0123;

  • 十进制,如:1,123;

  • 十六进制,以0x开头,如:0x123;

  • 无符号整数型,就是没有负号的意思,如:1u;

  • 长整型,如1L;

  • 浮点常量(double)

  • 实数,包含整数,包含小数;

  • 双精度浮点型,默认即是双精度(double);

  • 单精度浮点型,如:1.33f,小数位数少于双精度,占用内存少于双精度(float);

  • 科学计数法,如1.234可以写成1234E-3;

  • 字符常量

  • 转义字符:具有特殊含义的字符(网络找来的图片)

  • 字符边界符号‘

如:'A',必须是英文字符’

  • 字符串

  • 可以包含多个字符:“hello word”;

  • 要注意每一个字符串都有一个结束符——>\0;

C语言变量

  • 什么是变量?就是可以改变的量,可以用来存储数据

  • 定义变量的语法:类型 + 标识符

  • 类型:int double char等

  • 标识符:就是一个名字,自己可以定义

  • 起的名字要能够见名知意。

  • 只能以_和字母,数字组成。且数字不可以做开。

  • 标识符不能是C语言的关键字(if ,case,switch,int)

  • 有大小写区分

  • 起名方式

  • 帕斯卡:PlayMusic

  • 驼峰:playMusic

  • 匈牙利:特定前缀组成的命名方式

如:g_play //g_开头: 全局变量

  • 数据类型

  • 基本数据类型

  • int //整型

  • float //单精度

  • double //双精度

  • char //字符类型

  • 修饰词

  • short/long :体现在数据占用内存的基础上.

short 下只占用原来的一半。

short iNum =0;
short int sNum =0;

想要节省内存时用short。但是现在内存够用,用的少一点。

32位系统下long int 和 int占用同样大的内存

short 和long 只能修饰整数型。即:只可以short int 或者 long int

  • unsigned/signed

表示该变量不能表示负号。(年龄等)

不加该前缀也可以,加了更加的严谨。

unsigned int i =0;
  • const(常)

  • 常属性的变量定义必须初始化。

  • const的变量将无法改变。

const int ci= 0;
ci =2;//这里错误,不可以修改
  • 可以修饰整数型和字符型。

  • tips:一个程序不能大量出现常量。容易搞不清是用来干什么。

  • auto/extern/static(后续说)

进制与数据存储

  • 十进制:满10进一

  • 二进制:满2进一 //10 表示 2;11表示 3

  • 八进制:满8进一

  • 十六进制: 满16进一

十六进制中:

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

  • 三个二进制表示一个八进制位

  • 四个二进制位表示一个十六进制位

二进制与C语言存储的关系

  • 二进制与存储单位

存储单位

表示含义

bit 位

一个二进制,能表示的数字只有0与1

btye 字节

1B=8b,8个二进制表示一个字节

kb 千字节

1kb =1024B

MB 兆字节

1MB=1024kb

GB 吉字节

1GB=1024MB

TB 太字节

1TB=1024GB

  • 数据的二进制存储

  • 所有数据在计算中都是用补码来存储

  • 补码:反码+1

  • 反码:原码取反

  • 原码:负数:引入符号位,用第一位表示整数。0:表示正数。1:表示负数

  • 整数的二进制码 都是三码合一

正数:3

原码:0000 0000 0000 0000 0000 0000 0000 0011

反码:0000 0000 0000 0000 0000 0000 0000 0011

负数:-3        //负数才要改变

原码:1000 0000 0000 0000 0000 0000 0000 0011

反码:1111 1111 1111 1111 1111 1111 1111 1100(0变1,1变0)

补码:1111 1111 1111 1111 1111 1111 1111 1101

计算3-3

   0000 0000 0000 0000 0000 0000 0000 0011

   1111 1111 1111 1111 1111 1111 1111 1101

   0000 0000 0000 0000 0000 0000 0000 0000
补码要算出十进制数,必须要先转换为原码,再用加权法
  • C语言数据的范围:(网上找的)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值