c语言实用教程(精品课件).ppt
《c语言实用教程(精品课件).ppt》由会员分享,可在线阅读,更多相关《c语言实用教程(精品课件).ppt(105页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、程序设计基础程序设计基础 (C C语言)语言)语言程序设计 C1第一章第一章 程序设计基础程序设计基础程序设计概述程序设计概述算法概述及其表示算法概述及其表示程序开发过程程序开发过程C语言概述语言概述语言程序设计 C1.1 程序设计概念程序设计概念1.1.什么是程序设计什么是程序设计程序程序软件软件计算机计算机2.2.计算机语言的发展计算机语言的发展 计算机语言:人与计算机交流的工具。计算机语言:人与计算机交流的工具。种类:种类:机器语言机器语言 汇编语言汇编语言 算法语言算法语言 面向对象语言面向对象语言 C C语言是算法语言的一种。语言是算法语言的一种。C+C+是面向对象语言的一种是面向对
2、象语言的一种高级语言高级语言机器语言汇编语言高级语言 Fortran 、Basic、C 、C+等程序设计语言 10110000 0000111110110000 00001111 0010110000101100 00001010 00001010MOVMOVAXAX,1515ADDADDAXAX,1010a=15+10计算:计算:A=15+10A=15+10机器语言机器语言 1010 1001 0001 0110 0000 0001 0011 1100 0001 1000 0000 0001 0000 0000 0000 00000000 0000 0000 0000高级语言(高级语言(C语
3、言)语言)if(XY)Y=X+15;else Y=X-15;3.3.结构化程序设计思想:三种基本结构结构化程序设计思想:三种基本结构 顺序结构:操作顺序执行。顺序结构:操作顺序执行。选择结构:根据给定的条件是否成立选择结构:根据给定的条件是否成立 而选择执行某种操作。而选择执行某种操作。循环结构:反复执行某些操作。循环结构:反复执行某些操作。三种基本结构三种基本结构顺序结构顺序结构选择结构选择结构循环结构循环结构#include#include void main()float a,b,c,d,x1,x2;scanf(“%f,%f,%f”,&a,&b,&c);d=b*b-4*a*c;x1=(-
4、b+sqrt(d)/(2*a);x2=(-b-sqrt(d)/(2*a);printf(“x1=%f,X2=%f”,x1,x2);顺序结构示例:顺序结构示例:#include#include void main()float a,b,c,d,x1,x2;scanf(“%f,%f,%f”,&a,&b,&c);d=b*b-4*a*c;if(d=0)x1=(-b+sqrt(d)/(2*a);x2=(-b-sqrt(d)/(2*a);printf(“x1=%f,X2=%f”,x1,x2);else printf(“没有实根没有实根”);选择结构选择结构条件条件选择结构示例:选择结构示例:循环结构程序示
5、例:循环结构程序示例:void main()int i,sum=0;for(i=1;i0)for(i=1;i0时时 a0时时自顶向下自顶向下逐步细化逐步细化模块化设计模块化设计结构化编码结构化编码问题问题B问题B1问题B2问题A问题A2问题A1问题B21问题B22问题B23问题C问题C1问题C2程序设计的思想程序设计的思想 1.2 算法的概念算法的概念 从事各种工作和活动,都必须事先想好进行从事各种工作和活动,都必须事先想好进行的步骤,然后按部就班地进行。的步骤,然后按部就班地进行。算法:算法:解决一个问题而采取的方法和步骤。解决一个问题而采取的方法和步骤。对同一个问题,可以有不同的解题方法和
6、步对同一个问题,可以有不同的解题方法和步骤。方法有优劣之分。骤。方法有优劣之分。算法也有优劣。算法也有优劣。常用的有:常用的有:自然语言自然语言(人的日常使用语言)人的日常使用语言)伪代码伪代码 传统流程图传统流程图 结构化流程图结构化流程图(N-S)(N-S)等等 怎样表示一个算法怎样表示一个算法算法的特点:算法的特点:1 1、有穷性、有穷性2 2、确定性、确定性3 3、有零个或多个输入、有零个或多个输入4 4、有一个或多个输出、有一个或多个输出5 5、有效性、有效性用最原始的方法进行。用最原始的方法进行。步骤步骤1 1:12=2 12=2步骤步骤2 2:23=6 23=6步骤步骤3 3:6
7、4=24 64=24步骤步骤4 4:245=120 245=120。这就是最后的结果。这就是最后的结果。这样的算法虽然是正确的,但太繁琐这样的算法虽然是正确的,但太繁琐。例例 求求1234512345。可以将迭代算法改写如下:可以将迭代算法改写如下:步骤步骤1 1:t=1 t=1步骤步骤2 2:i=2 i=2步骤步骤3 3:ti=t ti=t(迭代变量)(迭代变量)步骤步骤4 4:i+1=i i+1=i 步骤步骤3 3步骤步骤5 5:当当i=5i=5执行执行,否结束循环否结束循环传统流程图传统流程图例例 求求1234512345。弊端弊端流程线流程线图图2.8 在传统流程图中,完全在传统流程图
8、中,完全去掉去掉了带箭头了带箭头的的流程线流程线。全部算法写在。全部算法写在一个矩形框内一个矩形框内,在该框内还可以包含其他的从属于它的框,在该框内还可以包含其他的从属于它的框,或者说,由一些基本的框组成一个大的框。或者说,由一些基本的框组成一个大的框。这种流程图就称这种流程图就称N-S结构化流程图。这种结构化流程图。这种流程图适于结构化程序设计。流程图适于结构化程序设计。N-SN-S结构化流程图表示算法结构化流程图表示算法(2)选择结构选择结构(1)顺序结构顺序结构N-S流程图用以下的流程图符号:流程图用以下的流程图符号:(3)循环结构:循环结构:直到型循环结构直到型循环结构当型循环结构当型
9、循环结构直到直到p1条件不成立为止。条件不成立为止。直到给定的直到给定的p1条件成立为止条件成立为止例例 求求1234512345。程序的开发过程:程序的开发过程:目标程序目标程序可执行程序可执行程序 计算结果计算结果 编译编译 链接链接 运行运行 源程序源程序 编辑编辑程序设计一般包括以下几个步骤:程序设计一般包括以下几个步骤:(1 1)分析问题并建立相应的数学模型。)分析问题并建立相应的数学模型。(2 2)确定数据结构和算法。)确定数据结构和算法。(3 3)编程。)编程。(4 4)调试。)调试。(5 5)整理并写出文档资料。)整理并写出文档资料。例例1:计算面积为:计算面积为12.5 cm
10、2的园的半径。的园的半径。分析:分析:s=r2 r=sqrt(s/);程序:程序:#include#include#define PI 3.14 void main()float r,s;s=12.5;r=sqrt(s/PI);printf(“半径为:半径为:%f”,r);N-S流程图?流程图?define PI 3.14float r,ss=12.5r=sqrt(s/PI)Printf(“%f”,r)例例2:输入输入3个数,输出最小的数。个数,输出最小的数。分析问题:分析问题:定义定义4变量变量x、y、z、min,从键盘依次输入,从键盘依次输入3个数个数给给x、y、z赋值,赋值,min存放最
11、小数。存放最小数。用自然语言描述该算法:用自然语言描述该算法:(1)输入)输入x,y,z。(2)若)若xy,则,则xmin,否则,否则ymin。(3)若)若zmin,则,则zmin。(4)输出)输出min,min即为最小数。即为最小数。程序:#include void main()int x,y,z,min;scanf(“%d%d%d”,&x,&y,&z);if(xy)min=x;else min=y;if(zmin)min=z;printf(“min=%d”,min);鸡兔同笼鸡兔同笼 枚举算法枚举算法 例例3:今有鸡兔同笼,上有三十五头,下有九十四今有鸡兔同笼,上有三十五头,下有九十四 足
12、,足,问鸡兔各几何?问鸡兔各几何?”分析如下:分析如下:问题数学化。问题数学化。设:有设:有x只鸡,只鸡,y只兔,列出二元一次方程组:只兔,列出二元一次方程组:x+y=35 (1)2*x+4*y=94 (2)具体程序具体程序#include int x,y;void main()for(x=1;x=35;x+)for(y=1;y=35;y+)if(x+y=35)if(2*x+4*y=94)printf(“鸡鸡:%d 兔兔:%dn”,x,y);for(y=1;y=35-x;y+)减少循环次数?减少循环次数?C语言是国际上广泛流行的计算机高级语言语言是国际上广泛流行的计算机高级语言,既可用来既可用
13、来写写系统软件系统软件,也可用来,也可用来写写应用软件应用软件。它既。它既具有一般高级语言特性,又具有低级语言特性,集具有一般高级语言特性,又具有低级语言特性,集高级语言和低级语言优点于一身。高级语言和低级语言优点于一身。1.3 C语言概述语言概述其特点其特点:(1)语言简洁、紧凑,自由。)语言简洁、紧凑,自由。(2)运算符丰富,共有)运算符丰富,共有34种运算符。种运算符。语言程序设计 C(3)数据结构丰富。有整型、实型、字符型、数据结构丰富。有整型、实型、字符型、数组类型、指针类型、结构体类型等数组类型、指针类型、结构体类型等(4)是模块化的程序设计语言,各模块功能独立。是模块化的程序设计
14、语言,各模块功能独立。(5)C C语言具有很好的通用性,既可以用于编语言具有很好的通用性,既可以用于编写应用软件,也适合编写系统软件。写应用软件,也适合编写系统软件。C语言与语言与C+?语言程序设计 C一、一、C语言的基本符号语言的基本符号void main()printf(“这是一个示例这是一个示例n”);程序示例程序示例C语言的基本符号包括三类符号语言的基本符号包括三类符号:英文字母英文字母:AZ,az 数字符号数字符号:09 特殊字符特殊字符:!#%&*()=+-/“.,;_ 语言程序设计 C二、关键字二、关键字1概念:关键字又称保留字,它是概念:关键字又称保留字,它是C语言系统已语言系
15、统已定义了的定义了的专用名字专用名字,共有,共有32个。它们主要是一个。它们主要是一编制编制C语言源程序会用到的类型名、命令名等。语言源程序会用到的类型名、命令名等。2 2类型名:类型名:int float char long double short3 union struct unsigned signed 4 结构控制:结构控制:if else for while do goto switch5 countinue break 语言程序设计 C三、标识符三、标识符 语言程序设计 C1 标识符标识符 程序员定义程序员定义的名字的名字:函数名函数名,变量名等。变量名等。2 定义规则定义规则
16、只能由字母只能由字母(A-Z,a-z)、数字、数字(0-9)或下划或下划线线(_)组成。组成。必须以必须以字母字母或或下划线下划线开头。开头。不能使用保留字。不能使用保留字。语言程序设计 C标识符示例标识符示例:sum array_1 _num1 SUM 1num num-1 边边_a -3 intSUM与sum是两个不同不同的标识符。C语言区分大小写字母语言区分大小写字母。注意注意正确正确:错误错误:语言程序设计 C四、四、C语言程序的结构语言程序的结构示例示例1 仅由仅由main()函数构成的函数构成的C语言程序。语言程序。void main()printf(“This is a C pr
17、ogram.n”);1 1 总体结构总体结构 一个完整的一个完整的C语言程序由语言程序由若干若干个函数组成。个函数组成。必须有且只能有一个主函数必须有且只能有一个主函数main()()函数。函数。没有、有一个或多个若干个没有、有一个或多个若干个其它函数其它函数。语言程序设计 C示示例例2 由由main()函函数数和和1个个其其它它函函数数max()构构成成的的语言程序。语言程序。int max(int x,int y)return(xy?x:y);void main()int num1,num2;scanf(“%d”,&num1);scanf(“%d”,&num2);printf(“max=%
18、dn”,max(num1,num2);函数函数主函数主函数语言程序设计 C 函数是函数是C语言程序的语言程序的基本单位基本单位 main()函函数数的的作作用用,相相当当于于网网站站的的主主页页;其其它它函函数数的的作作用用,相相当当于于超超链链接接的的网网页页。被被(超超链链接接)调调用用的的函函数数可可以以是是系系统统提提供供的的库库函函数数,也也可可以是用户以是用户自己设计自己设计的自定义函数。的自定义函数。C语语言言程程序序总总是是从从main()函函数数开开始始执执行行,不不考考虑虑其其在在程程序序中中的的位位置置。当当主主函函数数执执行行完完毕毕时时,程序也就执行完毕。程序也就执行
19、完毕。习惯上,将主函数习惯上,将主函数main()放在最前头放在最前头语言程序设计 C2 函数的一般结构函数的一般结构 函数首部函数首部函数体部分函数体部分 任何函数都是由:任何函数都是由:函数首部函数首部 函数体函数体 其一般结构如下:其一般结构如下:函数类型函数类型 函数名函数名(函数参数表函数参数表)说明语句部分;说明语句部分;执行语句部分;执行语句部分;语言程序设计 C函数首部函数首部 函数类型函数类型 函数名函数名(函数参数表函数参数表)int max(int x,int y)return(xy?x:y);函数类型函数类型函数名函数名参数表参数表主函数名为:主函数名为:main函数可
20、以没有参数,但函数可以没有参数,但括号括号不能省略不能省略。void main()注意注意语言程序设计 C函数体函数体 void main()int n1,n2;scanf(“%d”,&n1);scanf(“%d”,&n2);printf(“sum=%dn”,n1+n2);可执行语句可执行语句函数体函数体说明语句说明语句 在在函函数数首首部部(说说明明部部分分)的的下下面面、大大括括号号内内的部分。的部分。由由说明语句说明语句和和可执行语句可执行语句两部分构成:两部分构成:语言程序设计 C五、五、C C语言程序的书写格式语言程序的书写格式1.1.所所有有语语句句都都必必须须以以分分号号“;”结
21、结束束,函函数数的的最最后一个语句也不例外。后一个语句也不例外。2.2.程程序序行行的的书书写写格格式式自自由由,既既允允许许1 1行行内内写写几几条条语语句,也允许句,也允许1 1条语句分写在几行上。条语句分写在几行上。3.C语言本身语言本身没有输入输出语句没有输入输出语句。输入和输出的。输入和输出的操作是由库函数操作是由库函数scanf和和printf等函数来完成的。等函数来完成的。C对输入输出实行对输入输出实行“函数化函数化”。4.4.允许使用允许使用注释注释。C语言的注释格式为:语言的注释格式为:/*/*/语言程序设计 C例:求两数之和例:求两数之和#includevoid main(
22、)/*求两数之和求两数之和*/int a,b,sum;/*这是声明部分,定义变量这是声明部分,定义变量a,b,sum为整型为整型*/a=123;b=456;/*以下以下3行为行为C语句语句*/sum=a+b;printf(sum is%d/n,sum);输出输出:sum is 579使用标准函数使用标准函数库中的函数声库中的函数声明明空类型空类型空类型空类型:不产生函数值不产生函数值不产生函数值不产生函数值复习算法:算法:解决一个问题而采取的方法和步骤。解决一个问题而采取的方法和步骤。表示算法的方法:自然,流程图,表示算法的方法:自然,流程图,N-S,伪代伪代三个基本结构及三个基本结构及3个共
23、同特点个共同特点结构化程序设计方法及基本思想:结构化程序设计方法及基本思想:计算机语言种类:机器,汇编,高级计算机语言种类:机器,汇编,高级(算面)(算面)计算机语言执行过程计算机语言执行过程关键字(保留字),标示符关键字(保留字),标示符3点要求点要求C语言程序的结构:语言程序的结构:main,其他函数其他函数函数结构:首,函数体函数结构:首,函数体自顶向下自顶向下逐步细化逐步细化模块化设计模块化设计结构化编码结构化编码1 数据类型数据类型 C语言的数据类型是指数据的存在形式语言的数据类型是指数据的存在形式 及数据之间的联系。及数据之间的联系。2 C语言的数据类型语言的数据类型 第二章数据表
24、示及数据运算第二章数据表示及数据运算 数据类型总表C C数数据据类类型型基本类型基本类型构造类型构造类型指针类型指针类型空类型空类型void字符类型字符类型 char整整 型型实型实型单精度型单精度型float双精度型双精度型double数组类型数组类型结构体结构体struct短整型短整型short长整型长整型long基本整型基本整型int数据类型决定:1.数据占内存字节数2.数据取值范围3.其上可进行的操作语言程序设计 第二章数据描述C在程序中所有数据都必须规定其数据类型在程序中所有数据都必须规定其数据类型基本数据类型类型符号关键字数的表示范围所占位数整型字符型实型有无(signed)int
25、16-3276832767(signed)short16-3276832767(signed)long32-2147483648214748364716unsigned int0655353204294967295unsigned longunsigned short16065535有float323.4e-383.4e38有double641.7e-3081.7e308有char8-128127无unsigned char80255说明:数据类型所占字节数随机器硬件不同而不同,上表以IBM PC机为例:语言程序设计 第二章数据描述C一、变量的概念一、变量的概念 变量是指在程序的变量是指在程序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 实用教程 精品 课件
限制150内