c语言实用教程ppt课件.ppt
《c语言实用教程ppt课件.ppt》由会员分享,可在线阅读,更多相关《c语言实用教程ppt课件.ppt(105页珍藏版)》请在三一办公上搜索。
1、程序设计基础(C语言),第一章 程序设计基础,程序设计概述算法概述及其表示程序开发过程C语言概述,1.1 程序设计概念,1.什么是程序设计,程序,制图,制表,设计,聊天,游戏,视频,软件,计算机,程序设计:用某种程序语言编写程序的过程,2.计算机语言的发展 计算机语言:人与计算机交流的工具。种类:机器语言 汇编语言 算法语言 面向对象语言 C语言是算法语言的一种。C+是面向对象语言的一种,高级语言,机器语言汇编语言高级语言 Fortran、Basic、C、C+等程序设计语言,10110000 00001111 00101100 00001010,MOVAX,15ADDAX,10,a=15+10
2、,计算:A=15+10,机器语言 1010 1001 0001 0110 0000 0001 0011 1100 0001 1000 0000 0001 0000 0000 0000 00000000 0000 0000 0000高级语言(C语言)if(XY)Y=X+15;else Y=X-15;,3.结构化程序设计思想:三种基本结构 顺序结构:操作顺序执行。选择结构:根据给定的条件是否成立 而选择执行某种操作。循环结构:反复执行某些操作。,三种基本结构,顺序结构选择结构循环结构,#include#include void main()float a,b,c,d,x1,x2;scanf(“%f
3、,%f,%f”,顺序结构示例:,#include#include void main()float a,b,c,d,x1,x2;scanf(“%f,%f,%f”,选择结构示例:,循环结构程序示例:void main()int i,sum=0;for(i=1;i=100;i+)sum=sum+i;printf(“sum=%d”,sum);,反复执行,void main()int a,b=0,i;scanf(“%d”,a0时,a0时,自顶向下逐步细化模块化设计结构化编码,程序设计的思想,1.2 算法的概念,从事各种工作和活动,都必须事先想好进行的步骤,然后按部就班地进行。算法:解决一个问题而采取的
4、方法和步骤。对同一个问题,可以有不同的解题方法和步骤。方法有优劣之分。,算法也有优劣。,常用的有:自然语言(人的日常使用语言)伪代码 传统流程图 结构化流程图(N-S)等,怎样表示一个算法,算法的特点:1、有穷性2、确定性3、有零个或多个输入4、有一个或多个输出5、有效性,用最原始的方法进行。步骤1:12=2步骤2:23=6步骤3:64=24步骤4:245=120。这就是最后的结果。这样的算法虽然是正确的,但太繁琐。,例 求12345。,传统流程图,例 求12345。,弊端流程线,图2.8,在传统流程图中,完全去掉了带箭头的流程线。全部算法写在一个矩形框内,在该框内还可以包含其他的从属于它的框
5、,或者说,由一些基本的框组成一个大的框。这种流程图就称N-S结构化流程图。这种流程图适于结构化程序设计。,N-S结构化流程图表示算法,(2)选择结构,(1)顺序结构,N-S流程图用以下的流程图符号:,(3)循环结构:,直到型循环结构,当型循环结构,直到p1条件不成立为止。,直到给定的p1条件成立为止,例 求12345。,程序的开发过程:,目标程序,可执行程序,计算结果,编译,链接,运行,源程序,编辑,程序设计一般包括以下几个步骤:,(1)分析问题并建立相应的数学模型。(2)确定数据结构和算法。(3)编程。(4)调试。(5)整理并写出文档资料。,例1:计算面积为12.5 cm2的园的半径。分析:
6、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流程图?,例2:输入3个数,输出最小的数。,分析问题:定义4变量x、y、z、min,从键盘依次输入3个数给x、y、z赋值,min存放最小数。用自然语言描述该算法:(1)输入x,y,z。(2)若xy,则xmin,否则ymin。(3)若zmin,则zmin。(4)输出min,min即为最小数。,程序:#include void main()int x,y,z,min;sc
7、anf(“%d%d%d”,鸡兔同笼 枚举算法,例3:今有鸡兔同笼,上有三十五头,下有九十四 足,问鸡兔各几何?”,分析如下:问题数学化。设:有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语言是国际上广泛流行的计算机高级语言,既可用来写系统软件,也可用来写应用软件。它既具有一般
8、高级语言特性,又具有低级语言特性,集高级语言和低级语言优点于一身。,1.3 C语言概述,其特点:(1)语言简洁、紧凑,自由。(2)运算符丰富,共有34种运算符。,(3)数据结构丰富。有整型、实型、字符型、数组类型、指针类型、结构体类型等,(4)是模块化的程序设计语言,各模块功能独立。,(5)C语言具有很好的通用性,既可以用于编写应用软件,也适合编写系统软件。,C语言与C+?,一、C语言的基本符号,void main()printf(“这是一个示例n”);,程序示例,C语言的基本符号包括三类符号:英文字母:AZ,az 数字符号:09 特殊字符:!#%_,二、关键字概念:关键字又称保留字,它是C语
9、言系统已定义了的专用名字,共有32个。它们主要是一编制C语言源程序会用到的类型名、命令名等。,类型名:int float char long double short union struct unsigned signed 结构控制:if else for while do goto switch countinue break,三、标识符,1 标识符 程序员定义的名字:函数名,变量名等。,2 定义规则 只能由字母(A-Z,a-z)、数字(0-9)或下划线(_)组成。必须以字母或下划线开头。不能使用保留字。,标识符示例:,sum array_1 _num1 SUM,1num num-1 边_
10、a-3 int,SUM与sum是两个不同的标识符。C语言区分大小写字母。,注意,正确:,错误:,四、C语言程序的结构,示例1 仅由main()函数构成的C语言程序。void main()printf(“This is a C program.n”);,1 总体结构 一个完整的C语言程序由若干个函数组成。必须有且只能有一个主函数main()函数。没有、有一个或多个若干个其它函数。,示例2 由main()函数和1个其它函数max()构成的语言程序。int max(int x,int y)return(xy?x:y);void main()int num1,num2;scanf(“%d”,函数,主函
11、数,函数是C语言程序的基本单位 main()函数的作用,相当于网站的主页;其它函数的作用,相当于超链接的网页。被(超链接)调用的函数可以是系统提供的库函数,也可以是用户自己设计的自定义函数。,C语言程序总是从main()函数开始执行,不考虑其在程序中的位置。当主函数执行完毕时,程序也就执行完毕。习惯上,将主函数main()放在最前头,2 函数的一般结构,任何函数都是由:函数首部 函数体 其一般结构如下:函数类型 函数名(函数参数表)说明语句部分;执行语句部分;,函数首部 函数类型 函数名(函数参数表),int max(int x,int y)return(xy?x:y);,函数类型,函数名,参
12、数表,主函数名为:main函数可以没有参数,但括号不能省略。void main(),注意,函数体,void main()int n1,n2;scanf(“%d”,在函数首部(说明部分)的下面、大括号内的部分。由说明语句和可执行语句两部分构成:,五、C语言程序的书写格式,1.所有语句都必须以分号“;”结束,函数的最后一个语句也不例外。2.程序行的书写格式自由,既允许1行内写几条语句,也允许1条语句分写在几行上。3.C语言本身没有输入输出语句。输入和输出的操作是由库函数scanf和printf等函数来完成的。C对输入输出实行“函数化”。4.允许使用注释。C语言的注释格式为:/*/,例:求两数之和#
13、includevoid main()/*求两数之和*/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个共同特点结构化程序设计方法及基本思想:计算机语言种类:机器,汇编,高级(算面)计算机语言执行过程关键字(保留字),标示符3点要求C语言程序的结构:main,其他函数函数结构:首,
14、函数体,自顶向下逐步细化模块化设计结构化编码,1 数据类型 C语言的数据类型是指数据的存在形式 及数据之间的联系。2 C语言的数据类型,数据类型总表,数据类型决定:1.数据占内存字节数2.数据取值范围3.其上可进行的操作,在程序中所有数据都必须规定其数据类型,基本数据类型,整型,字符型,实型,有,无,说明:数据类型所占字节数随机器硬件不同而不同,上表以IBM PC机为例:,一、变量的概念 变量是指在程序的执行过程中其值可以发生变化的量。,#define PI 3.14void main()float r,s;s=12.5;r=sqrt(s/PI);printf(“半径为:%f”,r);,变量,
15、二、变量的四要素 变量名 类型 值 存储单元,1 变量名,变量名:是变量的标识符。注意:遵循标识符的命名规则。一般使用小写字母,不超过8个字符。如:sum,num_1 2 变量的类型 类型不同存储不同 3 变量的值。4 变量的存储单元,整型变量存放形式。int i;/*定义为整型变量*/i=10;/*给i赋以整数10*/,内存中实际存放的情况。,实际上,数值是以补码表示的,-32767?,三、变量的定义在C语言中,要求对所有用到的变量作强制定义,也就是“先定义,后使用”。,例:char a1,a2=a;(可以赋初值,但int a=b=c=3;错)int a=4,b;(指定变量a、b为整型)fl
16、oat x,y,z=10.7;unsigned int c,d;(指定变量c、d为无符号短整型)long e,f;(指定变量e、f为长整型),1 定义格式:类型说明符 变量名列表;,四、说明 整型数据溢出:在turbo c中一个int型变量的 范围:-32768-32767,32767+1,会出现什么情况?例:整型数据的溢出。void main()int a,b;a=32767;b=a+1;printf(%d,%d,a,b);,结果:32767,-32768 解决办法?,浮点型变量,1.浮点型数据在内存中的存放形式:4个字节(32位)。,小数位多:精度高指数位多:数值范围大,2.浮点型变量的分
17、类 4B单精度(float型):接收7位有效数字 8B双精度(double型):15位有效数字 16B长双精度型(long double):一般18位,例:float x,y;(指定x、y为单精度浮点数)double z;(指定z为双精度浮点数),3.浮点型数据的舍入误差 由于有限的存储单元,提供有限有效数字,有效位以外的数字将被舍去。由此可能会产生一些误差。,例如,a 加 20的结果显然应该比a大。请分析下面的程序:例3.4 浮点型数据的舍入误差。,void main()float a,b;a=123456.789e5;b=a+20;printf(%f,%f n,a,b);b应为123456
18、78920,结果:a和b的值都是 12345678848.000000,可以看到前8位是准确的,把20加在后几位上,是无意义的。应当避免将一个很大的数和一个很小的数直接相加或相减,用程序计算1.0/3*3的结果并不等于1。,字符变量 一个字符型变量只能放一个字符。字符变量的定义形式如下:charc1,c2;c1=a;c2=b;一个字符变量在内存中占一个字节。,存储单元中放什么?。,字符型数据和整型数据之间可以转换,但有个条件:0-255(1个字节)。一个字符数据:字符形式输出 整数形式输出 可以对字符数据进行算术运算 c=a+11;d=c+d;,字符数据与整型数据可以互相赋值。如:int i,
19、s;char c;i=a;c=97;s=i+c;,变量初始化:定义时赋初值,例:int a=2,b,c=4;float data=3.67;char ch=A;int x=1,y=1,z=1;int x=y=z=1;,变量的使用:先定义,后使用,例1 int student;stadent=19;/Undefined symbol statent in function main,例2 float a,b,c;c=a%b;/Illegal use of floating point in function main,变量定义位置:一般放在函数体开头,Ch2_005.c,例:向字符变量赋以整数。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 实用教程 ppt 课件

链接地址:https://www.31ppt.com/p-2052360.html