c语言笔记

c语言笔记

第一个程序(梦开始的地方)
#include<stdio.h>//头文件
int main()
{
 	printf("hello word")//打印hello word
}

//变量 一个存储数据的;

//定义变量 变量类型 变量名;

//作用域 变量的作用域在把它包含在{}里面最近的;

//生命周期 重调用时就是生命开始到结束;

//五则运算 + - * / % 前面4个和我们学的一样,后面的%是取模也叫取余;

//单目运算 ++ – 使变量加1或者减1 注:i++ 是先用后加,而++i是先加后用;


作业:查找一下**%c %s %o %x %f %p %u** //百分号什么是控制我们输出的格式

//& :取地址符 把变量的内存地址取出来

// :解地址符 把变量的内存地址里面存的东西解出来*

%c:输出字符
%s :输出字符串
%o:输出无符号以八进制表示整数
%x:输出无符号以十六进制表示的整数
%f: 输出浮点数
%p: 输出指针值
%u:十进制无符号整

进制转换

数据存储是以字节(byte)为单位

数据传输是以位(bit)为单位 //一字节等于八

小白用法欸
10进制转16,先转二进制,再隔4个转16,比如 97=0110 0001=61
10进制转8,先转二进制,再隔3个转8进制,比如97=  001=1 100=4 001=1
10进制转210进制除以2,
比如
97/2=48....1
48/2=24....0
24/2=12....0
12/2=6.....0
6/2=3......0
3/2=1......1一直算到1然后把最后的1也加上从后先前记110 0001。
正经的用法
10进制转16
97/16=97-16*6=1(这边加上16乘以的数就好,再加上1,就是6110进制转8
97/8=97-8*12=1
12/8=12-8=4			(算到比8小的就可以不用算了,加上一就好,141).

数据类型

基本数据类型
int 		//整型		 //4字节
char		//字符型		//1字节
short		//短整型		//2字节
long		//长整型		//4字节
float		//单精度浮点数  //4字节
double		//双精度浮点数  //8字节
注:以上是在32位的系统下的字节

在计算机里是用补码+1表示负数

要得到补码先取反,比如1,二进制就是0000 0001,取反1111 1110,加1,1111 1111,这就是补码;

逻辑判断

&&		//逻辑与	必须2个都是真才真,否则为假
||		//逻辑或	有一个为真就是真,2个假为假
!		//非	 真的变假的,假的变真的 非零的数和零,真和假,不管什么数只要不是0,就是真,是零就是假
!=		//不等于	不相等
==		//等于	等于

位运算

&		//按位与		必须2个都是1才是1,否则为0
|		//按位或		有一个为1就是,就为1
~		//按位取反	~1111 等于0000			若n为任何一个十进制的数则:“~n+n=-1” ~1+1=-2
^		//异或		 相同为0,不同为1
>>		/*右移		 二进制向右移动,比如a=4=0100,a>>1(让a向右移动一位),然后a=2=0010	对于无符号的int和char型数据,右移时左端补零,对于有符号int和char型数据,空出来补符号位
    	比如-3 是先3取反1100(原码0011),然后加上1变成补码1101,这就是-3,然后正常来说位移是0110,但是它是有符号的所以要加上前面加上1,也加上1110,然后就位移成了-1(这是通俗易懂的)。
    	然后就是正常来说int 是4字节,每个字节8位,也就是3的源码是00000000 00000000 00000000 00000011
    	那取反后就是11111111 11111111 11111111 11111100,
    	补码是11111111 11111111 11111111 11111101
    	然后位移>>就是01111111 11111111 11111111 11111110,
    	但是要补上符号位所以就是11111111 11111111 11111111 11111111,也就是-1.
    	*/
<<		//左移		 二进制向左移动,比如a=4=0100,a<<1(让a向左移动一位),然后a=8=1000	
x|=1<<y)	//将x的第y位置为1
x&=~1<<y)	//将x的第y位清零
    1101>>1110
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值