编程是用代码(编程语言)将想做的事情告诉计算机。我们在学习c语言时应该有一种不怕麻烦的学习态度,因为学习过程是个反复的过程,在编写程序时经常会出现有错的情况,当我们遇到这种情况时应该不断尝试找出错误,并且及时同老师与同学进行交流解决这个问题,我们刚开始学习英语的时候也是一样的道理,在学习完零零碎碎的一些单词后,尝试写成句子时也会有很多语法错误,这是我们应该学习的一个过程,从失败中成长才能得到最后想要的。当我们在打代码时,要多练多敲代码,这样有助于帮我们养成打代码的习惯。其中我们要学习编程的思维,c语言与其他的编程语言不同,它是很基础的但同时也是很复杂的,有自己的语法跟算法。
数据类型包括以上几种的类型,基本类型包括整型(int),字符型(char),浮点型(单精度float,双精度double)在程序中所有数据都要指定其数据类型。数据有常量和变量之分 。常量:在程序运行过程中不会被改变的量 ;变量:在程序运行过程可以改变的量,而变量能变的原因为他是一个存储数据的空间,在这个空间里有不同的数据,而我们定义的变量就是开辟了一个空间。在定义时有两种形式:1.int a= 3,这叫初始化,在定义变量的同时给了一个值;2.int a;a=3;这叫赋值,先定义变量再给值。
存储方式分为大端存储和小端存储,小端存储是高高低低(高位数据存储在高地址处,低位数据存储在低地址处)而存储方式由计算机决定,一般的电脑都是小端存储,大端存储的特点则与小端存储方式相反;
进制:满几进1为几进制;例如:123,十进制:123,八进制:0123,十六进制:0x123
分为十六进制 ,十进制 , 八进制以及二进制;十六进制后面的用字母代替:1 2 3 4 5 6 7 8 9 A B C D E F....; 进制之间是可以转换的,十进制转n进制:短除法和除n取余法,在除二取余法时,高位在下面低位在上面,从底下往上面排列即为n进制;而n进制转十进制则只用加权求和。八进制转二进制:一个八进制数对应三个二进制数;01 111 011对应1 7 3,十六进制对应四位二进制数,用8421很快能得到二进制数0111 1011对应7 B。
c语言:
int 对应4个字节,short对应2个字节,long对应8个字节(64位平台)以前32位平台是4字节,longlong对应8个字节。一个字节为两个八进制数,0000 0000.
unsigned/signed
unsigned:非负数(无符号)都是数值位; signed:负数(有符号),最高位为符号位,其余是数值位。unsigned short:范围【0,65535】2^16-1,signed short:正数范围【0,32767】;负数范围【-32768,0】。unsigned int最小值为0,最大值在42亿左右。
正数存储到计算机中存储的是其二进制数,计算机存储的都是补码,正数的原码 反码 补码都一样,补码就是在反码+1,负数的原码,反码以及补码如下图:
其中:%d表示 以有符号的十进制形式输出
整型数据溢出:从上可知,整型最大值为65535当我们求得它的补码时发现为-1,而当最小值0-1时发现能回到65535的数值,说明这是一个可以循环的过程。
浮点型:
1.浮点常量:1.234,1.234e4(e4表示10的四次方),1.234e-4(e-4表示10的-
4次方),指数不能为小数。
2.浮点变量:分为float单精度(大小为4字节)和double双精度(大小为8字节)型,double通常用于需要精度更高的数据。
3.浮点数的存储:0.25
首先,将十进制的小数转换为二进制的小数;
例如-9.25,
先将整数部分转换为二进制9---1001
小数部分用乘二取整法:0.25*2=0.50----取0;0.50*2=1.0---取1。
则为0.01,整合为1001.01.
然后将二进制的小数写成科学计数法形式,1.00101*10^3.
最后,按照 IEEE 754标准存放
float 32位,
符号位| 指数位 | 尾数位
1 | 8 | 23
1 3+127
1 1000 0010 00101
其中指数位要+127(保证指数是正数,范围在【-127,128】)
注意
变量名:
1.数字,字母,下划线组成
2.不能以数字开头
3.区分大小写
4.不能与关键词重名
5.不要与二级关键词重名 //include
6.不要与库函数重名