您好,欢迎访问三七文档
1第一讲概述教材:C程序设计导论2教材与课件教材:《C程序设计导论》,谭成予、梁意文,武汉大学出版社,2005年。参考书目:《TheCProgrammingLanguage》,B.W.KernighanandD.M.Ritchie,Prentice-Hall,Inc.,1978。课件:武汉大学计算机学院“高级语言程序设计”课程组制作。3第一个问题:什么是程序设计?程序(program)就是指示计算机如何运作的指令集合。程序设计(programming)则是把多条指令有计划地串在一起使计算机完成我们期望的工作,换句话说,程序设计是将人的期望“转化”成一连串的计算机指令,如果转化成功,计算机就会按照我们的期望来运作,感觉就好像成功地对计算机施展了魔法。学习程序设计好处深入了解软件的运作方式、设计出功能更强大的应用软件、加深对计算机的认识。4第二个问题:如何学好程序设计语法学习阶段循序渐进练习写较大的程序学习并提高程序设计技巧软件工程软件工程:运用现代科学技术知识来设计并构造计算机程序,以及为开发、运行和维护这些程序所必须的相关文档资料。5现在有哪些程序设计语言?第一代语言—机器语言计算机发明之初,人们只能用计算机的语言去命令计算机工作,就是写出一串串由“0”和“1”这样的二进制数组成的指令序列交由计算机执行,这种语言就是机器语言。使用机器语言是十分痛苦的,尤其是在程序有错需要修改时。而且,由于每台计算机的指令系统往往各不相同,所以移植性很差。但由于使用的是针对特定型号计算机的语言,故而运算效率是所有语言中最高的。第二代语言—汇编语言为了减轻使用机器语言编程的痛苦,人们进行了有益的改进:用一些简洁的英文字母、符号串来替代一个特定的指令,比如,用“ADD”代表加法,“MOV”代表数据传递等等,这种程序设计语言就称为汇编语言。然而计算机是不认识这些符号的,这就需要一个专门的程序,负责将这些符号翻译成二进制数的机器语言,这种翻译程序被称为汇编程序。6现在有哪些程序设计语言?第三代语言—高级语言高级语言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的程序能在所有机器上通用。FORTRAN(FormulaTranslation,1956年)LISP(ListProcessingLanguage,1958年)COBOL(CommonBusinessOrientedLanguage,1959年)BASIC(Beginner’sallPurposeSymbolicInstructionCode,1964年)PASCAL(以法国数学家命名,1970年)PROLOG(ProgramminginLogic,1972年)C(1972年)第四代语言非过程化,面向应用,面向对象语言及可视化编程环境,如Visual系列(VC++、VB等)、PowerBuilder、Delphi、Java等。7本课程定位大家要学习的与程序设计有关的课程有:高级语言程序设计、面向对象程序设计等。本课程以高级语言中的C语言为主介绍如何使用第三代语言——高级语言进行程序设计,要求同学们不仅学习好具体的语法规范,更重要的是掌握结构化程序设计的方法。本课程是同学们接触到的第一门程序设计的课程,不仅是程序设计的入门课程,而且是学习后续程序设计(如面向对象程序设计)等其他计算机专业课程的基础和前导课程。8本讲重点了解C语言的历史、背景熟悉简单的C程序的构成Windows和UNIX环境下编辑、编译和运行C程序的方法91.1C语言的发展历史和特点C语言的出现的历史背景(不宜编写系统程序,1960年)ALGOLBCPL(对CPL的简化,M.Richard,剑桥大学,1967年)B(编写了UNIX操作系统,K.Thompson,贝尔实验室1970年)CPL(规模较大,难以实现,剑桥大学和伦敦大学,1963年)C(描述和实现UNIX操作系统,D.M.Ritchie,贝尔实验室,1972年)10经典C《TheCProgrammingLanguage》1978年,B.W.Kernighan、D.M.Ritchie合著1988年进行修订使之符合ANSIC标准。ANSIC1983年,由ANSI(AmericanNationalStandardsInstitute)制订C语言标准。标准C1990年,ISO(InternationalStandardOrganization)通过C程序设计语言的国际标准,以ANSIC为基础制订。11C语言的特点1.语言简洁、紧凑,使用方便:32个关键字,9种控制语句。2.运算符丰富:共有34个运算符。3.数据结构丰富:整型,实型,字符,数组,指针,结构体等。4.具有结构化的控制语句:代码及数据的分割,函数的调用,控制程序流向的循环与条件语句。5.语法限制不太严格,程序设计自由度大。6.允许直接访问物理地址,能进行位操作,可以直接操作硬件。7.生成目标代码质量高,程序执行效率高:一般只比汇编程序生成的目标代码效率低10へ20%。8.程序可移植性好:适合于多种操作系统,多种机型。121.2C程序组成学好一种计算机语言的最好方法是用它编写程序!例1.1一个经典的例子。#includestdio.hvoidmain(void){printf(“Hello!World!\n”);}将上述程序输入计算机,进行编译、连接、运行后在屏幕上输出:Hello!World!函数首部,函数名称main(),即主函数圆括号内定义函数参数,void表示没有参数函数类型(返回结果),void表示没有返回值131.2C程序组成例1.2计算两个整数的和#includestdio.hintmain(){inta,b,sum;a=45;b=70;sum=a+b;printf(“sum=%d\n”,sum);return(0);}该程序运行结果为sum=115文件包含行,表示程序中用到了stdio.h文件中定义的常量或宏函数体,包括数据说明和执行语句两个部分“}”表示函数体结束“{”表示函数体开始14例1.3输出两个整数中大的数据。#includestdio.hvoidmain(void){intmax(int,int);inta,b,c;scanf(“%d,%d”,&a,&b);c=max(a,b);printf(“max=%d”,c);}intmax(intx,inty){intz;if(xy)z=x;elsez=y;return(z);}运行结果:21,45↙max=45函数原型。由于函数max在主函数之后定义,所以在主函数前要给出max函数的使用说明即函数原型。主函数没有返回值,所以类型是void调用函数max,计算变量a和b的最大值,并将结果赋给变量c函数max首行,其中定义int类型的形式参数x和y。该函数返回结果为int类型将变量z的值返回给main函数151.2C程序组成例1.4求数组元素的和。#includestdio.hvoidmain(void){inti,a[5]={4,5,6,7,8},sum=0;for(i=0;i5;i++)sum=sum+a[i];printf(“sum=%d\n”,sum);}本程序运行结果如下:sum=30定义一维数组a,由5个元素组成循环语句,重复执行5次16C程序的一般组成形式预处理命令返回值类型main(参数说明)/*主函数说明*/{变量定义/*主函数体*/执行语句组}返回值类型子函数名1(参数说明)/*子函数说明*/{变量定义/*子函数体*/执行语句组}……返回值类型子函数名N(参数说明)/*子函数说明*/{变量定义/*子函数体*/执行语句组}17函数是C程序的主要组成部分一个C程序必须有且仅有一个主函数,名称为main。无论main函数出现在代码的任何位置,C程序总是从main函数开始执行。main函数中可以调用C语言提供的库函数或用户自定义的其他函数。各函数是并列关系。C语言中的函数由函数头和函数体组成函数头包括函数类型、函数名、函数参数和参数类型说明等部分。函数体:函数头下面的由一对花括号括起来的部分。通常包括数据说明部分和语句部分。数据说明部分:定义函数内部将要使用的变量。语句部分:规定函数要执行的动作。根据需要可以在程序中增加注释注释由“/*”开头,以“*/”结尾。可以分多行书写,也可以在程序中任意位置出现。注释只是为了增强程序的可读性,并不执行。语句以分号结尾书写格式自由,一行内可以写一个语句,也可以写多个语句。C程序的基本组成18C程序上机步骤1.3C程序的编辑、编译和运行编辑源程序对源程序进行编译↓与库函数连接↓运行目标代码↓结果结果不正确编译不正确19源程序:在编辑方式下建立起来的程序文件称为源程序文件,简称源文件。相应程序称为源程序。编译:将高级语言源程序转换成机器语言程序的过程称为编译,而完成这种转换过程的系统软件称为编译程序。目标代码:经编译的生成的目标程序文件称为目标文件;由于程序中用到库函数或其他函数,需要把分离的目标程序连接成完整的可执行程序,这种计算机能识别的二进制代码称为目标代码,对应文件称为可执行文件。1在UNIX/Linux中建立和运行C程序登录进入UNIX/Linux系统在系统提示符(通常为$)下使用vi命令编辑源程序,以扩展名“.c”保存文件,如f.c。在shell提示符下输入编译命令,一般为$ccf.c生成的可执行文件为默认的文件名a.out,如果希望指定生成的可执行文件名,可使用以下命令格式:$ccf.c-of.out20运行程序,在系统提示符下直接输入可执行文件名,如:$f.out2在TurboC环境下建立和运行C程序TC是窗口菜单程序,由三类系统文件组成(假定TC的工作目录为c:\tc):扩展名为.h的系统头文件,存放在c:\tc\include目录下。扩展名为.lib或.obj的库文件,存放在c:\tc\lib目录下。扩展名为.exe的可执行文件,其中tc.exe为TC的可执行程序。启动TC:在DOS提示符下,输入TC,如:C:\TCTCTurboC开始运行后,出现下图所示的主菜单窗口2122VisualC++6.0集成环境1.启动VisualC++6.0环境2.编辑源程序文件3.编译和连接4.执行利用VisualC++6.0集成环境开发C程序的过程如下:23VisualC++6.0集成环境1.启动VisualC++6.0环境方法:单击“开始”-“程序”-“MicrosoftVisualstudio6.0”-“MicrosoftVisualC++6.0”命令,启动VisualC++,VC6主窗口如下:菜单栏项目工作区标题栏输出区工具栏状态栏文件编辑区返回24VisualC++6.0集成环境2.编辑源程序文件(1)建立新工程项目①单击“文件”-“新建”,弹出“新建”对话框。②单击“工程”选项卡;单击“Win32ConsoleApplication”选项;“工程”对话框中输入项目名,如“gc1”;“位置”框输入或选择新项目所在位置,单击“确定”按钮。弹出“Win32ConsoleApplicationStep1of1”对话框。③单击“Anemptyproject”按钮和“完成”按钮。系统显示“新建工程信息”对话框。单击“确定”按钮。单击“工程”单击“Win32ConsoleApplication”输入项目名选择新项目位置单击“确定”单击该选项单击“完成”单击“确定”25VisualC++6.0集成环境2.编辑源程序文件(2)建立新项目中的文件①单击“文件”-“新建”,弹出“新建”对话框。②选择“文件”选项卡。单击“C++SourceFile”选项,在“文件”对话框中输入文件名,单击“确定”按钮。系统自动返回VC6主窗口。③显示文件编辑区窗口,在文件编辑区窗口输入源程序文件。单击“文件”输入文件名单击“C++Sourcefile”单击“确定”选择“添加工程”输入源程序26VisualC++6.0集
本文标题:c语言课件1
链接地址:https://www.777doc.com/doc-7028792 .html