初学c语言-2数据类型下

//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 显示转换
		(要转换的类型)变量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值