教学课件:《C语言程序设计》1.ppt

上传人(卖家):三亚风情 文档编号:3546246 上传时间:2022-09-15 格式:PPT 页数:347 大小:7.98MB
下载 相关 举报
教学课件:《C语言程序设计》1.ppt_第1页
第1页 / 共347页
教学课件:《C语言程序设计》1.ppt_第2页
第2页 / 共347页
教学课件:《C语言程序设计》1.ppt_第3页
第3页 / 共347页
教学课件:《C语言程序设计》1.ppt_第4页
第4页 / 共347页
教学课件:《C语言程序设计》1.ppt_第5页
第5页 / 共347页
点击查看更多>>
资源描述

1、 本项目通过利用函数设计C语言,对C语言的一些基础知识以及其字符集和词汇进行介绍,使读者在学习C语言之前对其有个全面的认识。任务任务利用函数设计利用函数设计C C语言语言认认识识C C语语言言准备知识准备知识1.1.程序与程序设计语言程序与程序设计语言2 2.C.C源程序的结构特点源程序的结构特点3.C3.C语言的字符集语言的字符集4.4.C C语言词汇语言词汇 1.1.程程序序介介绍绍程序(program)是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。程序是由序列组成的,用于告诉计算机如何完成一个具体的任务。可以将程序看做为实现预期目的而进行操作的一系列语句和指令,一般分

2、为系统程序和应用程序两大类,计算机中的程序在港澳台地区称为程式。程序就是为使电子计算机执行一个或多个操作,或执行某一任务,按序设计的计算机指令的集合。由程序计数器(Program Counter)控制。程序(program)是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合,是用汇编语言、高级语言等开发语言编制出来的可以运行的文件,在计算机中称可执行文件(后缀名一般为.exe)。注意啦!注意啦!现在我们所玩的游现在我们所玩的游戏就是应用程序戏就是应用程序(现在后缀名多为现在后缀名多为.swfswf的的FlashFlash影片类影片类的游戏也比较流的游戏也比较流行行)。1.1.程程

3、序序设设计计语语言言介介绍绍 程序设计语言,通常简称为编程语言,是一组用来定义计算机程序的语法规则。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。在过去的几十年间,大量的程序设计语言被发明、被取代、被修改或组合在一起。尽管人们多次试图创造一种通用的程序设计语言,却没有一次尝试是成功的。之所以有那么多种不同的编程语言存在的原因是,编写程序的初衷各不相同;新手与老手之间技术的差距非常大,而有许多语言对新手来说太难学;其次,不同程序之间的运行成本(Runtime Cost)各不相同。2 2.C

4、C语语言言简简介介C语言是在70年代初问世的。一九七八年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Ritchit合著了著名的“THE C PROGRAMMING LANGUAGE”一书。通常简称为K&R,也有人称之为K&R标准。但是,在K&R中并没有定义一个完整的标准C语言,后来由美国国家标准学会在此基础上制定了一个C语言标准,于一九八三年发表。通常称之为ANSI C。早期的C语言主要是用于UNIX系统。由于C语言的强大功能和各方面的优点逐渐为人们认识,到了八十年代,C开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛

5、的使用。成为当代最优秀的程序设计语言之一。知识链接知识链接 目前最流行的目前最流行的C语言有以语言有以下几种:下几种:lMicrosoft C 或称或称 MS ClBorland Turbo C 或称或称 Turbo ClAT&T C这些这些C语言版本不仅实现语言版本不仅实现了了ANSIC标准,而且在此标准,而且在此基础上各自作了一些扩充,基础上各自作了一些扩充,使之更加方便、完美。使之更加方便、完美。2 2.C C语语言言的的结结构构特特点点C源程序的结构特点:l一个C语言源程序可以由一个或多个源文件组成。l每个源文件可由一个或多个函数组成。l一个源程序不论由多少个文件组成,都有一个且只能有

6、一个main函数,即主函数。l源程序中可以有预处理命令(include 命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面。l每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“”之后不能加分号。3 3.C C语语言言的的字字符符集集(1)字母 小写字母az共26个,大写字母AZ共26个。(2)数字 09共10。(3)空白符 空格符、制表符、换行符等统称为空白符。空白符只在字符常量和字符串常量中起作用。在其它地方出现时,只起间隔作用,编译程序对它们忽略。因此在程序中使用空白符与否,对程序的编译不发生影响,但在程序中适当的地方使用空白符将增加程序的清晰性和可读性。

7、(4)标点和特殊符号 标点和特殊字符包括常用的标点和一些特殊字符,和其它文档中的相同。4 4.C C语语言言词词汇汇(1)标识符在程序中使用的变量名、函数名、标号等统称为标识符。除库函数的函数名由系统定义外,其余都由用户自定义。C 规定,标识符只能是字母(AZ,az)、数字(09)、下划线()组成的字符串,并且其第一个字符必须是字母或下划线。(2)关键字关键字是由C语言规定的具有特定意义的字符串,通常也称为保留字。用户定义的标识符不应与关键字相同。(3)分隔符在C语言中采用的分隔符有逗号和空格两种。逗号主要用在类型说明和函数参数表中,分隔各个变量。空格多用于语句各单词之间,作间隔符。在关键字,

8、标识符之间必在关键字,标识符之间必须要有一个以上的空格符须要有一个以上的空格符作间隔,否则将会出现语作间隔,否则将会出现语法错误,例如把法错误,例如把int a;int a;写写成成 inta;C inta;C编译器会把编译器会把intainta当成一个标识符处理,其当成一个标识符处理,其结果必然出错。结果必然出错。4 4.C C语语言言词词汇汇(4)运算符C语言中含有相当丰富的运算符。运算符与变量,函数一起组成表达式,表示各种运算功能。运算符由一个或多个字符组成。(5)常量C语言中使用的常量可分为数字常量、字符常量、字符串常量、符号常量、转义字符等多种。(6)注释符C语言的注释符是以“/*”

9、开头并以“*/”结尾的串。在“/*”和“*/”之间的即为注释。程序编译时,不对注释作任何处理。注释可出现在程序中的任何位置。注释用来向用户提示或解释程序的意义。在调试程序中对暂不使用的语句也可用注释符括起来,使翻译跳过不作处理,待调试结束后再去掉注释符。设设计计C C语语言言程程序序任务实施任务实施小张是某网络公司的员工,该公司目前正在与一个程序公司合作完成一组编程语言。应客户要求,小张需要设计一组C语言程序。C C源代码的应用是编写源代码的应用是编写C C语言的基础。由语言的基础。由于在于在C C源程序中,必须要有一个主函数来进源程序中,必须要有一个主函数来进行内容的传输,因此,小张决定使用

10、函数知行内容的传输,因此,小张决定使用函数知识来完成此项任务。识来完成此项任务。设计设计C C语言程序代语言程序代码码任务任务实施实施 (1)从例子中了解C源程序的书写格式我们先看下面的例子。这几个程序由简到难,表现了C语言源程序在组成结构上的特点。虽然有关内容还未介绍,但可从这些例子中了解到组成一个C源程序的基本部分和书写格式。main()printf(您好!欢迎学习C语言n);main是主函数的函数名,表示这是一个主函数。知识链接知识链接 每一个每一个C源程序都必须有,源程序都必须有,且只能有一个主函数且只能有一个主函数(main函数函数)。函数调用语句,。函数调用语句,printf函数的

11、功能是把要输出函数的功能是把要输出的内容送到显示器去显示。的内容送到显示器去显示。(2)设计C语言程序printf函数是一个由系统定义的标准函数,可在程序中直接调用。例如:#include#includemain()double x,s;printf(input number:n);scanf(%lf,&x);s=sin(x);printf(sine of%lf is%lfn,x,s);重点难点重点难重点难点点C语言结构语言结构特点特点编写编写C语言程序语言程序重点重点难点难点 初步的认识,为后面C语言提供了多种语句来实现相应的程序结构,本项目介绍这些基本语句及其应用,使读者对C程序有一个各项

12、目的学习打下基础。任务一任务一利用利用forfor语句修改例题语句修改例题 任务二任务二利用函数语句输入输出函数利用函数语句输入输出函数C C语语言言语语句句介介绍绍准备知识准备知识1.1.C C程序的设计初步流程程序的设计初步流程2 2.语句简介语句简介 1.1.程程序序设设计计初初步步流流程程 从程序流程的角度来看,程序可以分为三种基本结构,即顺序结构、分支结构、循环结构。这三种基本结构可以组成所有的各种复杂程序。从目前的编程实践看,结构化程序设计的思路已经被绝大多数程序员所接受。人们普遍认为,必须采用结构化的程序设计方法。因为结构化程序具有结构清晰、便于阅读、便于修改和便于维护的优点。结

13、构化程序设计的基本思路是:把一个复杂的问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解的范围之内。知识链接知识链接 1966年,年,Bohra和和Jacopini证明:使用顺序、分支证明:使用顺序、分支(也也叫做叫做“条件选择条件选择”)和循环和循环这三种基本结构可以表示这三种基本结构可以表示任何一个算法的基本单元,任何一个算法的基本单元,这正是我们在以上只讲述这正是我们在以上只讲述这三种基本结构的原因。这三种基本结构的原因。注意啦!注意啦!采取以下的方法保采取以下的方法保证得到结构化的程证得到结构化的程序:序:自顶向下;自顶向下;逐步细化逐步细化(求精求精);模块化设计;模块

14、化设计;结构化编码。结构化编码。2 2.语语句句简简介介(1)表达式语句表达式语句由表达式加上分号“;”组成。其一般形式为:表达式;执行表达式语句就是计算表达式的值。(2)函数调用语句函数调用语句由函数名、实际参数加上分号“;”组成。其一般形式为:函数名(实际参数表);执行函数语句就是调用函数体并把实际参数赋予函数定义中的形式参数,然后执行被调函数体中的语句,求取函数值。表达式语句:例如:x=y+z;赋值语句y+z;加法运算语句,但计算结果不能保留,无实际意义i+;自增1语句,i值增1函数调用语句:例如printf(C Program);调用库函数,输出字符串小提示 2 2.语语句句简简介介(

15、3)控制语句控制语句用于控制程序的流程,以实现程序的各种结构方式。它们由特定的语句定义符组成。C语言有九种控制语句。(4)复合语句把多个语句用括号括起来组成的一个语句称复合语句。在程序中应把复合语句看成是单条语句,而不是多条语句。复合语句:例如:x=y+z;a=b+c;printf(%d%d,x,a);是一条复合语句。复合语句内的各条语句都必须以分号“;”结尾,在括号“”外不能加分号。小提示 2 2.语语句句简简介介(5)空语句只有分号“;”组成的语句称为空语句。空语句是什么也不执行的语句。在程序中空语句可用来作空循环体。例如 while(getchar()!=n);本语句的功能是,只要从键盘

16、输入的字符不是回车则重新输入。这里的循环体为空语句。(6)赋值语句赋值语句是由赋值表达式再加上分号构成的表达式语句。知识链接知识链接 赋值语句的一般形式为:赋值语句的一般形式为:变量变量=表达式表达式;赋值语句的赋值语句的功能和特点都与赋值表达功能和特点都与赋值表达式相同。式相同。它是程序中使用它是程序中使用最多的语句之一。最多的语句之一。2 2.语语句句简简介介(7)if语句用if语句可以构成分支结构。它根据给定的条件进行判断,以决定执行某个分支程序段。C语言的if语句有三种基本形式。(8)转移语句程序中的语句通常总是按顺序方向,或按语句功能所定义的方向执行的。如果需要改变程序的正常流向,可

17、以使用转移语句。2 2.语语句句简简介介(9)循环结构程序循环结构是程序中一种很重要的结构。其特点是,在给定条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体。C语言提供了多种循环语句,可以组成各种不同形式的循环结构。利利用用ForFor语语句句修修改改例例题题任务实施任务实施小王是某学校的计算机老师,目前正在为学生讲解C语言的相关知识,为了帮助学生巩固学习成果,小王打算将书本中的例题稍作修改来让学生解答。由于在由于在C C语言中,程序的执行部分是由语言中,程序的执行部分是由语句组成的,程序的功能也是由执行语句实语句组成的,程序的功能也是由执行

18、语句实现的,因此,小王决定使用程序语句下的现的,因此,小王决定使用程序语句下的forfor语句解决这一问题语句解决这一问题。利用利用forfor语句修改语句修改例题例题任务任务实施实施 正确运用C语言中的for语句。void main()int a=0,n;printf(n input n:);scanf(%d,&n);for(;n0;a+,n-)printf(%d,a*2);用for语句修改例题。从0开始,输出n个连续的偶数。int a=0,n;printf(n input n:);scanf(%d,&n);for(;n0;a+,n-)printf(%d,a*2);本例的for语句中,表达式

19、1已省去,循环变量的初值在for语句之前由scanf语句取得,表达式3是一个逗号表达式,由a+,n-两个表达式组成。每循环一次a自增1,n自减1。a的变化使输出的偶数递增,n的变化控制循次数。C C语语言言的的函函数数介介绍绍准备知识准备知识1.1.数据输出函数数据输出函数2 2.数据输入函数数据输入函数3.3.键盘输入函数键盘输入函数 1.1.数数据据输输出出函函数数这里介绍printf函数和putchar函数。printf函数printf函数称为格式输出函数,其关键字最末一个字母f即为“格式”(format)之意。其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。(1)printf

20、函数调用的一般形式printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用 printf 函数之前必须包含stdio.h文件。printfprintf函数调用的一般形函数调用的一般形式为:式为:printf(printf(“格式控格式控制字符串制字符串”,输出表列,输出表列)其其中格式控制字符串用于指中格式控制字符串用于指定输出格式。定输出格式。格式控制串格式控制串可由格式字符串和非格式可由格式字符串和非格式字符串两种组成。字符串两种组成。1.1.数数据据输输出出函函数数(2)格式字符串在Turbo C中格式字符串的一般形式为:标志输出最小宽度.

21、精度长度类型 其中方括号中的项为可选项。使用printf函数时还要注意一个问题,那就是输出表列中的求值顺序。不同的编译系统不一定相同,可以从左到右,也可从右到左。Turbo C是按从右到左进行的。2 2.数数据据输输入入函函数数C语言的数据输入也是由函数语句完成的。函数scanf和getchar 是从标准输入设备键盘上输入数据的。scanf函数 scanf函数称为格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。3 3.键键盘盘输输入入函函数数getchar函数getchar函数的功能是从键盘上输入一个字符。其一般形式为:getchar();通常把输入的字符赋予一个字符变量,

22、构成赋值语句,如:char c;c=getchar();#includevoid main()char c;printf(input a charactern);c=getchar();putchar(c);使用使用getchargetchar函数还应注意:函数还应注意:lgetchargetchar函数只能接受单函数只能接受单个字符,输入数字也按字个字符,输入数字也按字符处理。输入多于一个字符处理。输入多于一个字符时,只接收第一个字符。符时,只接收第一个字符。l使用本函数前必须包含使用本函数前必须包含文件文件“stdio.hstdio.h”。利利用用函函数数语语句句输输入入输输出出函函数数任

23、务实施任务实施程序员小李所在的某网络公司正在与某程序公司洽谈新项目,公司要求小李编写一组程序,在会议中将所研发数据输出,加深合作方对本公司的印象。由于在由于在C C语言中,所有的数据输入输出都语言中,所有的数据输入输出都是由库函数完成的,及函数语句,因此,小是由库函数完成的,及函数语句,因此,小李决定使用函数语句的相关知识来完成数据李决定使用函数语句的相关知识来完成数据的输出与显示。的输出与显示。利用函数语句输入输出利用函数语句输入输出函数函数任务任务实施实施 在使用数据输出函数时要注意,输出表列中给出了各个输出项,要求格式字符串和各输出项在数量和类型上应该一一对应。例如:void main(

24、)int a=88,b=89;printf(%d%dn,a,b);printf(%d,%dn,a,b);printf(%c,%cn,a,b);printf(a=%d,b=%d,a,b);a-8,bx6-y7-a8-bx+a-cy+b-d显示程序运行结果 of long x,y;int a,b,c,d;c=x+a;d=y+b;从程序中可以看到:x,y是长整型变量,a,b是基本整型变量。它们之间允许进行运算,运算结果为长整型。但c,d被定义为基本整型,因此最后结果为基本整型。利利用用逗逗号号运运算算符符编编写写程程序序准备知识准备知识1.1.运算符运算符和表达式简介和表达式简介2 2.算术运算符和

25、算术表达式算术运算符和算术表达式3.3.自增、自减运算符自增、自减运算符4.4.赋值运算符和赋值表达式赋值运算符和赋值表达式利利用用逗逗号号运运算算符符编编写写程程序序准备知识准备知识5.5.逗号运算符逗号运算符6.6.关系运算符和表达式关系运算符和表达式7.7.逻辑运算符和表达式逻辑运算符和表达式8.8.条件运算符和条件表达式条件运算符和条件表达式 1.1.运运算算符符和和表表达达式式简简介介C语言的运算符不仅具有不同的优先级,而且还有一个特点,就是它的结合性。在表达式中,各运算量参与运算的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合性的制约,以便确定是自左向右进行运算还是自右向

26、左进行运算。C语言的运算符可以分为以下几类:(1)算术运算符(2)关系运算符(3)逻辑运算符(4)位操作运算符(5)赋值运算符(6)条件运算符(7)逗号运算符(8)指针运算符(9)求字节数运算符(10)特殊运算符C C语言中,运算符的运算优语言中,运算符的运算优先级共分为先级共分为1515级。级。1 1级最高,级最高,1515级最低。在表达式中,级最低。在表达式中,优先级较高的先于优先级优先级较高的先于优先级较低的进行运算。较低的进行运算。2.2.算算术术运运算算符符和和算算术术表表达达式式(1)加法运算符“+”加法运算符为双目运算符,即应有两个量参与加法运算。如a+b,4+8等。具有右结合性

27、。(2)减法运算符“-”减法运算符为双目运算符。但“-”也可作负值运算符,此时为单目运算,如-x,-5等具有左结合性。(3)乘法运算符“*”双目运算,具有左结合性。(4)除法运算符“/”双目运算具有左结合性。参与运算量均为整型时,结果也为整型,舍去小数。如果运算量中有一个是实型,则结果为双精度实型。2.2.算算术术运运算算符符和和算算术术表表达达式式(5)求余运算符(模运算符)“%”双目运算,具有左结合性。要求参与运算的量均为整型。求余运算的结果等于两数相除后的余数。(6)算术表达式是由算术运算符和括号连接起来的式子,以下是算术表达式的例子:a+b(a*2)c(x+r)*8-(a+b)7+is

28、in(x)+sin(y)(+i)-(j+)+(k-)3.3.自自增增自自减减运运算算符符和和表表达达式式自增1运算符记为“+”,其功能是使变量的值自增1。自减1运算符记为“-”,其功能是使变量值自减1。自增1,自减1运算符均为单目运算,都具有右结合性。可有以下几种形式:+i i自增1后再参与其它运算。-i i自减1后再参与其它运算。i+i参与运算后,i的值再自增1。i-i参与运算后,i的值再自减1。在理解和使用上容易出错在理解和使用上容易出错的是的是i+i+和和i-i-。特别是当特别是当它们出在较复杂的表达式它们出在较复杂的表达式或语句中时,常常难于弄或语句中时,常常难于弄清,因此应仔细分析。

29、清,因此应仔细分析。4.4.赋赋值值运运算算符符和和赋赋值值表表达达式式(1)简单赋值运算符和表达式简单赋值运算符记为“=”。由“=”连接的式子称为赋值表达式。其一般形式为:变量=表达式 例如:x=a+bw=sin(a)+sin(b)(2)复合赋值符及表达式在赋值符“=”之前加上其它二目运算符可构成复合赋值符。如+=,-=,*=,=,%=,=,&=,=,|=。构成复合赋值表达式的一般形式为:变量 双目运算符=表达式 它等效于 变量=变量 运算符 表达式 例如:a+=5 等价于a=a+5 x*=y+7 等价于x=x*(y+7)r%=p 等价于r=r%p知识链接知识链接复合赋值符这种写法,对复合赋

30、值符这种写法,对初学者可能不习惯,初学者可能不习惯,但十但十分有利于编译处理,能提分有利于编译处理,能提高编译效率并产生质量较高编译效率并产生质量较高的目标代码。逗号运算高的目标代码。逗号运算符和逗号表达式在。符和逗号表达式在。5.5.逗逗号号运运算算符符C语言中逗号“,”也是一种运算符,称为逗号运算符。其功能是把两个表达式连接起来组成一个表达式,称为逗号表达式。其一般形式为:表达式1,表达式2 其求值过程是分别求两个表达式的值,并以表达式2的值作为整个逗号表达式的值。6.6.关关系系运运算算符符和和表表达达式式(1)关系运算符在程序中经常需要比较两个量的大小关系,以决定程序下一步的工作。比较

31、两个量的运算符称为关系运算符。(2)关系表达式关系表达式的一般形式为:表达式 关系运算符 表达式在在C C语言中有以下关系运算语言中有以下关系运算符:符:小于小于=大于大于=大于或等于大于或等于=等于等于!=!=不等于不等于 7.7.逻逻辑辑运运算算符符和和表表达达式式(1)逻辑运算符C语言中提供了三种逻辑运算符:&与运算|或运算!非运算 与运算符&和或运算符|均为双目运算符。具有左结合性。非运算符!为单目运算符,具有右结合性。(2)逻辑运算的值逻辑运算的值也为“真”和“假”两种,用“1”和“0”来表示。8.8.条条件件运运算算符符和和表表达达式式如果在条件语句中,只执行单个的赋值语句时,常可

32、使用条件表达式来实现。不但使程序简洁,也提高了运行效率。条件运算符为?和:,它是一个三目运算符,即有三个参与运算的量。由条件运算符组成条件表达式的一般形式为:表达式1?表达式2:表达式3 其求值规则为:如果表达式1的值为真,则以表达式2的值作为条件表达式的值,否则以表达式2的值作为整个条件表达式的值。条件表达式通常用于赋值语句之中。利利用用逗逗号号运运算算符符编编写写程程序序任务实施任务实施小李是某网络公司的员工,主要负责公司的编程工作。为了提高工作效率,增强编程语言的条理性与清晰度,小李决定在编程过程中对其稍作调整。由于在编程中加入逗号会增进代码的运算顺由于在编程中加入逗号会增进代码的运算顺

33、序与逻辑顺序,因此自傲里决定使用逗号运序与逻辑顺序,因此自傲里决定使用逗号运算符来完成这一工作。算符来完成这一工作。利用逗号运算符编写程利用逗号运算符编写程序序任务任务实施实施 利用逗号运算符编写的程序如下:Practice/arithmeticint a,b,c;float d;a=11;b=235;c=a+b-a*b;d=(float)c/(float)a;a=c/a;Vtablea,2,0b,2,0c,2,0d,4,0.0of VtableVupdate1,0;2,0;3,04,0.01,112,2353,-23394,-212.6363681,-212of Vupdateof Prac

34、ticePractice/1int a,b,c1,c2;a=25;b=3243;c1=b/a;c2=b%a;Vtablea,2,0b,2,0c1,2,0c2,2,0of VtableVupdate1,0;2,0;3,0;4,01,252,32433,1294,18of Vupdateof PracticePractice/1int a,b,c;a=25;b=40;c=a+b,c+35;Vtablea,2,0b,2,0c,2,0of VtableVupdate1,0;2,0;3,01,252,403,65of Vupdateof Practice重点难点重点难重点难点点各数据类型各数据类型和表达

35、式和表达式利用数据类型和表达式利用数据类型和表达式编写程序编写程序重点重点难点难点 本项目主要介绍数值数组和字符数组,使读者在使用C语言编程之前对数组的概念和格式有个全面的了解。任务一任务一利用利用rorror语句编写程序语句编写程序 任务二任务二利用利用二维数组求学生成绩二维数组求学生成绩 任务三任务三利用利用字符串进行函数的比较字符串进行函数的比较利利用用ForFor语语句句编编写写程程序序准备知识准备知识1.1.数组数组类型类型说明说明2.2.数组数组元素的表示方法元素的表示方法 1.1.数数组组类类型型说说明明C语言中,数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素

36、可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。在C语言中使用数组必须先进行类型说明。数组说明的一般形式为:类型说明符 数组名 常量表达式,;其中,类型说明符是任一种基本数据类型或构造数据类型。数组名是用户定义的数组标识符。方括号中的常量表达式表示数据元素的个数,也称为数组的长度。2 2.数数组组元元素素的的表表示示方方法法数组元素是组成数组的基本单元。数组元素也是一种变量,其标识方法为数组名后跟一个下标。下标表示了元素在数组中的顺序号。数组元素的一般形式为:数组名下标 其中的下标只能为整型常量或整型表达式。如为小数时,C

37、编译将自动取整。例如,a5,ai+j,ai+都是合法的数组元素。数组元素通常也称为下标变量。必须先定义数组,才能使用下标变量。在C语言中只能逐个地使用下标变量,而不能一次引用整个数组。注意啦!注意啦!初始化赋值的一般形式为:初始化赋值的一般形式为:static static 类型说明符类型说明符 数组名数组名 常量表达式常量表达式=值,值值,值值值;其中其中staticstatic表示是静表示是静态存储类型,态存储类型,C C语言规定只语言规定只有静态存储数组和外部存储有静态存储数组和外部存储数组才可作初始化赋值数组才可作初始化赋值。利利用用ForFor语语句句编编写写程程序序任务实施任务实施

38、小刘是某程序公司的程序员,根据上级要求,小刘需要编写一组C语言程序,要求在程序中可以对相关数据进行排列。在在C C语言中,数组的应用占有重要地位。由语言中,数组的应用占有重要地位。由于在程序设计中,为了便于处理问题,可以于在程序设计中,为了便于处理问题,可以利用数组把具有相同类型的若干变量按有序利用数组把具有相同类型的若干变量按有序的形式组织起来,因此,小刘决定使用数组的形式组织起来,因此,小刘决定使用数组的相关知识来编写程序。的相关知识来编写程序。利用利用forfor语句编写语句编写程序程序任务任务实施实施 利用C语言中的数组元素编写程序。void main()int i,j,p,q,s,a

39、10;printf(n input 10 numbers:n);for(i=0;i10;i+)scanf(%d,&ai);for(i=0;i10;i+)p=i;q=ai;for(j=i+1;j10;j+)if(qaj)p=j;q=aj;if(i!=p)s=ai;ai=ap;ap=s;printf(%d,ai);for(i=0;i10;i+)scanf(%d,&ai);for(i=0;i10;i+)p=i;q=ai;for(j=i+1;j10;j+)if(qaj)p=j;q=aj;if(i!=p)s=ai;ai=ap;ap=s;printf(%d,ai);利利用用二二维维数数组组求求学学生生成成

40、绩绩准备知识准备知识1.1.二二维数组类型说明维数组类型说明2 2.二二维数组元素的表示方法维数组元素的表示方法3.3.二二维数组的初始化维数组的初始化 1.1.二二维维数数组组类类型型说说明明二维数组类型说明的一般形式是:类型说明符 数组名常量表达式1常量表达式2;其中常量表达式1表示第一维下标的长度,常量表达式2 表示第二维下标的长度。例如:int a34;说明了一个三行四列的数组,数组名为a,其下标变量的类型为整型。该数组的下标变量共有34个,即:a00,a01,a02,a03a10,a11,a12,a13a20,a21,a22,a23 2 2.二二维维数数组组元元素素的的表表示示方方法

41、法二维数组的元素也称为双下标变量,其表示的形式为:数组名下标下标 其中下标应为整型常量或整型表达式。例如:a34 表示a数组三行四列的元素。下标变量和数组说明在形式中有些相似,但这两者具有完全不同的含义。数组说明的方括号中给出的是某一维的长度,即可取下标的最大值;而数组元素中的下标是该元素在数组中的位置标识。前者只能是常量,后者可以是常量,变量或表达式。3 3.二二维维数数组组的的初初始始化化二维数组初始化也是在类型说明时给各下标变量赋以初值。二维数组可按行分段赋值,也可按行连续赋值。对于二维数组初始化赋值有以下说明:1)可以只对部分元素赋初值,未赋初值的元素自动取0值。例如:static i

42、nt a33=1,2,3;是对每一行的第一列元素赋值,未赋值的元素取0值。赋值后各元素的值为:1 0 02 0 03 0 0static int a 33=0,1,0,0,2,3;赋值后的元素值为 0 1 00 0 23 0 02)如对全部元素赋初值,则第一维的长度可以不给出。知识链接知识链接必须强调的是,必须强调的是,a0,a1,a2不能当作下标变量使用,不能当作下标变量使用,它们是数组名,不是一个它们是数组名,不是一个单纯的下标变量。单纯的下标变量。利利用用二二维维数数组组求求学学生生成成绩绩任务实施任务实施小李是某中学高二三班的班主任,考试过后,小李需要统计学生的成绩。一个学习小组有5个

43、人,每个人有三门课的考试成绩。要求小李求出全组分科的平均成绩和各科总平均成绩。在在C C语言中,二维数组与一维数组会经常在语言中,二维数组与一维数组会经常在计算中用到,在实际问题中有很多量是二维计算中用到,在实际问题中有很多量是二维的或多维的。由于二维数组可以有效进行数的或多维的。由于二维数组可以有效进行数据的排列,因此,小李决定使用二维数组的据的排列,因此,小李决定使用二维数组的知识完成此任务。知识完成此任务。利用二维数组求学生成利用二维数组求学生成绩绩任务任务实施实施 课程 成绩姓名 Math C DBASE张 80 75 92王 61 65 71李 59 63 70赵 85 87 90周

44、 76 77 85可设一个二维数组a53存放五个人三门课的成绩。再设一个一维数组v3存放所求得各分科平均成绩,设变量l为全组各科总平均成绩。编程如下:void main()int i,j,s=0,l,v3,a53;printf(input scoren);for(i=0;i3;i+)for(j=0;j5;j+)scanf(%d,&aji);s=s+aji;vi=s/5;s=0;l=(v0+v1+v2)/3;printf(math:%dnc languag:%dndbase:%dn,v0,v1,v2);printf(total:%dn,l);for(i=0;j3;i+)for(j=0;j0)pr

45、intf(st1st2n);if(k0)printf(st10)printf(st1st2n);if(k0)printf(st1st2。重点难点重点难重点难点点数组的类型、数组的类型、数组的表示数组的表示方法方法运用数组的知识编写程序、运用数组的知识编写程序、进行计算进行计算重点重点难点难点 2.3.2.3.2 2羽羽化化选选区区 本项目主要对函本项目主要对函数的一些基础知识以数的一些基础知识以及其定义的一般形式及其定义的一般形式和调用规则进行介绍,和调用规则进行介绍,使读者对使读者对C C语言的函数语言的函数有个全面的认识。有个全面的认识。任务一任务一利用数组名做函数参数利用数组名做函数参数

46、 任务二任务二利用函数的调用定义变量名称利用函数的调用定义变量名称利利用用数数组组名名做做函函数数参参数数准备知识准备知识1.1.函数概念函数概念2 2.函数定义函数定义 1.1.函函数数概概念念(1)函数简介C语言不仅提供了极为丰富的库函数(如Turbo C,MS C 都提供了三百多个库函数),还允许用户建立自己定义的函数。用户可把自己的算法编成一个个相对独立的函数模块,然后用调用的方法来使用函数。可以说C程序的全部工作都是由各式各样的函数完成的,所以也把C语言称为函数式语言。由于采用了函数模块式的结构,C语言易于实现结构化程序设计。使程序的层次结构清晰,便于程序的编写、阅读、调试。1.1.

47、函函数数概概念念函数的分类:1)库函数由C系统提供,用户无须定义,也不必在程序中作类型说明,只需在程序前包含有该函数原型的头文件即可在程序中直接调用。在前面各项目的例题中反复用到printf、scanf、getchar、putchar、gets、puts、strcat等函数均属此类。2)有返回值函数和无返回值函数C语言的函数兼有其它语言中的函数和过程两种功能,从这个角度看,又可把函数分为有返回值函数和无返回值函数两种。1.1.函函数数概概念念3)无参函数和有参函数从主调函数和被调函数之间数据传送的角度看又可分为无参函数和有参函数两种。4)内部函数和外部函数函数一旦定义后就可被其它函数调用。但当

48、一个源程序由多个源文件组成时,在一个源文件中定义的函数能否被其它源文件中的函数调用呢?为此,C语言又把函数分为两类:内部函数和外部函数。注意啦!注意啦!还应该指出的是,还应该指出的是,在在C C语言中,所有语言中,所有的函数定义,包括的函数定义,包括主函数主函数mainmain在内,在内,都是平行的。也就都是平行的。也就是说,在一个函数是说,在一个函数的函数体内,不能的函数体内,不能再定义另一个函数,再定义另一个函数,即不能嵌套定义。即不能嵌套定义。2.2.函函数数定定义义(1)无参函数定义的一般形式无参函数定义的一般形式如下:类型说明符 函数名()类型说明语句其中类型说明符和函数名称为函数头

49、。类型说明符指明了本函数的类型,函数的类型实际上是函数返回值的类型。该类型说明符与第二章介绍的各种说明符相同。函数名是由用户定义的标识符,函数名后有一个空括号,其中无参数,但括号不可少。中的内容称为函数体。在函数体中也有类型说明,这是对函数体内部所用到的变量的类型说明。知识链接知识链接在很多情况下都不要求无在很多情况下都不要求无参函数有返回值,此时函参函数有返回值,此时函数类型符可以写为数类型符可以写为void。2.2.函函数数定定义义(2)有参函数定义的一般形式有参函数的一般形式如下:类型说明符 函数名(形式参数表)型式参数类型说明类型说明语句 2.2.函函数数定定义义有参函数比无参函数多了

50、两个内容,其一是形式参数表,其二是形式参数类型说明。在形参表中给出的参数称为形式参数,它们可以是各种类型的变量,各参数之间用逗号间隔。在进行函数调用时,主调函数将赋予这些形式参数实际的值。形参既然是变量,当然必须给以类型说明。例如,定义一个函数,用于求两个数中的大数,可写为:int max(a,b)int a,b;if(ab)return a;else return b;2.2.函函数数定定义义 第一行说明max函数是一个整型函数,其返回的函数值是一个整数。形参为a,b。第二行说明a,b均为整型量。a,b 的具体值是由主调函数在调用时传送过来的。在中的函数体内,除形参外没有使用其它变量,因此只

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(教学课件:《C语言程序设计》1.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|