《第1章_C程序设计基础课件.ppt》由会员分享,可在线阅读,更多相关《第1章_C程序设计基础课件.ppt(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第一章第一章 C C语言程序设计基础语言程序设计基础 1本章要求:本章要求:了解了解C语言的特点、与其它高级语言间异同;语言的特点、与其它高级语言间异同;了解了解C程序在程序在PC机上的建立、编译和运行过程;机上的建立、编译和运行过程;了解了解C语言程序设计思想;语言程序设计思想;重点:重点:C语言的主要特点;语言的主要特点;C语言在语言在PC机上的运行过程及上机操作过程;机上的运行过程及上机操作过程;常用算法的应用常用算法的应用20.0.回顾下计算机相关知识回顾下计算机相关知识.计算机定义:计算机是一种在事先存入程序的控制下,能够接收数据、存储数据、处理数据并提供处理结果的数字化电子设备。输
2、入数据输出结果2.计算机工作流程图输入输入处理处理存储存储输出输出数据数据3 3.计算机内所有的信息(多媒体信息)采用二进制代码表示,称为机器数。机器数有三种不同的编码形式:原码、反码和补码。4.采用二进制的原因:1)二进制只含有两个数字0和1,因此可用大量存在两种不同稳定状态的元件来表示。2)二进制数的运算规则简单,使得计算机中的运算部件的结构变得比较简单。4 5.计算机中信息的表示数值直接转换为二进制字符采用ASCII编码(7位、美国标准信息交换码)(见附录A)其它信息(汉字、图形、图象、声音、表格)也有相应的编码标准和规则。5 计算机系统计算机系统软件系统软件系统硬件系统硬件系统系统软件
3、(操作系统、编译程序、测试程序等)系统软件(操作系统、编译程序、测试程序等)如如DOS、WINDOWS等等应用软件应用软件(WORD、EXCEL等)等)CPU控制器控制器运算器运算器输入设备(鼠标、键盘、手写笔、输入设备(鼠标、键盘、手写笔、MIC等)等)输出设备(显示器、绘图仪、打印机等)输出设备(显示器、绘图仪、打印机等)存储器存储器 内存储器(内存储器(ROM、RAM)外存储器(软盘、硬盘、光盘)外存储器(软盘、硬盘、光盘)6.计算机系统的组成6 程序设计语言发展7 程序执行81.1.1 C语言的发展(语言的发展(P3)C语言是在研制UNIX操作系统过程中诞生,伴随着UNIX操作系统的发
4、展而流行ALGOL 60 B语语言言 C语语言言(UNIX)ANSI C(1983)目前最流行的语言有以下几种:目前最流行的语言有以下几种:MicrosoftC或称或称MSCBorlandTurboC或称或称TurboCAT&TCTurboC2.01989年年TurboC+(3.0)1991年年(本教材选用)(本教材选用)1.1 C语言的发展及其特点和应用语言的发展及其特点和应用91.1.2 C语言主要特点:(P3)1、C语言简洁、紧凑,使用方便、灵活。ANSI C一共只有32个关键字,9种控制语句,主要用小写字母表示。(见附录B)2、运算符丰富。共有34种。C把括号、赋值、逗号等都作为运算符
5、处理。(见附录C)3、数据结构类型丰富。4、C语言是一种结构化、模块化的程序设计语言。其程序由函数组成,便于模块化的程序设计,程序结构完全由顺序结构、选择结构和循环结构组成。101.1.2 C语言主要特点:5、语法限制不太严格,程序设计自由度大。一行可以写多个语句,变量类型使用灵活。6、C语言既具有高级语言的功能,又具有汇编语言的许多功能。7、生成目标代码质量高,程序执行效率高,与汇编语言相比,用C语言写的程序可移植性好。111.2 C语言程序的基本结构语言程序的基本结构1.简单的C程序(P4)例1.1输出指定字符串。#includevoid main()printf(Hello,this i
6、s a c programming language.n);/*输出C程序语言字符串*/程序运行结果:Hello,this is a c programming language.函数首部函数体开始标志C语句函数体结束标志12程序分析程序分析1)C程序一般用小写字母书写;2)每个C源程序有且只能一个main()函数,称主函数;main前的void表示此函数是“空类型”。3)程序体必须在一对 之间;4)每个语句的结尾,必须要有“;”作为终止符。5)/*/表示注释部分,注释内容可用汉字或英文字符表示。6)函数调用语句,printf函数的功能是把要输出的内容送到显示器去显示.7)printf函数是一
7、个由系统定义的标准函数库中的输出函数,可在程序中直接调用。printf语句中双撇号中的字符串按原样输出。“n”是换行符即回车换行。8)“#include”为预编译命令也称为文件包含命令,常在“main”主函数之前,用于将有关的“头文件”包括到用户源文件中。被包含的文件通常是由系统提供的,其扩展名为.h。“stdio.h”为标准输入输出库文件,其内定义了printf函数的原型。13例1.2 计算指定函数关系式。(P5)程序运行结果:input number:92*sqrt(9.000000)+1=7.000000#include#includevoid main()float x,y;/*定义两
8、实型变量*/printf(input number:n);scanf(%f,&x);/*输入数字*/y=2*sqrt(x)+1;/*计算指定函数关系式的结果*/printf(2*sqrt(%f)+1=%fn,x,y);/按制定格式输出14 程序的功能是输入一个实数x,求2倍开方x加1关系式的值,然后输出结果1)凡是在程序中调用一个库函数时,都必须用预处理命令调用该函数原型所在的头文件。本例中使用了数学函数sqrt()在其头文件为math.h文件。2)/*/注释语句可出现在一行中的最右侧,也可独成为一行。3)注释也可以用“/”符号标识注释内容,这种注释只在一行有效,在执行语句的前面和中间不能使用
9、这种注释。4)运行本程序时,首先在显示器屏幕上给出提示串input number,这是由执行部分的第一行完成的。用户在提示下从键盘上键入某一数,如9,按回车键(enter),接着在屏幕上给出计算结果。程序分析:15格式输入格式输出函数简介 scanf和 printf一般形式为:printf或scanf(格式控制,参数表)格式控制是一个字符串,必须用双引号括起来,它表示了输入输出量的数据类型。各种类型的格式表示法可参阅后续章节。在printf函数中还可以在格式控制内出现非格式控制字符,这时在显示屏幕上将按原样输出。参数表中给出了输入或输出的量。当有多个量时,用逗号间隔。例如:printf(2*s
10、qrt(%f)+1=%fn,x,y);其中%f为格式字符,表示按实数处理。它在格式串中两次现,分别对应了x和y两个变量。其余字符为非格式字符则按原样输出在屏幕上。16程序运行结果:程序运行结果:input two numbers:a,binput two numbers:a,b5,95,9max=9max=9例1.3求两个数的最大值。(P6)#includeint max(int x,int y)/*定定义义max函数函数*/int m;if(xy)m=x;elsem=y;return m;/*把把结结果返回主果返回主调调函数函数*/void main()/*主函数入口,程序主函数入口,程序执
11、执行起点行起点*/int a,b,c;/*变变量量说说明明*/int max(int a,int b);/*函数函数说说明明*/printf(input two numbers:a,bn);scanf(%d,%d,&a,&b);/*输输入入a,b的的值值*/c=max(a,b);/*调调用用max函数函数*/printf(max=%dn,c);/*输输出两数的最大出两数的最大值值*/被调用的子函数主函数17程序分析:程序的功能是由用户输入两个整数,程序执行后输出其中较大的数。本程序由两个函数组成,主函数和max 函数。函数之间是并列关系。可从主函数中调用其它函数。max 函数的功能是比较两个数
12、的大小,然后把较大的数返回给主函数。max函数是一个用户自定义函数,其返回值类型是整型。上例中程序的执行过程是,首先执行main函数,然后调用max函数,把a,b中的较大者给主函数的变量c,最后在屏幕上输出c的值。182.C2.C程序结构特点程序结构特点(P7)(P7)通过上述例子,可以对源程序的结构特点归纳如下1)一个语言源程序可以由一个或多个源文件组成。2)每个源文件可由一个或多个函数组成。(main主函数、系统提供printf、scanf函数、用户定义max函数)3)一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。程序总是从main()处开始执行,而不管mai
13、n()在源文件中的位置。4)源程序中可以有预处理命令(include 命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面。195)每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“”之后不能加分号。6)C语言用函数进行输入输出,如printf(),scanf()。7)C语言用/*/或/作注释。注释部分便于阅读程序的人理解程序员的设计意图,这是一个良好的习惯。8)C程序书写格式自由,一个语句可以占多行,一行也可以有多个语句。203.3.书写书写C C程序时应遵循的规则程序时应遵循的规则(P7)(P7)从书写清晰,便于阅读,理解,维护的角度出发,在书写程序时应遵循
14、以下的规则:1)一个说明或一个语句单独占一行。2)用 括起来的部分,通常表示了程序的某一层次结构。一般与该结构语句的第一个字母对齐,并单独占一行。3)低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来层次清晰、结构明了,增加程序的可读性。214.4.语言的字符集语言的字符集 字符是组成语言的最基本的元素。语言字符集由字母,数字,空格,标点和特殊字符组成。在字符常量,字符串常量和注释中还可以使用汉字或其它可表示的图形符号。1)字母小写字母az共26个,大写字母AZ共26个,2)数字09共10个 3)空白符空格符、制表符、换行符等统称为空白符。空白符只在字符常量和字符串常量中
15、起作用。在其它地方出现时,只起间隔作用,编译程序对它们忽略不计。4)标点和特殊字符22 人机能够对话,是因为计算机可以执行程人机能够对话,是因为计算机可以执行程序序程序是什么?人机进行对话所使用的语言,就是人机进行对话所使用的语言,就是程序设计语言程序设计语言计算机中,可以连续执行的一条条指令的集计算机中,可以连续执行的一条条指令的集计算机中,可以连续执行的一条条指令的集计算机中,可以连续执行的一条条指令的集合就是合就是合就是合就是程序程序程序程序。1.3 算法表示方法算法表示方法(P7)23 1.基本概念基本概念-关于程关于程序设计序设计 用程序设计语言来描述问题的求解过程,以及用程序设计语
16、言来描述问题的求解过程,以及对其中参与运算的数据进行合理地组织和安排,就对其中参与运算的数据进行合理地组织和安排,就叫做叫做程序设计程序设计程序设计程序设计。基本步骤分析问题确定算法编写程序运行调试总结过程24关于算法好的算法有穷性确定性可行性有输出算法的分类:数值运算算法:求数值解非数值运算算法:用于事务管理算法算法算法算法是针对提出的可行方案确定解决问题、完成任务的每一个细节步骤。参见P9 算法的特性参见P8 算法的概念25 1、累乘、累乘 即:即:12345100 12 x(结果)(结果)x3 x(结果)(结果)x4 x(结果)(结果)x100 x(结果)(结果)常用算法(常用算法(p8
17、)x=1,i=2x*ix i+1 ix=x*i(x=1,i=2)26常用算法常用算法2、累加、累加 即:即:1+2+3+4+5+100 1+2 x(结果)(结果)x+3 x(结果)(结果)x+4 x(结果)(结果)x+100 x(结果)(结果)x=1,i=2x+ix i+1 ix=x+i(x=1,i=2)27 常用算法常用算法3、找最大值、找最大值 5,2,4,12,9 5 max (max 放最大值,后面的数都和它比较放最大值,后面的数都和它比较)2 max 不成立不成立 4 max 不成立不成立 12 max 成立:成立:12 max 9 max 不成立不成立注:该算法可扩展为在一批数据中
18、,找某一个数注:该算法可扩展为在一批数据中,找某一个数282.常用算法的表示方法(P9)算法的表示方法有很多种,常用的有:自然语言描述、伪代码、流程图、NS图等。在这里重点介绍流程图和NS图。用流程图表示算法 一个流程图包括:表示相应操作的框,带箭头的流程线,框内外必要的文字说明。几何图形框的含义如下图所示。起止框起止框输入输出框输入输出框判断框判断框处理框处理框流程线流程线连接点连接点29算法的表示方法算法的表示方法(P10)程序设计中的三种基本结构:程序设计中的三种基本结构:程序设计中的三种基本结构:程序设计中的三种基本结构:w w顺序结构顺序结构顺序结构顺序结构自顶向下,无分支,无转移w
19、 w选择结构选择结构选择结构选择结构有分支,需条件判断w w循环结构循环结构循环结构循环结构有转移,某些语句可重复执行当型循环直到型循环30算法的表示方法算法的表示方法(a)流程图 表示法(b)N-S图 表示法顺序结构31算法的表示方法算法的表示方法选择结构(a)流程图 表示法(b)N-S图 表示法32算法的表示方法算法的表示方法当条件判断表达式为真当条件判断表达式为真 循环体语句循环体语句判断表达式判断表达式循环体语句循环体语句真假循环体语句循环体语句直到判断表达式为假直到判断表达式为假循环体语句循环体语句判断表达式判断表达式假真循环结构比较当型循环直到型循环33例1.6用流程图表示累加的算
20、法一个流程图,包括以下几部分:表示相应操作的框;带箭头的流程线;框内外必要的文字说明;注意,画流程线时,不要忘记画箭头,因为它是反应流程的执行先后次序的,如不画出箭头就很难判断各框的执行次序了。34用计算机语言表示算法 例1.7用C语言改写累加算法#includevoid main()int i,x;i=2;x=1;while(itc 38 在在在在WindowsWindows环境下环境下环境下环境下 找到可执行文件tc.exe,执行该文件。主菜单:主菜单:1111个菜单项个菜单项:File Edit Search Run Compile Debug Project File Edit Sea
21、rch Run Compile Debug Project Options Window Help Options Window Help39Turbo C+3.0集成开发环境 关闭按钮关闭按钮窗口名称窗口名称最大化最大化/还原按钮还原按钮光标所在行号光标所在行号光标所在列号光标所在列号水平滚动条水平滚动条编辑窗口编辑窗口垂垂直直滚滚动动条条信息窗口信息窗口40(2)(2)编辑源文件编辑源文件编辑源文件编辑源文件新建:新建:新建:新建:单击单击单击单击“File”“File”菜单下菜单下菜单下菜单下 的的的的“New”,“New”,修改:修改:选择选择“File”“Open”(“File”“O
22、pen”(即单击即单击“File”“File”的下拉菜单中的下拉菜单中的的“Open”“Open”项,修改已有的源程序。项,修改已有的源程序。41在编辑(EDIT)状态下光标表示当前进行编辑的位置,在此位置可以进行插入、删除或修改,直到自已满意为止。42保存:在编辑(EDIT)状态下光标表示当前进行编辑的位置,在此位置可以进行插入、删除或修改,直到自已满意为止。43(3)对源程序进行编译对源程序进行编译选择“Compile”(或“Alt+F9”)对源程序进行编译。c1.cpp源程序,出现1个错误(error),0个警告(warming)。44(4)将目标程序进行连接将目标程序进行连接 选择菜单
23、“Compile”“Link”,如果不出现错误,会得到一个后缀为.exe的可执行文件。(5)执行程序执行程序。选菜单“Run”“Run”(或按“Ctrl+F9”键)。(6)退出Turbo C+3.0环境 选择“File”“Quit”。45小小 节节C C语言程序是由一系列函数组成的模块结构。语言程序是由一系列函数组成的模块结构。C C语言程序的书写格式自由、有较大的灵活性,语言程序的书写格式自由、有较大的灵活性,但一般应采用一定的格式书写,养成良好的编程但一般应采用一定的格式书写,养成良好的编程风格。风格。C C语言是一种编译型的高级程序设计语言语言是一种编译型的高级程序设计语言,其开发其开发
24、过程包括过程包括:编辑、编译、连接、运行四个步骤。具编辑、编译、连接、运行四个步骤。具体操作应参阅操作系统支撑环境的有关资料。体操作应参阅操作系统支撑环境的有关资料。46作业P15-17 一、填空题 二、选择题47选择题选择题1.1一个一个C程序的执行是从程序的执行是从_。(A)本程序的本程序的main函数开始,到函数开始,到main函数结束。函数结束。(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。(C)本程序的本程序的main函数开始,到本程序文件的最后一个函数结束。函数开始,到本程序文件的最后一个函数结束。(D
25、)本程序文件的第一个函数开始,到本程序本程序文件的第一个函数开始,到本程序main函数结束。函数结束。1.2以下叙述不正确的是以下叙述不正确的是_。(A)一个一个C源程序可由一个或多个函数组成。源程序可由一个或多个函数组成。(B)一个一个C源程序必须包含一个源程序必须包含一个main函数。函数。(C)程序的基本组成单位是函数。程序的基本组成单位是函数。(D)在在C程序中,注释说明只能位于一条语句的后面。程序中,注释说明只能位于一条语句的后面。AD481.3C语言规定:在一个源程序中,语言规定:在一个源程序中,main函数的位置函数的位置_。(A)必须在最开始必须在最开始(B)必须在系统调用的库
26、函数的后面必须在系统调用的库函数的后面(C)可以任意可以任意(D)必须在最后必须在最后1.4一个一个C语言程序是由语言程序是由_。(A)一个主程序和若干子程序组成一个主程序和若干子程序组成(B)函数组成函数组成(C)若干过程组成若干过程组成(D)若干子程序组成若干子程序组成填空题填空题1.5C源程序的基本单位是源程序的基本单位是_。1.6一个一个C源程序中至少应包括一个源程序中至少应包括一个_。1.7在一个在一个C源程序中,注释部分两侧的分界符分别为源程序中,注释部分两侧的分界符分别为_和和_。CB函数函数main函数函数/*/49C语言运行环境Turbo C2.0版本编译系统启动的命令如下:
27、进入开机画面第二项win98在win98下四个选项中进入real dos项C:tc 回车退出该系统时,先选择主菜单File,再在其下拉菜单中选择Quit子菜单项,或直接按下【Alt+X】键,便可退出该系统。50常用命令有:常用命令有:“Ins”键用来设置“插入”或“修改”方式。在“插入”方式下,从键盘上键入的字符被插入在当前光标之前;在“修改”方式下,从键盘上键入的字符将替代当前光标处的字符。“Del”键用来删除光标所在的字符。使用光标键可以上下左右移动光标。使用“Ctrl+N”组合件可在当前光标所在行上插入一空行。使用“Ctrl+Y”组合键可删除当前光标所在行。使用退格键可删除当前光标前一个字符。51基本操作:基本操作:F10-调用主菜单 F2-存盘 F3-打开Alt+F9-Compile Ctrl+F9-RunAlt+F5-User ScreenNew编辑新文件Load装入已有文件Save重新存储文件Write to按指定名字存储文件Change dir指定目录下的文件名Pick显最近编辑过的若干个文件名Directory显示当前目录下指定扩展名的所有文件OS shell进入DOS系统,出现DOS系统提示符,可直接执行DOS命令。键入Exit命令返回原来的编译系统状态Quit退出该编译系统,返回到DOS操作系统状态52