武汉大学C语言课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《武汉大学C语言课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 武汉大学 语言 课件
- 资源描述:
-
1、计算机基础教学系列课程计算机基础教学系列课程C语言语言程序设计程序设计h2课程性质课程性质:大学生公共大学生公共基础课程基础课程(必修课必修课)学时学时:讲课讲课 34课时课时;实验实验 64(课内课内32/32/课外课外32)32)学分学分:2学分学分总评成绩总评成绩=平时成绩平时成绩 40%+期末成绩期末成绩 60%平时成绩平时成绩:成绩成绩1(作业作业、考勤考勤10%)+成绩成绩2(单元测验单元测验15%)+成绩成绩3(实验报告实验报告15%)期末成绩期末成绩:期末理论机考期末理论机考60%h3第一章第一章 C C语言的发展、特点与程序结构语言的发展、特点与程序结构 第二章第二章 基本数
2、据类型、运算符和表达式基本数据类型、运算符和表达式第三章第三章 基本语句与顺序结构基本语句与顺序结构第四章第四章 选择结构选择结构第五章第五章 循环结构循环结构第六章第六章 数组数组第七章第七章 函数函数第八章第八章 指针指针第十章第十章 结构体结构体第十二章第十二章 文件文件h4C 语 言 程 序 设 计&推荐参考书:推荐参考书:谭浩强主编谭浩强主编程序设计程序设计(第二版)(第二版)北京:清华大学出版社北京:清华大学出版社h5 1 1.1 1 C C语言的发展与特点语言的发展与特点 1 1.2 2 程序设计的基本方法程序设计的基本方法 1 1.3 3 算法的概念及其表示算法的概念及其表示1
3、 1.4 C4 C语言的基本结构语言的基本结构 1 1.5 5 应用程序的开发步骤和运行过程应用程序的开发步骤和运行过程 下一章目 录习题l C语言是一门优秀的程序设计语言语言是一门优秀的程序设计语言C语言是在语言是在19731973年由美国贝尔实验室开发的。年由美国贝尔实验室开发的。19831983年年,ANSIANSI为为C C语言制定了新的标准语言制定了新的标准,称为称为ANSICANSIC,并于并于19891989年最终完成。年最终完成。目前使用较多的版本有目前使用较多的版本有ANSI C,Borland C,Turbo C,Microsoft C/C+,Visual C+等。等。C
4、C语言的发展语言的发展lC C语言是结构化程序设计语言语言是结构化程序设计语言l功能强大,功能强大,具有丰富的数据类型及具有丰富的数据类型及运算符运算符。l简洁紧凑,使用方便灵活。简洁紧凑,使用方便灵活。lC C语言具有自我扩充能力语言具有自我扩充能力lC C语言具有汇编语言的功能语言具有汇编语言的功能l可移植性好可移植性好C C语言的特点语言的特点q程序的概念程序的概念程序是计算机解决问题所需的一系列指令的集合。程序是计算机解决问题所需的一系列指令的集合。q著名计算机科学家著名计算机科学家Nikiklaus Wirth 提出了提出了 “算法算法数据结构数据结构程序程序”的公式的公式 程序就是
5、在数据的某些特定的表示方式和结构的基础上,程序就是在数据的某些特定的表示方式和结构的基础上,对抽象算法的具体描述。对抽象算法的具体描述。1.2 1.2 程序设计的基本方法程序设计的基本方法q程序数据结构算法程序设计方法语言工具程序数据结构算法程序设计方法语言工具l数据结构是数据的类型和数据的组织形式。数据结构是数据的类型和数据的组织形式。l算法是为解决一个问题而采用的方法和有限的步骤。算法是为解决一个问题而采用的方法和有限的步骤。l程序设计方法程序设计方法l确定语言和编程环境确定语言和编程环境面向过程的程序设计面向过程的程序设计l所谓面向过程的程序设计所谓面向过程的程序设计,是指利用面向过程的
6、语言工具是指利用面向过程的语言工具(如如Pascal、Fortran和和C语言等语言等)进行程序开发的各项活动进行程序开发的各项活动。基本思想:基本思想:把一个需要求解的复杂问题分为把一个需要求解的复杂问题分为若干个模块来处理,每个模块处若干个模块来处理,每个模块处理一个子问题;设计时遵循自顶理一个子问题;设计时遵循自顶向下、逐步细化、模块化设计和向下、逐步细化、模块化设计和结构化编码的原则。结构化编码的原则。优点:优点:编程简单、结构性强、可读性好;编程简单、结构性强、可读性好;遵循这种结构的程序只有一个入口和一个出口。遵循这种结构的程序只有一个入口和一个出口。缺点:缺点:存在数据与程序模块
7、的分离和程序的可重用性差等问题。存在数据与程序模块的分离和程序的可重用性差等问题。面向对象的程序设计面向对象的程序设计 Program Design in C Languagel面向对象的程序设计将一些新的理念和结构化程序设计中面向对象的程序设计将一些新的理念和结构化程序设计中好的思想相融合,提供了一种全新的程序设计方法。好的思想相融合,提供了一种全新的程序设计方法。基本思想基本思想将一个需要解决的问题分解为一系列实体将一个需要解决的问题分解为一系列实体(对象),然后围绕这些对象建立数据和(对象),然后围绕这些对象建立数据和函数;函数的功能决定了该对象的行为。函数;函数的功能决定了该对象的行为
8、。规定一个对象的函数可以访问另一对象的规定一个对象的函数可以访问另一对象的函数,但一个对象的数据不能应用于另一函数,但一个对象的数据不能应用于另一对象的函数中。对象的函数中。几个基本概念:几个基本概念:三类机制:三类机制:类、对象、属性、事件、方法类、对象、属性、事件、方法 封装、继承、多态封装、继承、多态1.3 1.3 算法及其表示算法及其表示l 算法的特性算法的特性有穷性有穷性 一个算法的操作步骤应当是有限的一个算法的操作步骤应当是有限的;确定性确定性 算法中的每一个步骤应当有确定的意义算法中的每一个步骤应当有确定的意义,不能不能 有二义性有二义性;有效性有效性 算法中的每一个步骤应当正确
9、算法中的每一个步骤应当正确、可行可行,并且能并且能 有效地执行有效地执行;有零个或多个输入有零个或多个输入 执行算法时需要从外界获取的信息执行算法时需要从外界获取的信息;有一个或多个输出有一个或多个输出 执行算法后应当得到正确的结果。执行算法后应当得到正确的结果。算法举例算法举例【例例1.1】输入三个数,然后输出其中最大的数。输入三个数,然后输出其中最大的数。(1)输入变量输入变量 x,y,z的值的值 (2)比较比较x和和y,如果如果xy,则则x送送max;否则否则y送送max。(3)比较比较max与与z,如果如果 z max,则将则将z送送max。(4)输出输出max,max 即为最大数。即
10、为最大数。算法算法对同一个问题对同一个问题,算法是不唯一的算法是不唯一的,例如例如:求和求和 1+2+3+100 (1)=(1+2)+3)+4)+100)(2)=(1+100)50 一个好的算法应该是一个好的算法应该是:正确、易读、效率高。正确、易读、效率高。1001i1001i算法的表示方法算法的表示方法&常用的算法描述方法有常用的算法描述方法有:自然语言描述自然语言描述、伪代码伪代码、流程图流程图、N-SN-S图图、PADPAD图图等。等。1.自然语言自然语言 就是用人们日常使用的语言来描述或表示算法的就是用人们日常使用的语言来描述或表示算法的方法。方法。英语和程序设计语言混合使用称为伪代
11、码。英语和程序设计语言混合使用称为伪代码。Begin 算法开始算法开始 input x,y,z if xy then max=x else max=y if zmax then max=z print max end 算法结束算法结束2.用伪代码表示算法用伪代码表示算法l用一些图框和方向线表示算法的图形表示法。用一些图框和方向线表示算法的图形表示法。l特点特点:直观形象,易于理解,便于检查和交流。直观形象,易于理解,便于检查和交流。l常用流程图符号及含义如下常用流程图符号及含义如下:起止框起止框处理框处理框判断框判断框输入或输出框输入或输出框流程线流程线连接点连接点3.用流程图表示算法用流程图
12、表示算法流程图流程图:【例【例1.1】对任意给定】对任意给定的三个整数的三个整数 x,y,z,求求出其最大值。出其最大值。开始开始读入读入x,y,zmaxxmaxzmaxy zmax?输出输出max结束结束TF xy?TF读入读入x,y,zxyFTmaxxmaxyTFzmaxmaxz打印打印max单元的值单元的值 例例:对任意给定的对任意给定的三个整数三个整数 x,y,z,求求出其最大值。出其最大值。4.用用N-SN-S流程图表示算法流程图表示算法结构化程序设计结构化程序设计C语言是结构化程序设计语言语言是结构化程序设计语言,有三种基本结构。有三种基本结构。顺序结构顺序结构 选择结构选择结构
13、循环结构循环结构 实践证明实践证明,任何复杂的算法都可以用这三种基本任何复杂的算法都可以用这三种基本结构来描述。结构来描述。程序设计的目标在正确的前提下程序设计的目标在正确的前提下,其重要性排列次其重要性排列次序依次为序依次为:可读可读、可维护可维护、可移植和高效可移植和高效。顺序结构顺序结构 矩形框矩形框 用于表示顺序结构用于表示顺序结构。执行时按语句的执行时按语句的先后顺序执行。先后顺序执行。先执行语句先执行语句A A,再执行语句再执行语句B B。ABAB顺序结构的流程图顺序结构的流程图顺序结构的顺序结构的N-S图图选择结构(分支结构)选择结构(分支结构)根据条件的真或假选择执行不同的操作
14、内容。根据条件的真或假选择执行不同的操作内容。当当条件成立执行语句条件成立执行语句A A,否则执行语句,否则执行语句B B。条件条件ABTF条件条件T FA B选择结构的流程图选择结构的流程图选择结构的选择结构的N-S图图循环结构循环结构 (1)当型当型(while 型循环型循环)当条件成立当条件成立,执行循环体执行循环体,否则跳出循环体。否则跳出循环体。条件条件 语句块语句块条件条件语句块语句块TFL L形框形框用于表示循环结构用于表示循环结构(2)直到型循环直到型循环 (do-while型循环型循环 )首先执行循环体首先执行循环体,若条件不成立继续执行循环体若条件不成立继续执行循环体,直到
15、条件成立为止。直到条件成立为止。语句块语句块 条件条件语句块语句块条件条件FT【例【例1.2】在屏幕上显示一行文字在屏幕上显示一行文字“Welcome to C!”。#includevoid main()/*定义主函数定义主函数*/printf(“Welcome to C!n”);程序运行结果程序运行结果:Welcome to C!l 函数函数(Function)C程序包含一个或多个函数程序包含一个或多个函数,其中必须有一个其中必须有一个 main()圆括号指示一个函数圆括号指示一个函数 包含函数体包含函数体,表示表示 main 函数结束函数结束printf(“Welcome”);printf
16、(“to C!n”);printf(“WelcomentonC!n”);程序运行结果程序运行结果:Welcome to C!程序运行结果程序运行结果:Welcome to C!n 注释注释/*文本文本*/或或/不被执行不被执行以提高程序的可读性以提高程序的可读性n 语句语句(Statement)必须以必须以;结尾结尾格式输出函数格式输出函数printf()。调用标准函数调用标准函数,显示引号中的内容显示引号中的内容。#include void main()int a,b,sum;/声明部分声明部分,定义变量类型定义变量类型 a=123;b=456;/执行部分执行部分,赋值语句赋值语句 sum=
17、a+b;/执行部分执行部分,赋值语句赋值语句 printf(“sum=%dn”,sum);/执行部分执行部分,输出语句输出语句 程序运行结果程序运行结果:sum=579赋初值赋初值计算计算输出输出定义变量定义变量【例【例1.3】求两个整数的和】求两个整数的和l 函数体函数体包括变量说明部分包括变量说明部分语句执行部分语句执行部分 /文件包含文件包含预处理命令预处理命令 /将标准输入输出头文件包含到源程序中将标准输入输出头文件包含到源程序中预编译命令预编译命令void main()主函数主函数 函数体开始函数体开始声明部分声明部分执行部分执行部分 函数体结束函数体结束#include void
18、main()int a,b,c ;/定义变量类型定义变量类型 printf(“input two numbers:n”);/提示提示 scanf(“%d,%d”,&a,&b);/输入变量输入变量 c=max(a,b);/调用调用求最大值的求最大值的函数函数 printf(“max=%dn”,c);int max(x,y)int x,y;int z ;if(xy)z=x;else z=y;return(z);【例【例1.4】求两个数中的较大值】求两个数中的较大值l 程序由两个函数组成:程序由两个函数组成:main 函数函数和和max 函数函数。l 运行程序运行程序 屏幕显示提示信息;屏幕显示提示
19、信息;键盘输入键盘输入a、b的值;的值;屏幕显示屏幕显示c的值。的值。input two numbers:123,456 max=456l一个一个C程序由一个或多个函数组成程序由一个或多个函数组成,其中必须有一个主函其中必须有一个主函数数main()。程序。程序执行时总是从主函数开始执行时总是从主函数开始,main()可以可以置于程序的任何位置。置于程序的任何位置。l程序中需有预处理命令程序中需有预处理命令(如如#include ),预处,预处理命令通常放在程序的最前面。理命令通常放在程序的最前面。l分号分号是是C C语句结束的标志语句结束的标志,每个语句和数据定义后必须有每个语句和数据定义后
20、必须有一个分号。预处理命令、函数头和花括号一个分号。预处理命令、函数头和花括号“”之后不能加之后不能加分号。分号。1.4.21.4.2 C C语言程序基本结构语言程序基本结构lC C程序书写灵活,程序书写灵活,一行可以写几个语句一行可以写几个语句,一个语句可以写在一个语句可以写在多个程序行上。多个程序行上。#include void main()int a,b,sum;a=123;b=456;sum=a+b;printf(“sum=%dn”,sum);lC语言本身没有输入输出语句语言本身没有输入输出语句,输入输出的操作是由库函数输入输出的操作是由库函数 scanf()和和printf()等函数
21、完成的。等函数完成的。1.4.2 1.4.2 C C语言程序基本结构语言程序基本结构 lC程序严格区分大小写。程序严格区分大小写。一般变量、语句等用小写字母书一般变量、语句等用小写字母书写;符号常量等用大写字母书写。写;符号常量等用大写字母书写。l标识符、保留字之间必须至少加一个空格以示分隔。标识符、保留字之间必须至少加一个空格以示分隔。函数函数lC语言的函数有语言的函数有两种两种:标准库函数和用户定义的标准库函数和用户定义的函数。函数。用户自定义函数,可有可无,数目不限。用户自定义函数,可有可无,数目不限。如例如例1.4中的中的 int max(int x,int y)C语言提供的库函数语言
22、提供的库函数,如输出函数如输出函数printf()和输和输 入函数入函数 scanf()。函数定义函数定义:函数头函数头+函数体函数体 函数头函数头:说明函数的类型说明函数的类型、名字名字、参数及参数的类型。参数及参数的类型。int max(int x,int y)#include void main()int a,b,sum;a=123;b=456;sum=a+b;printf(“sum=%dn”,sum);函数体函数体函数头函数头 函数体函数体:由由“”括起,括起,包括变量声明和执行部分。包括变量声明和执行部分。函数定义函数定义1.4.3 C1.4.3 C语言的字符集、关键字和标识符语言的
23、字符集、关键字和标识符l字符集字符集:C C语言允许使用字符的集合语言允许使用字符的集合l字符集字符集的组成的组成:26个小写字母个小写字母 abcdefghi.z 26个大写字母个大写字母 ABCDEFG.Z 10个数字个数字 09 其他符号其他符号 +-*/=,._:;?”|&!%#()空格空格(SPACE)制表符制表符(Tab)C C语言的关键字语言的关键字l关键字关键字:C C语言中预定的具有特定含义的词语言中预定的具有特定含义的词,也称也称 保留字保留字。共有。共有3232个。个。l分四类分四类:类型说明类型说明:int,long,float,。语句定义语句定义:ifelse,whi
24、le,for。存储类存储类:auto,static,。长度运算符长度运算符:sizeof标识符标识符l标识符标识符:用来标识变量用来标识变量、符号常量符号常量、数组数组、函数的名字函数的名字。l组成组成:只能由英文字母、数字和下划线组成。只能由英文字母、数字和下划线组成。第一个字符不能是数字,只能是字母或下划线。第一个字符不能是数字,只能是字母或下划线。VC6VC6.0 0中有效长度为中有效长度为1255个字符。个字符。l例如例如:x,m1,average,k123,_1,5AN,WA-11,a lot,$11,注意注意:l标识符严格标识符严格区分大小写区分大小写 例如例如:ABC,abc 是
25、不同的标识符是不同的标识符l不能和不能和C C语言的关键字语言的关键字、用户定义的函数名以及系统库函数用户定义的函数名以及系统库函数同名。同名。lC C的的“.h”h”头文件中经常使用头文件中经常使用以下划线开头的内部变量名,因以下划线开头的内部变量名,因此用户最好避免使用这类标此用户最好避免使用这类标识识符。符。l取名应尽可能见名知意。如取名应尽可能见名知意。如:alfa,aver,pi,bata 等。等。例例:以下各标识符组中以下各标识符组中,合法的用户标识符分别为合法的用户标识符分别为:(1)A)PAd B)scanf C)void D)4a P#D a10 max temp(2)A)b
展开阅读全文