您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > c语言实用教程(精品课件)
程序设计基础(C语言)语言程序设计C第一章程序设计基础§程序设计概述§算法概述及其表示§程序开发过程§C语言概述语言程序设计C1.1程序设计概念1.什么是程序设计程序软件计算机2.计算机语言的发展计算机语言:人与计算机交流的工具。种类:机器语言汇编语言算法语言面向对象语言C语言是算法语言的一种。C++是面向对象语言的一种高级语言§机器语言§汇编语言§高级语言Fortran、Basic、C、C++等程序设计语言10110000000011110010110000001010MOVAX,15ADDAX,10a=15+10计算:A=15+10X+15若 X<YYX-15若 XY§机器语言101010010001011000000001001111000001100000000001…………………00000000000000000000000000000000§高级语言(C语言)if(XY)Y=X+15;elseY=X-15;3.结构化程序设计思想:三种基本结构顺序结构:操作顺序执行。选择结构:根据给定的条件是否成立而选择执行某种操作。循环结构:反复执行某些操作。三种基本结构顺序结构选择结构循环结构#includestdio.h#includemath.hvoidmain(){floata,b,c,d,x1,x2;scanf(“%f,%f,%f”,&a,&b,&c);d=b*b-4*a*c;x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);printf(“x1=%f,X2=%f”,x1,x2);}顺序结构示例:#includestdio.h#includemath.hvoidmain(){floata,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);}elseprintf(“没有实根”);}选择结构条件选择结构示例:循环结构程序示例:voidmain(){inti,sum=0;for(i=1;i=100;i++)sum=sum+i;printf(“sum=%d”,sum);}循环结构反复执行voidmain(){inta,b=0,i;scanf(“%d”,&a);if(a0)for(i=1;i=a;i++)b=b+i;elseb=0;printf(“%d”,b);}a0时a≤0时自顶向下逐步细化模块化设计结构化编码问题问题B问题B1问题B2问题A问题A2问题A1问题B21问题B22问题B23问题C问题C1问题C2程序设计的思想1.2算法的概念从事各种工作和活动,都必须事先想好进行的步骤,然后按部就班地进行。算法:解决一个问题而采取的方法和步骤。对同一个问题,可以有不同的解题方法和步骤。方法有优劣之分。算法也有优劣。常用的有:自然语言(人的日常使用语言)伪代码传统流程图结构化流程图(N-S)等怎样表示一个算法算法的特点:1、有穷性2、确定性3、有零个或多个输入4、有一个或多个输出5、有效性用最原始的方法进行。步骤1:1×2=2步骤2:2×3=6步骤3:6×4=24步骤4:24×5=120。这就是最后的结果。这样的算法虽然是正确的,但太繁琐。例求1×2×3×4×5。可以将迭代算法改写如下:步骤1:t=1步骤2:i=2步骤3:t×i=t(迭代变量)步骤4:i+1=i步骤3步骤5:当i=5执行,否结束循环传统流程图例求1×2×3×4×5。弊端流程线图2.8在传统流程图中,完全去掉了带箭头的流程线。全部算法写在一个矩形框内,在该框内还可以包含其他的从属于它的框,或者说,由一些基本的框组成一个大的框。这种流程图就称N-S结构化流程图。这种流程图适于结构化程序设计。N-S结构化流程图表示算法(2)选择结构(1)顺序结构N-S流程图用以下的流程图符号:(3)循环结构:直到型循环结构当型循环结构直到p1条件不成立为止。直到给定的p1条件成立为止例求1×2×3×4×5。程序的开发过程:目标程序可执行程序计算结果编译链接运行源程序编辑程序设计一般包括以下几个步骤:(1)分析问题并建立相应的数学模型。(2)确定数据结构和算法。(3)编程。(4)调试。(5)整理并写出文档资料。例1:计算面积为12.5cm2的园的半径。分析:s=∏r2r=sqrt(s/∏);程序:#includestdio.h#includemath.h#definePI3.14voidmain(){floatr,s;s=12.5;r=sqrt(s/PI);printf(“半径为:%f”,r);}N-S流程图?definePI3.14floatr,ss=12.5r=sqrt(s/PI)Printf(“%f”,r)例2:输入3个数,输出最小的数。分析问题:定义4变量x、y、z、min,从键盘依次输入3个数给x、y、z赋值,min存放最小数。用自然语言描述该算法:(1)输入x,y,z。(2)若xy,则x→min,否则y→min。(3)若zmin,则z→min。(4)输出min,min即为最小数。程序:#includestdio.hvoidmain(){intx,y,z,min;scanf(“%d%d%d”,&x,&y,&z);if(xy)min=x;elsemin=y;if(zmin)min=z;printf(“min=%d”,min);}鸡兔同笼—枚举算法例3:今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?”分析如下:问题数学化。设:有x只鸡,y只兔,列出二元一次方程组:x+y=35(1)2*x+4*y=94(2)具体程序#includestdio.hintx,y;voidmain(){for(x=1;x=35;x++)for(y=1;y=35;y++){if(x+y==35)if(2*x+4*y==94)printf(“鸡:%d兔:%d\n”,x,y);}}for(y=1;y=35-x;y++)减少循环次数?C语言是国际上广泛流行的计算机高级语言,既可用来写系统软件,也可用来写应用软件。它既具有一般高级语言特性,又具有低级语言特性,集高级语言和低级语言优点于一身。1.3C语言概述其特点:(1)语言简洁、紧凑,自由。(2)运算符丰富,共有34种运算符。语言程序设计C(3)数据结构丰富。有整型、实型、字符型、数组类型、指针类型、结构体类型等(4)是模块化的程序设计语言,各模块功能独立。(5)C语言具有很好的通用性,既可以用于编写应用软件,也适合编写系统软件。C语言与C++?语言程序设计C一、C语言的基本符号voidmain(){printf(“这是一个示例\n”);}程序示例C语言的基本符号包括三类符号:①英文字母:A~Z,a~z②数字符号:0~9③特殊字符:!#%&*()=+-/\‘“.,;[]{}_~语言程序设计C二、关键字1概念:关键字又称保留字,它是C语言系统已定义了的专用名字,共有32个。它们主要是一编制C语言源程序会用到的类型名、命令名等。2类型名:intfloatcharlongdoubleshortunionstructunsignedsigned结构控制:ifelseforwhiledogotoswitchcountinuebreak语言程序设计C三、标识符语言程序设计C1标识符程序员定义的名字:函数名,变量名等。2定义规则①只能由字母(A--Z,a--z)、数字(0--9)或下划线(_)组成。②必须以字母或下划线开头。③不能使用保留字。语言程序设计C标识符示例:sumarray_1_num1SUM1numnum-1边_aπ-3intSUM与sum是两个不同的标识符。C语言区分大小写字母。注意正确:错误:语言程序设计C四、C语言程序的结构示例1仅由main()函数构成的C语言程序。voidmain(){printf(“ThisisaCprogram.\n”);}1总体结构一个完整的C语言程序由若干个函数组成。必须有且只能有一个主函数main()函数。没有、有一个或多个若干个其它函数。语言程序设计C示例2由main()函数和1个其它函数max()构成的C语言程序。intmax(intx,inty){return(xy?x:y);}voidmain(){intnum1,num2;scanf(“%d”,&num1);scanf(“%d”,&num2);printf(“max=%d\n”,max(num1,num2));}函数主函数语言程序设计C函数是C语言程序的基本单位main()函数的作用,相当于网站的主页;其它函数的作用,相当于超链接的网页。被(超链接)调用的函数可以是系统提供的库函数,也可以是用户自己设计的自定义函数。C语言程序总是从main()函数开始执行,不考虑其在程序中的位置。当主函数执行完毕时,程序也就执行完毕。习惯上,将主函数main()放在最前头语言程序设计C2函数的一般结构函数首部函数体部分任何函数都是由:函数首部函数体其一般结构如下:函数类型函数名(函数参数表){说明语句部分;执行语句部分;}语言程序设计C函数首部函数类型函数名(函数参数表)intmax(intx,inty){return(xy?x:y);}函数类型函数名参数表主函数名为:main函数可以没有参数,但括号不能省略。voidmain()注意语言程序设计C函数体voidmain(){intn1,n2;scanf(“%d”,&n1);scanf(“%d”,&n2);printf(“sum=%d\n”,n1+n2);}可执行语句函数体说明语句在函数首部(说明部分)的下面、大括号内的部分。由说明语句和可执行语句两部分构成:语言程序设计C五、C语言程序的书写格式1.所有语句都必须以分号“;”结束,函数的最后一个语句也不例外。2.程序行的书写格式自由,既允许1行内写几条语句,也允许1条语句分写在几行上。3.C语言本身没有输入输出语句。输入和输出的操作是由库函数scanf和printf等函数来完成的。C对输入输出实行“函数化”。4.允许使用注释。C语言的注释格式为:/*……*/语言程序设计C§例:求两数之和#includestdio.hvoidmain()/*求两数之和*/{inta,b,sum;/*这是声明部分,定义变量a,b,sum为整型*/a=123;b=456;/*以下3行为C语句*/sum=a+b;printf(sumis%d/n,sum);}输出:sumis579使用标准函数库中的函数声明空类型:不产生函数值复习§算法:解决一个问题而采取的方法和步骤。§表示算法的方法:自然,流程图,N-S,伪代§三个基本结构及3个共同特点§结构化程序设计方法及基本思想:§计算机语言种类:机器,汇编,高级(算面)§计算机语言执行过程§关键字(保留字),标示符3点要求§C语言程序的结构:main,其他函数§函数结构:首,函数体自顶向下逐步细化模块化设计结构化编码1数据类型C语言的数据类型是指数据的存在形式及数据之间的联系。2C语言的数据类型第二章数据表示及数据运算数据类型总表C数据类型基本类型构造类型指针类型空类型void字符类型char整型实型单精度型float双精度型double数组类型结构体struct短整型short长整型long基本整型int数据类型决定:1.数据占内存字节数2.数据取值范围3.其上可进行的操作语言程序设计第二章数据描述C在程序中所有数据都必须规定其数据类型基本数据类型类型符号关键字数的表示范围所占位数整型字符型实型有无(signed)int16-32768~32767(signed)short16-32768~32767(signed)long32-2147483648~214748364716unsignedi
本文标题:c语言实用教程(精品课件)
链接地址:https://www.777doc.com/doc-5419453 .html