武汉大学C语言ppt课件.ppt
《武汉大学C语言ppt课件.ppt》由会员分享,可在线阅读,更多相关《武汉大学C语言ppt课件.ppt(629页珍藏版)》请在咨信网上搜索。
1、计算机基础教学系列课程计算机基础教学系列课程C语言语言课程性质课程性质:大学生公共大学生公共基础课程基础课程(必修课必修课)学时学时:讲课讲课34课时课时;实验实验64(课内课内32/32/课外课外32)32)学分学分:2学分学分总评成绩总评成绩=平时成绩平时成绩40%+期末成绩期末成绩60%平时成绩平时成绩:成绩成绩1(作业作业、考勤考勤10%)+成绩成绩2(单元测验单元测验15%)+成绩成绩3(实验报告实验报告15%)期末成绩期末成绩:期末理论机考期末理论机考60%C C 语言程序设计语言程序设计2第一章第一章 C C语言的发展、特点与程序结构语言的发展、特点与程序结构 第二章第二章 基本
2、数据类型、运算符和表达式基本数据类型、运算符和表达式第三章第三章 基本语句与顺序结构基本语句与顺序结构第四章第四章 选择结构选择结构第五章第五章 循环结构循环结构第六章第六章 数组数组第七章第七章 函数函数第八章第八章 指针指针第十章第十章 结构体结构体第十二章第十二章 文件文件3C 语 言 程 序 设 计&推荐参考书:推荐参考书:谭浩强主编谭浩强主编程序设计程序设计(第二版)(第二版)北京:清华大学出版社北京:清华大学出版社4第一章第一章 C C语言语言的发展的发展、特点与程序开发基本知识特点与程序开发基本知识 1 1.1 1C C语言的发展与特点语言的发展与特点1 1.2 2 程序设计的基
3、本方法程序设计的基本方法1 1.3 3 算法的概念及其表示算法的概念及其表示1 1.4 C4 C语言的基本结构语言的基本结构 1 1.5 5 应用程序的开发步骤和运行过程应用程序的开发步骤和运行过程 下一章目 录习题5l C语言是一门优秀的程序设计语言语言是一门优秀的程序设计语言C语言是在语言是在19731973年由美国贝尔实验室开发的。年由美国贝尔实验室开发的。19831983年年,ANSIANSI为为C C语言制定了新的标准语言制定了新的标准,称为称为ANSICANSIC,并于并于19891989年最终完成。年最终完成。目前使用较多的版本有目前使用较多的版本有ANSIC,BorlandC,
4、TurboC,MicrosoftC/C+,VisualC+等。等。C C语言的发展语言的发展lC C语言是结构化程序设计语言语言是结构化程序设计语言l功能强大,功能强大,具有丰富的数据类型及具有丰富的数据类型及运算符运算符。l简洁紧凑,使用方便灵活。简洁紧凑,使用方便灵活。lC C语言具有自我扩充能力语言具有自我扩充能力lC C语言具有汇编语言的功能语言具有汇编语言的功能l可移植性好可移植性好C C语言的特点语言的特点q程序的概念程序的概念程序是计算机解决问题所需的一系列指令的集合。程序是计算机解决问题所需的一系列指令的集合。q著名计算机科学家著名计算机科学家NikiklausWirth提出了
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,如果如果zmax,则将则将z送送max。(4
10、)输出输出max,max即为最大数。即为最大数。算法算法对同一个问题对同一个问题,算法是不唯一的算法是不唯一的,例如例如:求和求和1+2+3+100(1)=(1+2)+3)+4)+100)(2)=(1+100)50一个好的算法应该是一个好的算法应该是:正确、易读、效率高。正确、易读、效率高。算法的表示方法算法的表示方法&常用的算法描述方法有常用的算法描述方法有:自然语言描述自然语言描述、伪代码伪代码、流程图流程图、N-SN-S图图、PADPAD图图等。等。1.自然语言自然语言 就是用人们日常使用的语言来描述或表示算法的就是用人们日常使用的语言来描述或表示算法的方法。方法。英语和程序设计语言混合
11、使用称为伪代码。英语和程序设计语言混合使用称为伪代码。Begin 算法开始算法开始inputx,y,zifxythenmax=xelsemax=yifzmaxthenmax=zprintmaxend算法结束算法结束2.用伪代码表示算法用伪代码表示算法l用一些图框和方向线表示算法的图形表示法。用一些图框和方向线表示算法的图形表示法。l特点特点:直观形象,易于理解,便于检查和交流。直观形象,易于理解,便于检查和交流。l常用流程图符号及含义如下常用流程图符号及含义如下:起止框起止框处理框处理框判断框判断框输入或输出框输入或输出框流程线流程线连接点连接点3.用流程图表示算法用流程图表示算法流程图流程图
12、:【例例1.1】对任意给定对任意给定的三个整数的三个整数 x,y,z,求求出其最大值。出其最大值。开始开始读入读入x,y,zmaxxmaxzmaxy zmax?输出输出max结束结束TF xy?TF17读入读入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】在屏幕上显示一行文字在屏幕上显示一行文字“WelcometoC!”。#includevoidmain()/*定义主函数定义主函数*/printf(“WelcometoC!n”);程序运行结果程序运行结果:WelcometoC!l 函数函数(Function)C程序包含一个或多个函数程序包含一个或多个函数,其中必须有一个其中必须有一个main()圆括号指示一个函数圆括号指示一个函数包含函数体包含函数体,表示表示main函数结束函数结束printf(“Welcome”);printf(“to C!n”);printf(“Welcome
16、ntonC!n”);程序运行结果程序运行结果:WelcometoC!程序运行结果程序运行结果:WelcometoC!注释注释/*文本文本*/或或/不被执行不被执行以提高程序的可读性以提高程序的可读性 语句语句(Statement)必须以必须以;结尾结尾格式输出函数格式输出函数printf()。调用标准函数调用标准函数,显示引号中的内容显示引号中的内容。#includevoidmain()inta,b,sum;/声明部分声明部分,定义变量类型定义变量类型a=123;b=456;/执行部分执行部分,赋值语句赋值语句sum=a+b;/执行部分执行部分,赋值语句赋值语句printf(“sum=%dn”
17、,sum);/执行部分执行部分,输出语句输出语句程序运行结果程序运行结果:sum=579赋初值赋初值计算计算输出输出定义变量定义变量【例例1.3】求两个整数的和求两个整数的和l 函数体函数体包括变量说明部分包括变量说明部分语句执行部分语句执行部分 /文件包含文件包含预处理命令预处理命令 /将标准输入输出头文件包含到源程序中将标准输入输出头文件包含到源程序中预编译命令预编译命令void main()主函数主函数 函数体开始函数体开始声明部分声明部分执行部分执行部分 函数体结束函数体结束#include void main()int a,b,c ;/定义变量类型定义变量类型 printf(“inp
18、uttwonumbers: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运行程序运行程序屏幕显示提示信息;屏幕显示提示信息;键盘输入键盘输入a、b的值;的值;屏幕显示屏幕显示c的值。的值。inputtwonumbers:
19、123,456 max=456l一个一个C程序由一个或多个函数组成程序由一个或多个函数组成,其中必须有一个主函其中必须有一个主函数数main()。程序程序执行时总是从主函数开始执行时总是从主函数开始,main()可以可以置于程序的任何位置。置于程序的任何位置。l程序中需有预处理命令程序中需有预处理命令(如如#include),预处,预处理命令通常放在程序的最前面。理命令通常放在程序的最前面。l分号分号是是C C语句结束的标志语句结束的标志,每个语句和数据定义后必须有每个语句和数据定义后必须有一个分号。预处理命令、函数头和花括号一个分号。预处理命令、函数头和花括号“”之后不能之后不能加分号。加分
20、号。1.4.21.4.2 C C语言程序基本结构语言程序基本结构lC C程序书写灵活,程序书写灵活,一行可以写几个语句一行可以写几个语句,一个语句可以写在一个语句可以写在多个程序行上。多个程序行上。#include#include void main void main()()int a int a,b b,sum sum;a=123a=123;b=456 b=456;sum=a+b sum=a+b;printf printf(“sum=%d“sum=%dn”n”,sumsum););lC语言本身没有输入输出语句语言本身没有输入输出语句,输入输出的操作是由库函数输入输出的操作是由库函数scan
21、f()和和printf()等函数完成的。等函数完成的。1.4.2 1.4.2 C C语言程序基本结构语言程序基本结构 lC程序严格区分大小写。程序严格区分大小写。一般变量、语句等用小写字母书一般变量、语句等用小写字母书写;符号常量等用大写字母书写。写;符号常量等用大写字母书写。l标识符、保留字之间必须至少加一个空格以示分隔。标识符、保留字之间必须至少加一个空格以示分隔。函数函数lC语言的函数有语言的函数有两种两种:标准库函数和用户定义的标准库函数和用户定义的函数。函数。用户自定义函数,可有可无,数目不限。用户自定义函数,可有可无,数目不限。如例如例1.4中的中的intmax(intx,inty
22、)C语言提供的库函数语言提供的库函数,如输出函数如输出函数printf()和输和输入函数入函数scanf()。函数定义函数定义:函数头函数头+函数体函数体 函数头函数头:说明函数的类型说明函数的类型、名字名字、参数及参数的类型。参数及参数的类型。intmax(intx,inty)#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.z26个大写字母个大写字母ABCDEFG.Z10个数字个数字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,alot,$11,注意注意:l标识符严格标识符严格区分大小写区分大小写 例如例如:ABC,abc 是不
25、同的标识符是不同的标识符l不能和不能和C C语言的关键字语言的关键字、用户定义的函数名以及系统库函数用户定义的函数名以及系统库函数同名。同名。lC C的的“.h h”头文件中经常使用头文件中经常使用以下划线开头的内部变量名,以下划线开头的内部变量名,因此用户最好避免使用这类标因此用户最好避免使用这类标识识符。符。l取名应尽可能见名知意。如取名应尽可能见名知意。如:alfa,aver,pi,bata等。等。例例:以下各标识符组中以下各标识符组中,合法的用户标识符分别为合法的用户标识符分别为:(1)A)PAdB)scanfC)voidD)4aP#Da10maxtemp(2)A)b-bB)CCPC)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 武汉大学 语言 ppt 课件
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。