(精品)C语言入门教程

上传人:无*** 文档编号:247337743 上传时间:2024-10-18 格式:PPT 页数:434 大小:1.13MB
返回 下载 相关 举报
(精品)C语言入门教程_第1页
第1页 / 共434页
(精品)C语言入门教程_第2页
第2页 / 共434页
(精品)C语言入门教程_第3页
第3页 / 共434页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,C,语言程序设计,Copyer:Vigiking,第一章 计算机语言与,C,语言概述,1.1,计算机语言概念,计算机语言定义,计算机能够识别和接受的语言。,要使计算机按自己的意图工作,必须使用计算机所能接受、理解和执行的指令指挥计算机工作。,计算机语言的种类,机器语言,低级语言,汇编语言,(,面向计算机,),BASIC,入门语言,F77,科学计算,高级语言,Foxpro,数据库管理,(,面向问题,),C,多用途,计算机语言,机器语言,最早问世,用二进制代码构成指令。,如:,100000,(,+,),110000,(,-,),用机器语言编程的缺点:,繁琐、不直观、不易调试。,如计算,y=2x,2,+3x-1,需要七八条指令。,移植性差。依赖于计算机。,汇编语言,用符号构成指令,如:,MOV,、,ADD,用汇编语言编程:,相对直观,但仍繁琐,仍是面向计算机的语言。,汇编语言是计算机间接接受的语言,高级语言,与低级语言相比,有根本性的区别:,是面向问题的语言。,高级语言的一条指令(语句):,y=2*x*x+3*x-1;,对应于:,y=2x,2,+3x-1,y=sin(x);,对应于:,y=,sinx,用高级语言编程:,直观,、易懂、移植性好(不依赖于具体计算机),上机运行高级语言程序需经过,编译,:,编译,执行,要上机完成一个计算问题,主要的任务就是用高级语言编写出相应的,源程序。即至少要学会一种计算机语言。,高级语言源程序,机器指令,目的程序,结果,编译程序,1.2 C,语言的特点,集高级语言和低级语言的优点于一身,:,能实现低级语言的大部分功能(如直接访问内存物理地址、进行位操作等)。,图形功能强。,运算符和数据结构丰富,。,语法限制不太严格,程序设计自由度大。,生成目标代码质量高,程序执行效率高。,1.3,简单的,C,程序介绍,例,1,:,main(),主函数说明,程序框架,printf(“abcdef,”);,函数体,语句,程序的功能是输出字符串:,abcdef,例,2,:求两数之和。,main(),int,a,b,c;,a,a=100;b=50;,b,c=a+b;,c,printf(“n,c=%d”,c);,程序运行结果:,c=150,例,3,:求两数中的最大值。,函数类型 函数名 形参,main(),int,max (,int,x,int,y),int,a,b,c;,int,z;,scanf(“%d,%d”,&a,&b,);,if(xy)z=x;,c=,max(a,b),;,else z=y;,printf(“nmax,is:%d”,c);,return(z);,a,x,b,y,c,z,(,两个函数组成),3,5,3,5,5,5,总结上例可知:,(,1,),C,程序,由函数构成,。,(,2,)函数由两部分组成:,函数说明,部分:函数名、函数类型、形参名、形参类型。,函数体,:实现函数的具体操作;由语句构成。,(,3,)程序总是,从,main,函数,开始执行。,(,4,)书写格式自由。,(,5,)语句必须有分号。,:,第二章 算法,2,.1,算法的概念,要利用计算机处理问题,光学习语言的语法规则还不够,最重要的是要学会针对各类型的问题,拟定出有效的解题方法和步骤。,解题方法和步骤就是算法,。,算法,:,为了解决一个问题而采取的有限步骤。,计算机算法,:,如何使计算机一步一步地工作的具体过程。,利用计算机处理问题的步骤:,1,)设计好算法,算法设计,;,2,)用计算机语言实现算法,程序设计,。,算法必须是“有效”的。,算法设计还要充分考虑算法的好坏。,衡量算法好坏的主要标准:,程序简练。,执行速度快。,占空间少。,例:考虑,的算法。,算法,:,直接表达。,直接用语句,s=1+2+3+4+5+6+7+8+9+10,当项数,较多时该算法不适用,s=,i,1,10,算法,:,迭代法(累加求和法),s=1+2+3+4+5+6+7+8+9+10,算法步骤:,s i,使,s=0,+,使,i=1,累加器 记数器,s+is,i+1i,若,i10,转,否则转,输出,s,0,1,1,2,3,3,6,4,10,5,该,算法通用,是好算法,2.2,算法的表示,算法需要有统一的表示方法,常用的表示方法有:,自然语言,流程图,结构化流程图,N-S,流程图,.,1,、,自然语言,对于计算,s=1+2+3+4+5+6+7+8+9+10,用自然语言表示为:,使,s=0,(,s,为累加器),使,i=1,(,i,为计数器),s+is,(,累加求和公式),i+1i,(,计数器加,1,),若,i10,转,否则转,输出,s,的值,特点:通俗易懂、文字冗长、含义不大严格。,2,、,流程图,用流程图符号表示算法。,常用的流程图符号,起止框,输入输出框,处理框,流程线,判断框,对于计算,s=1+2+3+4+5+6+7+8+9+10,用流程图表示为:,s+i,s,i+1,i,S+i,s,S+i,s,i,10,输出,s,0,s,1,i,直观形象,易于理解,次序清楚,Y,N,3,、,结构化流程图,传统的流程图有一个弊端:对流程线没有严格的限制,对于较复杂的算法可能会变成乱麻一般(,BS,型算法)。为克服这一弊端,提出了由三个基本结构组成算法流程图的思想:,结构化流程图,三个基本结构:,顺序结构,按固定顺序(从上到下或从左到右)执行的结构。,A,B,a,b,选择结构,根据条件,P,选择执行哪一个分支。,成立,不成立,p,A,B,a,b,成立,不成立,例:,计算,y=1/x,当,x0,时,y=10000,当,x=0,时 的算法流程图图:,选择结构,输入,x,X=0?,10000,y,1/x,y,输出,y,Y,N,循环结构,重复执行某些操作的结构。,分为两种:,当型循环,和,直到型循环,。,当型循环,直到型循环,P1,A,A,P2,a,a,b,b,Y,Y,N,N,可以看出,每个基本结构都只有一个入口和一个出口,因此,用三个基本结构构成的流程图不会象乱麻一般,用三个基本结构构成的流程图就成为,结构化流程图,,用结构化流程图描述的算法称为,结构化算法,,相应的程序设计就称为,结构化程序设计,。,观察前例,:,0,s,1,i,S+i,s,i+1,i,i,10,输出,s,顺序结构,循环结构,y,n,4,N-S,流程图,N-S,流程图的三个基本结构:,A,B,P,成立,不成立,A,B,A,B,当,P1,直到,P2,顺序结构,选择结构,循环结构,例:,计算,y=1/x,当,x0,时,y=10000,当,x=0,时,的,N-S,流程图:,输入,x,X=0?,是,否,10000,y,1/x,y,输出,y,例:计算,s=1+2+3+4+5+6+7+8+9+10,的,N-S,流程图:,i10,直到,i10,直到型,当型,0,s,1,i,输出,s,1,i,0,s,s+i,s,i+1,i,s+i,s,i+1,i,输出,s,第三章 数据类型,、,运算符,与,表达式,3.1 C,的数据类型,基本类型,(整型,、,实型,、,字符型,、,枚举型),构造类型,(略),指针类型,(略),空类型 各类型包含,常量,与,变量,3.2,常量与变量,常量与符号常量,常量,在程序运行过程中其值保持不变的量。,符号常量,用来代表一个常量的标识符。,#define PI 3.1415926,例:,#define,PI,3.1415926,main(),float,r,=2,c,;,c,=2*,PI,*,r,;,printf(“%f”,c,);,变量,其值可以改变的量。,变量的三要素,:,变量名,每个变量有一个名字,作为识别该变量的标识符。,变量的值,每个变量有一个值,变量的值是随时可以改变的。,变量的存储单元,每个变量占据一个内存单元,用于存放变量的值,。,变量名,a,变量值,存储单元,3,变量的命名规则:,由字母、数字和下划线组成,以字母或下划线开头,a,、,x1,、,y_2,、,_b1,、,_1c,合法,1x,、,a+2,、,、,不合法,变量必须先定义后使用。,程序中何时使用常量?何时使用变量?,3.3,整型数据,整型常量,即整常数,,c,的整常数有三种形式:,十进制整数,与数学中的整数一致,如:,100,,,123,,,15,等。,八进制整数,以,0,开头的整数,如:,010,07,020,等。,十六进制整数,以,0 x,开头的整数,如:,0 x10,0 xff,0 x2a,等。,整型变量,用于存放整数的变量。,分,4,种类型:,基本型:,int,a,16,位,可表示的数值范围:,-3276832767,短整型:,short,int,b,16,位,可表示的数值范围:,-3276832767,长整型:,long,int,c,32,位,数值范围:,-21474836482147483647,无符号型:加上,unsigned,只存放正数。,如:,unsigned,int,x,变量,x,为无符号整数,,16,位全表示数码,,数值范围:,065535,在程序设计中,如果要使用整型变量,必须首先选择以上类型符来定义变量,然后才能使用;,例:,main(),定义,int,a,b,c;,a=100;b=50;,使用,c=a+b;,printf(“%d”,c,);,一般根据什么原则选择变量的类型?,3.4,实型数据,实型常量,可使用两种形式表示:,小数形式:,如,1.23,3.1415926 15.48,指数形式:,如,1e-20 1.23e5,实型变量,用于存放实数的变量,分单精度和双精度两种:,float a,b,定义,a,和,b,为单精度型变量,32,位,,7,位有效数字,,10,-38,10,38,double x,y,定义,x,和,y,为双精度型变量,64,位,,15,位有效数字,,10,-308,10,308,例:,main(),float r,c;,double r,c;,r=5;,c=2*3.1415926*r;,printf(“%f”,c,);,3.5,字符型数据,字符常量,用单引号括起来的一个字符。,a,x,*,1,等,除此外,以,开头的字符如,n,t,等,称为转义字符,祥见书表,3.3,字符型变量,用于存放字符的变量。,char c1,c2,定义,c1,和,c2,为字符型变量,c1=a;c2=b;,字符赋值,字符型变量存放一个字符,占据一个字节,字符型数据的存储形式,存放,ASCII,码,不是 而是,如字符,a,在内存中存放,97,,,b,存放,98,。,与整数的存储形式一致,它们之间可以通用,一个字符数据既可以作字符用,也可以作整数用(取其,ASCII,代码)。,如:,32+a,相当于,32+97,若,int,x;char c;,则,x=a;c=97;x=97;c=a;,都允许,a,97,字符串常量,用双引号括起来的字符序列。,如:,”,abcde”,”china,”,”,a,”,也属字符串。注意,”,a”,与,a,的区别。,对于:,char c;,c=”a”;,用法错误,字符串中每个字符各占一个字节,并且在字符串结尾加上一个结束标记,0,如:,”,china”,在内存中占,6,个字节。,c h i n a 0,C,语言中专门的字符串变量,可用字符数组存放(以后介绍)。,3.6,变量赋初值,在定义变量的同时给相应的变量赋初值。,如:,int,a=3;,a,float b=5.2;,char c=a;,int,x=y=z=6;,效果:,在给变量分配内存单元的同时在相应的单 元中存放初值。,3,3.7,各数值型数据间的混合运算,整型、实型、字符型数据间可以进行混合运算,如:,10-a*1.5,运算时,参加运算的两个数据如果类型不同,则首先将其类型转换成一致再运算,转换规则是:,将优先级低的类型转换到优先级高的类型,数据类型的优先级:,高,double float,long,unsignde,低,int,char,3.8,算
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!