//2020年9月10日13:52:19
二.认识C语言
1.二进制与存储的关系
二进制数:
1010B = (1010)2
数据存储与二进制:
· 1位(b)等于1个二进制位
· 1字节(bit)等于8个二进制位
存储单位与二进制
· 1 KB = 1024 B = 2^10B
· 1 MB = 1024 KB = 2^20B
· 1 GB = 1024 MB = 2^30B
· 1 TB = 1024 GB = 2^40B
使用win+r再输入calc可选择程序员计算器进行进制转换
2.二进制的四码
2.1 机器数 也就是一个数字的二进制
2.2 原码 在机器数之上引入符号位(正负符号) 最高位:0 正数 1 负数
2.3 反码 原码符号位不变 ,其他位取反(0变1 1变0)
2.4 补码 反码加1 变为补码
正数三码合一
假设用1个bit去存储1
1: 原码: 0000 0001 反码:0000 0001 补码:0000 0001
-1: 原码: 1000 0001 反码:1111 1110 补码:1111 1111
补码:1111 1110+0000 0001=1111 1111
3.进制转换
3.1 十进制转其它进制 ----->短除法
3.2 其它进制转十进制 ----->加权法
3.3 二进制转八进制转十六进制
4.C语言基本数据类型
4.1 常量: 固定的量
No.1 4bit存储整形量 32位
整形常量 :1 2 3 4 5
无符号整形常量 :1u
长整型常量 :1L
No.2 其它进制的数 :0123 八进制
:0xffff 十六进制整形
No.3 实数
单精度: 1.11f
双精度: 1.11 编译器默认的小数都是双精度
注意点: 用vs去打印没有区别
No.3 字符型常量--->字符边界符 ''
'A'
特殊字符常量:
1.转义字符系列
'\t'
'\n'
'\a'
No.4 字符串常量 "" 每一个字符串都存在一个字符串结束标记'\0'
注意点:"A" 与'A' 有区别
4.2 变量: 可以变化量
声明变量语法: 类型 标识符;
4.2.1 标识符的命名规则
4.2.1.1 三种命名方式
驼峰式 intNum(推荐使用,更美观)
帕斯卡 IntNum
匈牙利 前缀命名法
i: 整形 i_Num;
4.2.1.2 标识符的命名规则
No.1 通俗易懂
No.2 不能用数字和特殊字符开头
No.3 不能用关键字当做标识符
4.2.2 类型介绍
int : 整形
float : 单精度
double: 双精度
char : 字符
4.2.3 数据类型的修饰词
unsigned : 无符号
signed : 有符号,默认的有符号
long : 长
short : 短
4.2.4 注意项
No.1 产生一个变量,养成初始化习惯,初始化:给一个值
No.2 在同一个{} 里面不能定义相同的名字
error C2374: “s_num”: 重定义;多次初始化
5.基本的输出函数
5.1 #include <stdio.h>
5.2 printf的使用
5.2.1 打印字符串
5.2.2 结合格式控制字符打印变量
NO.1 格式控制字符: 理解为占位符
%d : int
%f : float
%lf : double
%c : char
%s : 对应字符串
%x : 十六进制整数
%u : 无符号的整形
NO.2 printf(“整数:%d,单精度:%f,双精度:%lf,字符:%c”,1,1.1f,1.1,‘A’)
整数:1,单精度:1.100000,双精度:1.100000,字符:A
No.3 小数printf("特殊占位符: %a.bf",1.11);
a: 输出数据的宽度
b: 有效位数
5.3 字符输出
putchar('A');
5.4 字符串
puts("string"); 自带换行
5.5 拓展
stdout: 表示标准输出-->屏幕
fprintf(stdin,"%s","ILoveyou");
6.基本的输入函数
6.1 #include <stdio.h>
6.2 scanf(“格式控制字符”,变量地址);
No.1 怎么得到变量地址 : &变量名
No.2 scanf运作原理
6.3 注意点:
No.1 scanf中格式控制字符不能存在精度调整
scanf("%1.2f",&fNum); 错误
No.2 做字符和字符串输入前要清空缓冲区
vs2019以前版本:fflush(stdin);
vs2019: setbuf(stdin,NULL);
错误:
using scanf_s instead. use _CRT_SECURE_NO_WARNINGS
在程序的最上面:#define _CRT_SECURE_NO_WARNINGS
7.格式转换问题
7.1 隐式转换
短的可以往长的转
7.2 显示转换
(要转换的类型)变量