第10章C语言程序设计初步课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第10章C语言程序设计初步课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 10 语言程序设计 初步 课件
- 资源描述:
-
1、10.1引论 u程序设计语言的发展经历了三个阶段:程序设计语言的发展经历了三个阶段:机器语言是用二进制表示的,计算机能直接识别和执行的语言 如:10000000(加)10010000(减),机器语言执行速度最快。由于用二进制表示,因而程序可读性差,非专业人员难于掌握 二进制指令通过符号化 如 ADD A,B汇编程序 高级语言表达方式接近被描述的问题,接近于高级语言表达方式接近被描述的问题,接近于自然语言和数学表达式,易于人们接受和掌自然语言和数学表达式,易于人们接受和掌握握 函数体函数体语句结束标志语句结束标志 main是主函数的函数名,表示这是一是主函数的函数名,表示这是一个主函数。每一个个
2、主函数。每一个C源程序都必须有,源程序都必须有,并且只能有一个主函数并且只能有一个主函数(main函数函数),这,这是整个是整个C程序运行的入口点程序运行的入口点 printf是是C语言中的输出函数,它的功能是语言中的输出函数,它的功能是把要输出的内容送到显示器去显示。双引把要输出的内容送到显示器去显示。双引号内字符串原样输出,号内字符串原样输出,“n”是回车换行是回车换行符。符。C C语言规定:语句以分号结束语言规定:语句以分号结束 。数据类型名数据类型名定义的变量名,以定义的变量名,以“,”分分隔隔两个赋值语句,使两个赋值语句,使a a和和b b的值分别为的值分别为1212和和3434 调
3、用内部函数,输出计算的和数调用内部函数,输出计算的和数求和的值给求和的值给sum 46。自定义函数声明自定义函数声明自定义函数调用自定义函数调用自定义函数自定义函数max带两个形参带两个形参返回返回a、b中最大值中最大值返回值为整型数返回值为整型数0调用内部函数,接受键盘输入数据调用内部函数,接受键盘输入数据 开 始编 辑编 译有错?链 接执 行结果正确?结 束源程序file.c目标程序file.obj库函数和其它目标程序可执行程序file.exe不正确正确有无v人们使用计算机,就是要利用人们使用计算机,就是要利用计算机处理各种不同的问题,计算机处理各种不同的问题,而要做到这一点,人们就必须而
4、要做到这一点,人们就必须事先对各类问题进行分析,确事先对各类问题进行分析,确定解决问题的具体方法和步骤,定解决问题的具体方法和步骤,再编制好一组让计算机执行的再编制好一组让计算机执行的指令即程序,让计算机按人们指令即程序,让计算机按人们指定的步骤有效地工作。这些指定的步骤有效地工作。这些具体的方法和步骤,其实就是具体的方法和步骤,其实就是解决一个问题的算法。根据算解决一个问题的算法。根据算法,依据某种规则编写计算机法,依据某种规则编写计算机执行的命令序列,就是编制程执行的命令序列,就是编制程序,而书写时所应遵守的规则,序,而书写时所应遵守的规则,即为某种语言的语法即为某种语言的语法.10.2
5、算法基础算法基础 10.2.1 算法(算法(Algorithm)的概念)的概念【例【例10.2.1】输入输入3个数,求其最大值。个数,求其最大值。v问题分析:设问题分析:设num1,num2,num3存放存放3个数,个数,max存放其最大值。为求最大存放其最大值。为求最大值,就必须对值,就必须对3个数进行比较,可按如个数进行比较,可按如下步骤去做:下步骤去做:输入输入3个数个数num1,num2,num3。先把第先把第1个数个数num1的值赋给的值赋给max。将第将第2个数个数num2与与max比较,如果比较,如果num2max,则把第,则把第2个数个数num2的值的值赋给赋给max(否则不做
6、任何工作)。(否则不做任何工作)。将第将第3个数个数num3与与max比较,如果比较,如果num3max,则把第,则把第3个数个数num3的值的值赋给赋给max(否则不做任何工作)。(否则不做任何工作)。输出输出max的值,即最大值。的值,即最大值。10.2.2 算法的基本特征算法的基本特征 一个算法应具有以下一个算法应具有以下5个基本特征:个基本特征:v有穷性有穷性v确定性确定性v有效性有效性 v有零个或多个输入有零个或多个输入 v有一个或多个输出有一个或多个输出 算法必须总是在执行有限个操作步骤和可以算法必须总是在执行有限个操作步骤和可以接受的时间内完成其执行过程。也就是说,对于接受的时间
7、内完成其执行过程。也就是说,对于一个算法,要求其在时间和空间上均是有穷的。一个算法,要求其在时间和空间上均是有穷的。例如:一个采集气象数据并加以计算进行天气预例如:一个采集气象数据并加以计算进行天气预报的应用程序,如果不能及时得到结果,超出了报的应用程序,如果不能及时得到结果,超出了可以接受的时间,就起不到天气预报的作用。可以接受的时间,就起不到天气预报的作用。算法中的每一步都必须有明确的含义,不允许算法中的每一步都必须有明确的含义,不允许存在二义性。例如:存在二义性。例如:“将成绩优秀的同学名单打将成绩优秀的同学名单打印输出印输出”,在这一描述中,在这一描述中“成绩优秀成绩优秀”就很不明就很
8、不明确,是每门功课均为确,是每门功课均为95分以上?还是指总成绩在分以上?还是指总成绩在多少分以上?多少分以上?算法中描述的每一步操作都应能有效地执行,算法中描述的每一步操作都应能有效地执行,并最终得到确定的结果。例如:当并最终得到确定的结果。例如:当Y=0时,时,X/Y是是不能有效执行的。不能有效执行的。10.2.3 算法的表示算法的表示v 用自然语言表示用自然语言表示v 用流程图表示用流程图表示 v 用伪代码表示用伪代码表示 v 计算机语言表示算法计算机语言表示算法 自然语言可以是中文、英文、数学表达式等。用自然语言表示自然语言可以是中文、英文、数学表达式等。用自然语言表示通俗易懂,缺点是
9、可能文字过长,不太严格,表达分支和循环通俗易懂,缺点是可能文字过长,不太严格,表达分支和循环的结构不很方便。的结构不很方便。【例【例10.2.2】求】求1+2+m的值的值N,当当N10000时结束。时结束。算法可表示如下:算法可表示如下:n=0m=0m加加1N加加m判判N是否大于是否大于10000,如果满足关系结束;不满足关系,如果满足关系结束;不满足关系继续执行。继续执行。伪代码是用介于自然语言和计算机语言之间的文字和符号伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法的,它不用图形符号,因此,书写方便,格式紧凑,来描述算法的,它不用图形符号,因此,书写方便,格式紧凑,也容易懂,
10、同时也便于向计算机语言算法的转换。也容易懂,同时也便于向计算机语言算法的转换。【例【例10.2.4】用伪代码表示求】用伪代码表示求10!的算法。!的算法。begin(开始开始)置置t的初值为的初值为1(1t)置置i的初值为的初值为2(2i)当(当(while)i=10,执行(,执行(do)begin 使使t=t i 使使i=i+1 end 打印打印t的值(的值(print t)end(结束)。(结束)。计算机是无法识别流程图和伪代码形式,只有用计算机语言计算机是无法识别流程图和伪代码形式,只有用计算机语言编写的程序才能被计算机执行。因此在用流程图和伪代码形式编写的程序才能被计算机执行。因此在用
11、流程图和伪代码形式描述出算法后,还要将它转换成计算机语言程序。描述出算法后,还要将它转换成计算机语言程序。【例【例10.2.5】用】用C语言程序来描述求语言程序来描述求10!。!。#include void main(void)long i,t;t=1L;i=2L;while(i=10L)t=t*i;i=i+1;printf(%ldn,t);。处理框处理框判断框判断框终点框终点框过程框过程框I/O框框流程线流程线连接点连接点准备框准备框下图列出了标准的流程图符号下图列出了标准的流程图符号:10.3 基本数据类型基本数据类型10.3.1 数据概述数据概述u常量与符号常量常量与符号常量 .常量常量
12、v定义:定义:程序运行时其值不能改变的量(即常数)程序运行时其值不能改变的量(即常数)v常量的分类常量的分类:直接常量直接常量(值常量值常量)整型常量整型常量 如,如,15、0、7浮点型常量浮点型常量 如,如,5.0、12.36字符型常量字符型常量 如,如,A、a 指针常量指针常量 如,如,NULL字符串常量字符串常量 如,如,”ABC”符号常量符号常量 用标识符来代表常量。用标识符来代表常量。其定义格式为:其定义格式为:#define NUM 20#define PI 3.1415926 运行结果:运行结果:area=314.000000 u 变量变量v定义:定义:程序运行时其值可以被改变的
13、量程序运行时其值可以被改变的量 v变量的两要素变量的两要素 :变量名变量名 、变量值、变量值v变量的使用:变量的使用:先说明,后使用先说明,后使用 例:例:int x,y,z;float radius,length,char ch;例: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;10.3.2 整型数据整型数据 类别类别类型说明符类型说明符 内存中所占字节内存中所占字节 基本型基本型int 2个字节个字节短整型短整型short int或或short 2个字节个字节长整型长整型 long int或或long
14、 4个字节个字节无无符符号号型型无符号基本型无符号基本型 unsigned int或或unsigned 无符号短整型无符号短整型 unsigned short 无符号长整型无符号长整型 unsigned long 整型变量的分类整型变量的分类v变量的说明,也即变量的定义,一般形式为:变量的说明,也即变量的定义,一般形式为:类型说明符类型说明符 变量名标识符变量名标识符1,变量名标识符,变量名标识符2,.;例如:例如:int a,b,c;/*a,b,c为整型变量为整型变量*/long m,n;/*m,n为长整型变量为长整型变量*/unsigned p,q;/*p,q为无符号整型变量为无符号整型变
15、量*/v在书写变量说明时,应注意以下几点:在书写变量说明时,应注意以下几点:v允许在一个类型说明符后,说明多个相同类型的变量。各变量名之允许在一个类型说明符后,说明多个相同类型的变量。各变量名之间用逗号间隔。类型说明符与变量名之间至少用一个空格间隔。间用逗号间隔。类型说明符与变量名之间至少用一个空格间隔。v最后一个变量名之后必须以最后一个变量名之后必须以“;”号结尾。号结尾。v变量说明必须放在变量使用之前。变量说明必须放在变量使用之前。v也可在说明变量为整型的同时,给出变量的初值。其格式为:也可在说明变量为整型的同时,给出变量的初值。其格式为:v类型说明符类型说明符 变量名标识符变量名标识符1
16、=初值初值1,变量名标识符,变量名标识符2=初值初值2,.;整型变量的说明整型变量的说明【例【例10.3.2】main()int a=3,b=5;printf(“a+b=%dn”,a+b);程序的运行结果为:程序的运行结果为:a+b=8 运行结果为:运行结果为:a=0.123457 如 a A?n 101如 A65,a97,048,n10-*/%/%-+-+-(2)(3)(4)(2)(3)(4)说明:说明:“-”“-”可为可为单目单目运算符时运算符时,右结合性右结合性 两整数相除,结果为整数两整数相除,结果为整数%要求两侧均为整型数据要求两侧均为整型数据 10.3.5算术运算符和算术表达式算术
17、运算符和算术表达式 自增、自减运算符自增、自减运算符+-+-作用:使变量值加作用:使变量值加1 1或减或减1 1 种类:种类:前置前置 +i,-i +i,-i (先执行先执行i=ii=i+1+1或或i=i-1i=i-1,再使用再使用i i值)值)后置后置 i+,i-i+,i-(先使用先使用i i值值,再执行再执行i=ii=i+1+1或或i=i-1i=i-1)/k=4,j=4/k=4,j=4/k=3,j=4/k=3,j=4/4/4/3/3/c=20,a=4/c=20,a=4/c=15,a=4/c=15,a=4 表达式和算术表达式表达式和算术表达式 10.4 顺序结构程序设计顺序结构程序设计10.
18、4.1 C语言语句语言语句1.控制语句控制语句:完成一定功能的语句称为控制语句。完成一定功能的语句称为控制语句。C语言有语言有9种种控制语句,参见表控制语句,参见表10.4-1。2.表达式语句表达式语句 由一个表达式构成一个语句,称为表达式语句。一般形由一个表达式构成一个语句,称为表达式语句。一般形式为:式为:表达式;表达式;表达式语句可分为表达式语句可分为:(1)赋值语句赋值语句 赋值语句由赋值表达式后跟一个分号组成。例如:赋值语句由赋值表达式后跟一个分号组成。例如:a=3;(2)函数调用语句函数调用语句 函数调用语句由函数调用表达式后跟一个分号组成。函数调用语句由函数调用表达式后跟一个分号
19、组成。例如:例如:printf(“This is a C statement.”);(3)空语句空语句 空语句是只有一个分号而没有表达式的语句空语句是只有一个分号而没有表达式的语句。3.特殊语句特殊语句C语言中还包括一些其他语句,如语言中还包括一些其他语句,如复合语句复合语句等。等。把多个语句用花括号把多个语句用花括号括起来组成的语句称复合语句。在程序括起来组成的语句称复合语句。在程序中可以把复合语句看成是一条语句,而不是多条语句。中可以把复合语句看成是一条语句,而不是多条语句。例如:例如:x=y+z;a=b+c;printf(“%d%d”,x,a);注注:复合语句内的各条语句都必须以分号:复
20、合语句内的各条语句都必须以分号“;”结尾,在括号结尾,在括号“”外不能加分号。外不能加分号。10.4.2 printf函数函数 2.转义字符转义字符 就以一个就以一个“”开头的字符序列,称为转义字符开头的字符序列,称为转义字符 字符形式字符形式含含 义义ASCIIASCII代码代码nn换行,将当前位置移到下一行开头换行,将当前位置移到下一行开头1010tt横向跳格(即跳到下一个输出区,一个横向跳格(即跳到下一个输出区,一个输出区占输出区占8 8列)列)9 9bb退格,将当前位置移到前一列退格,将当前位置移到前一列8 8rrEnterEnter,将当前位置移到本行开头,将当前位置移到本行开头13
展开阅读全文