预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10
亲,该文档总共22页,到这已经超出免费预览范围,如果喜欢就直接下载吧~
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
概述C程序结构图:C特点:简洁:一共只有32个关键字。34个运算符目标代码执行效率高。可移植性好(与汇编语言比)。算法概述:程序=数据结构+算法+程序设计方法+语言工具和环境含义:“数据结构+算法”就象厨师做菜时的“配料+操作步骤”。数据:是操作的对象。数据结构:程序中指定的数据的类型和数据的组织形式。算法:为解决一个问题而采取的方法和步骤就是算法。算法是解决“做什么”和“怎么做”的问题。程序中的操作语句实际上就是算法的体现。语言是工具。算法的三种基本结构:顺序结构选择结构循环结构:当型,直到型结构不一定只限于上面三种:如多分支选择结构。由基本结构所构成的算法属于“结构化”的算法。数据类型数据类型基本类型:整型,字符型,实型(浮点型)(单精度型,双精度型)枚举型构造类型:数组类型,结构体类型,共用体类型指针类型空类型各种数据类型又有常量和变量之分常量与变量常量:在程序运行中其值不能被改变的量变量:在程序运行中其值可以被改变的量在程序中从变量中取值,实际上是通过变量名找到相应的内存地址,从其存储单元中读取数据。整型数据分类:intunsignedshortunsignedshortlongunsignedlong存储方式:有符号整型变量存放在内存中,最左边一位是表示符号的。而无符号整型变量最左面一位仍用于存储数值用long型可以得到大范围的整数,但同时会降低运算速度。所以尽量不要随便使用long型。溢出:有符号型最大值+1=其最小值:32767+1=-32768整型常量:十进制:123=1*102+2*101+3*100八进制:0123=1*82+2*81+3*80=83十六进制:0x123=1*162+2*161+3*160=291整型常量类型分类(在常量后面加一个字母作为分类标志):用u或U指定:指定该常量为unsigned型,如:12345u。在内存中按unsigned规定的方式存放(存储单元中最高位不作为符号位,而用来存储数据)用l或L指定:指定该常量为long型,如:1234L、0L等。不指定时据范围自动确定类型。实型数据分类:float,double,longdouble存储方式:内存中的存放形式:分成小数部分(包括符号位)和指数部分。实际在计算机中是以二进制数来存储小数部分且以2的幂次来存储指数部分的。一般在内存中占4byte(32bit)。以24bit表示小数部分(包括符号位。与整数存放类似),8bit表示指数部分。小数部分占的位(bit)数越多,有效数字越多,精度越高。指数部分占的位(bit)数越多,能表示的数值范围越大。实型数据的舍入误差:有效数字是有限的,有效位外的数字将被舍去。如:floata=123456.789e5.但a的值其实是1234567848.000000.前8位是准确的,后几位是不准确的。原因:10进制数123456.789e5=12345678900转换为二进制为:1011011111110111000001110000110100(共34位)然后这个数变成小数:1.011011111110111000001110000110100*2^33因为第一位的1不用存(因为除非是0,否则任务10进制数转换为二进制数第一位必为1,所以可以不用存储,编译器解释时自动认为小数点一位是1。所以需要存储的小数部分是:0110111111101110000011100001101002的幂33二进制为:100001因为我们只有24位用于存储小数的单元,且还包含了符号位。所以实际只有23位用于存储小数。只有省掉23后的0000110100来存储0(符号)01101111111011100000111(小数)100001(2的幂)后面少了0000110100=52正好就是你说的那个少的部分:12345678900-52=1234567848实型常量:十进制小数形式:123.0指数形式:123e0=0.0123e4=1.23e2=1.23E2=1.23*102e前必须有数字且e后必须为整数。规范化的指数形式:即在e(或E)前的小数部分中,小数点左边有且只有一位非零数字。如:1.23e2实型常量类型分类:一般C编译系统将实型常量作为双精度(64位)来处理(存储和运算)。这样保证了精确但运算速度降低了。可在常量后面加字母f或F(如1.65f),这样编译系统就会按单精度(32)位处理了。一个实型常量赋给一个实型变量时,根据变量的类型截取实型常量中相应的有效位数字。取值范围int和long并没有明确位数,具体和平台相关,但有一点可以确定,sizeof(int)<=si