您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > C语言课件(精华版)
计算机基础教学系列课程C语言程序设计课程性质:大学生公共基础课程(必修课)学时:讲课34课时;实验64(课内32/课外32)学分:2学分总评成绩=平时成绩40%+期末成绩60%平时成绩:成绩1(作业、考勤10%)+成绩2(单元测验15%)+成绩3(实验报告15%)期末成绩:期末理论机考60%C语言程序设计第一章C语言的发展、特点与程序结构第二章基本数据类型、运算符和表达式第三章基本语句与顺序结构第四章选择结构第五章循环结构第六章数组第七章函数第八章指针第十章结构体第十二章文件C语言程序设计推荐参考书:谭浩强主编《C程序设计》(第二版)北京:清华大学出版社第一章C语言的发展、特点与程序开发基本知识1.1C语言的发展与特点1.2程序设计的基本方法1.3算法的概念及其表示1.4C语言的基本结构1.5应用程序的开发步骤和运行过程下一章目录习题C语言是一门优秀的程序设计语言−C语言是在1973年由美国贝尔实验室开发的。−1983年,ANSI为C语言制定了新的标准,称为ANSIC,并于1989年最终完成。−目前使用较多的版本有ANSIC,BorlandC,TurboC,MicrosoftC/C++,VisualC++等。C语言的发展C语言是结构化程序设计语言功能强大,具有丰富的数据类型及运算符。简洁紧凑,使用方便灵活。C语言具有自我扩充能力C语言具有汇编语言的功能可移植性好C语言的特点程序的概念程序是计算机解决问题所需的一系列指令的集合。著名计算机科学家NikiklausWirth提出了“算法+数据结构=程序”的公式程序就是在数据的某些特定的表示方式和结构的基础上,对抽象算法的具体描述。1.2程序设计的基本方法程序=数据结构+算法+程序设计方法+语言工具数据结构是数据的类型和数据的组织形式。算法是为解决一个问题而采用的方法和有限的步骤。程序设计方法确定语言和编程环境面向过程的程序设计所谓面向过程的程序设计,是指利用面向过程的语言工具(如Pascal、Fortran和C语言等)进行程序开发的各项活动。基本思想:把一个需要求解的复杂问题分为若干个模块来处理,每个模块处理一个子问题;设计时遵循自顶向下、逐步细化、模块化设计和结构化编码的原则。优点:编程简单、结构性强、可读性好;遵循这种结构的程序只有一个入口和一个出口。缺点:存在数据与程序模块的分离和程序的可重用性差等问题。面向对象的程序设计ProgramDesigninCLanguage面向对象的程序设计将一些新的理念和结构化程序设计中好的思想相融合,提供了一种全新的程序设计方法。基本思想将一个需要解决的问题分解为一系列实体(对象),然后围绕这些对象建立数据和函数;函数的功能决定了该对象的行为。规定一个对象的函数可以访问另一对象的函数,但一个对象的数据不能应用于另一对象的函数中。几个基本概念:三类机制:类、对象、属性、事件、方法封装、继承、多态1.3算法及其表示算法的特性−有穷性一个算法的操作步骤应当是有限的;−确定性算法中的每一个步骤应当有确定的意义,不能有二义性;−有效性算法中的每一个步骤应当正确、可行,并且能有效地执行;−有零个或多个输入执行算法时需要从外界获取的信息;−有一个或多个输出执行算法后应当得到正确的结果。算法举例【例1.1】输入三个数,然后输出其中最大的数。(1)输入变量x,y,z的值(2)比较x和y,如果xy,则x送max;否则y送max。(3)比较max与z,如果zmax,则将z送max。(4)输出max,max即为最大数。算法对同一个问题,算法是不唯一的,例如:求和1+2+3+……+100(1)=(…(((1+2)+3)+4)+…+100)(2)=(1+100)×50一个好的算法应该是:正确、易读、效率高。1001i1001i算法的表示方法常用的算法描述方法有:自然语言描述、伪代码、流程图、N-S图、PAD图等。1.自然语言就是用人们日常使用的语言来描述或表示算法的方法。英语和程序设计语言混合使用称为伪代码。Begin{算法开始}inputx,y,zifxythenmax=xelsemax=yifzmaxthenmax=zprintmaxend{算法结束}2.用伪代码表示算法用一些图框和方向线表示算法的图形表示法。特点:直观形象,易于理解,便于检查和交流。常用流程图符号及含义如下:起止框处理框判断框输入或输出框流程线连接点3.用流程图表示算法流程图:【例1.1】对任意给定的三个整数x,y,z,求出其最大值。开始读入x,y,zmaxxmaxzmaxyzmax?输出max结束TFxy?TF读入x,y,zxyFTmaxxmaxyTFzmaxmaxz打印max单元的值例:对任意给定的三个整数x,y,z,求出其最大值。4.用N-S流程图表示算法结构化程序设计C语言是结构化程序设计语言,有三种基本结构。顺序结构选择结构循环结构实践证明,任何复杂的算法都可以用这三种基本结构来描述。程序设计的目标在正确的前提下,其重要性排列次序依次为:可读、可维护、可移植和高效。顺序结构矩形框—用于表示顺序结构。执行时按语句的先后顺序执行。先执行语句A,再执行语句B。ABAB顺序结构的流程图顺序结构的N-S图选择结构(分支结构)根据条件的真或假选择执行不同的操作内容。当条件成立执行语句A,否则执行语句B。条件ABTF条件TFAB选择结构的流程图选择结构的N-S图循环结构(1)当型(while型循环)当条件成立,执行循环体,否则跳出循环体。条件语句块条件语句块TFL形框——用于表示循环结构(2)直到型循环(do-while型循环)首先执行循环体,若条件不成立继续执行循环体,直到条件成立为止。语句块条件语句块条件FT【例1.2】在屏幕上显示一行文字“WelcometoC!”。#includestdio.hvoidmain()/*定义主函数*/{printf(“WelcometoC!\n”);}程序运行结果:WelcometoC!函数(Function)−C程序包含一个或多个函数,其中必须有一个main()−圆括号指示一个函数−{}包含函数体,}表示main函数结束printf(“Welcome”);printf(“toC!\n”);printf(“Welcome\nto\nC!\n”);程序运行结果:WelcometoC!程序运行结果:WelcometoC!注释−/*文本*/或//−不被执行−以提高程序的可读性语句(Statement)−必须以;结尾−格式输出函数printf()。−调用标准函数,显示引号中的内容。#includestdio.hvoidmain(){inta,b,sum;//声明部分,定义变量类型a=123;b=456;//执行部分,赋值语句sum=a+b;//执行部分,赋值语句printf(“sum=%d\n”,sum);//执行部分,输出语句}程序运行结果:sum=579赋初值计算输出①②③④定义变量【例1.3】求两个整数的和函数体−包括变量说明部分−语句执行部分//文件包含预处理命令//将标准输入输出头文件包含到源程序中预编译命令voidmain()主函数{函数体开始声明部分执行部分}函数体结束#includestdio.hvoidmain(){inta,b,c;//定义变量类型printf(“inputtwonumbers:\n”);//提示scanf(“%d,%d”,&a,&b);//输入变量c=max(a,b);//调用求最大值的函数printf(“max=%d\n”,c);}intmax(x,y)intx,y;{intz;if(xy)z=x;elsez=y;return(z);}【例1.4】求两个数中的较大值程序由两个函数组成:−main函数和max函数。运行程序−屏幕显示提示信息;−键盘输入a、b的值;−屏幕显示c的值。inputtwonumbers:123,456↙max=456一个C程序由一个或多个函数组成,其中必须有一个主函数main()。程序执行时总是从主函数开始,main()可以置于程序的任何位置。程序中需有预处理命令(如#includestdio.h),预处理命令通常放在程序的最前面。分号是C语句结束的标志,每个语句和数据定义后必须有一个分号。预处理命令、函数头和花括号“}”之后不能加分号。1.4.2C语言程序基本结构C程序书写灵活,一行可以写几个语句,一个语句可以写在多个程序行上。#includestdio.hvoidmain(){inta,b,sum;a=123;b=456;sum=a+b;printf(“sum=%d\n”,sum);}C语言本身没有输入输出语句,输入输出的操作是由库函数scanf()和printf()等函数完成的。1.4.2C语言程序基本结构C程序严格区分大小写。一般变量、语句等用小写字母书写;符号常量等用大写字母书写。标识符、保留字之间必须至少加一个空格以示分隔。函数C语言的函数有两种:标准库函数和用户定义的函数。−用户自定义函数,可有可无,数目不限。如例1.4中的intmax(intx,inty)−C语言提供的库函数,如输出函数printf()和输入函数scanf()。函数定义:函数头+函数体•函数头:说明函数的类型、名字、参数及参数的类型。intmax(intx,inty)#includestdio.hvoidmain(){inta,b,sum;a=123;b=456;sum=a+b;printf(“sum=%d\n”,sum);}函数体函数头•函数体:由“{}”括起,包括变量声明和执行部分。函数定义1.4.3C语言的字符集、关键字和标识符字符集:C语言允许使用字符的集合字符集的组成:−26个小写字母abcdefghi......z−26个大写字母ABCDEFG......Z−10个数字0~9−其他符号+-*/=,._:;?\”’~|&^!%#()[]{}空格(SPACE)制表符(Tab)C语言的关键字关键字:C语言中预定的具有特定含义的词,也称保留字。共有32个。分四类:−类型说明:int,long,float,…。−语句定义:if…else,while,for…。−存储类:auto,static,…。−长度运算符:sizeof标识符标识符:用来标识变量、符号常量、数组、函数的名字。组成:−只能由英文字母、数字和下划线组成。−第一个字符不能是数字,只能是字母或下划线。−VC6.0中有效长度为1~255个字符。例如:x,m1,average,k123,_1,…5AN,WA-11,alot,$11,π,β,α,…×√注意:标识符严格区分大小写例如:ABC,abc是不同的标识符不能和C语言的关键字、用户定义的函数名以及系统库函数同名。C的“.h”头文件中经常使用以下划线开头的内部变量名,因此用户最好避免使用这类标识符。取名应尽可能见名知意。如:alfa,aver,pi,bata等。例:以下各标识符组中,合法的用户标识符分别为:(1)A)PAdB)scanfC)voidD)4aP#Da10maxtemp(2)A)b-bB)CCPC)hiyD)_iswabcfloatfrINT(3)A)_0123B)del_wordC)listD)keep%ssipedsigned*jerwind√√√分隔符分隔符−分隔符主要有逗号和空格两种。−逗号用于分隔变量或参数,空格用于分隔单词(在关键字和标识符之间必须用空格分隔)。−例如:inta,b,c;max(x,y,z)1.5应用程序的开发过程应用程序开发阶段:分析解决问题的性质、特点、目标以及数据来源及其特征等。需求分析确定解决问题的方法和步骤,建立数学模型和确定相应的求解方法。确定算法确定应用程序结构,设计出每个模块的数据结构和算法,画出流程图等。程序设计根据确定的算法,用计算机语言(如C语言)编写源程序。编
本文标题:C语言课件(精华版)
链接地址:https://www.777doc.com/doc-7152195 .html