教案资料.ppt

大学C语言程序设计实用教程-唐新国-课件PPT

收藏

资源目录
跳过导航链接。
大学C语言程序设计实用教程-唐新国-课件PPT.zip
C语言程序设计实用教程-唐新国-PPT演示文稿
教案资料.ppt---(点击预览)
C语言程序设计实用教程-唐新国-PPT课件文件
文稿ppt_ppt.txt---(点击预览)
文稿ppt_ppt.jpg---(点击预览)
文稿ppt.ppt---(点击预览)
C语言程序设计实用教程-唐新国-大学教学资料
(课件资料)《C语言程序设计实用教程》-唐新国-电子教案
压缩包内文档预览:(预览前20页/共30页)
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:21836474    类型:共享资源    大小:12.16MB    格式:ZIP    上传时间:2019-09-06 上传人:QQ24****1780 IP属地:浙江
25
积分
关 键 词:
大学 语言程序设计 实用教程 唐新国 课件 ppt
资源描述:
大学C语言程序设计实用教程-唐新国-课件PPT,大学,语言程序设计,实用教程,唐新国,课件,ppt
内容简介:
2019/9/8,1,第1章 C语言概论,本章学习目标 本章简要介绍C语言的起源与发展,阐述C语言的特点,说明C语言的结构组成和上机过程,重点了解C语言的函数构成和源程序的执行过程。通过本章的学习,读者应掌握以下内容: C语言基本结构 C语言程序执行,2019/9/8,2,1.1 C语言概述,.1.1 C语言的起源与发展 ALGOL60CPLBCPCBC标准CANSI CISO C。 ALGOL60:一种面向问题的高级语言。ALGOL60离硬件较远,不适合编写系统程序。 CPL(Combined Programming Language,组合编程语言):CPL是一种在ALGOL60基础上更接近硬件的语言。CPL规模大,实现困难。 BCPL(Basic Combined Programming Language,基本的组合编程语言):BCPL是对CPL进行简化后的一种语言。,2019/9/8,3,B语言:是对BCPL进一步简化所得到的一种很简单接近硬件的语言。B语言取BCPL语言的第一个字母。B语言精练、接近硬件,但过于简单,数据无类型。B语言诞生后,UNIX开始用B语言改写。 C语言:是在B语言基础上增加数据类型而设计出的一种语言。C语言取BCPL的第二个字母。C语言诞生后,UNIX很快用C语言改写,并被移植到其他计算机系统。C语言是在20世纪70年代初问世的。1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Ritchit合著了著名的THE C PROGRAMMING LANGUAGE一书。后来由美国国家标准学会在此基础上制定了一个C语言标准,于1983年发表,通常称之为ANSI C。,2019/9/8,4,早期的C语言主要是用于UNIX系统。由于C语言的强大功能和各方面的优点逐渐为人们认识,到了20世纪80年代,C开始进入其他操作系统,并很快在各类大、中、小和微型计算机上得到广泛使用,成为当代最优秀的程序设计语言之一。 目前最流行的C语言有以下几种: (1)Microsoft C或称MS C。 (2)Borland Turbo C或称Turbo C。 (3)AT&T C。 这些C语言版本不仅实现了ANSI C标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。,2019/9/8,5,1.1.2 C语言的特点 C语言发展如此迅速,而且成为最受欢迎的语言之一,主要因为它具有强大的功能。归纳起来C语言具有下列特点: 1C是中级语言 它把高级语言的基本结构和语句与低级语言的实用性结合起来。C语言可以像汇编语言一样对位、字节和地址进行操作,它也可以直接访问内存的物理地址,进行位(bit)一级的操作,还实现了对硬件的编程操作,因此C语言既可用于系统软件的开发,也适合于应用软件的开发。,2019/9/8,6,2C是结构式语言 C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。按模块化方式组织程序,层次清晰,易于调试和维护。C语言的表现能力和处理能力极强。 3C语言功能齐全 C语言具有丰富的运算符和数据类型,便于实现各类复杂的数据结构,并引入了指针概念,可使程序效率更高。另外C语言也具有强大的图形功能,支持多种显示器和驱动器。而且计算功能、逻辑判断功能也比较强大,可以实现决策目的。,2019/9/8,7,4C语言适用范围大 C语言还有一个突出的优点就是适合于多种操作系统,如DOS、UNIX,也适用于多种机型,广泛地移植到了各类各型计算机上,从而形成了多种版本的C语言。 总之,C语言简洁、紧凑、实用、方便、移植性好、执行效率高、处理能力强、结构化程度高,但对编程人员要求较高,较难掌握,不够安全。,2019/9/8,8,1.2 C语言源程序的基本结构,1.2.1 相关知识 C语言是由函数组成,一个C语言程序必须包含一个且仅有一个main函数,该函数是程序的入口,由main函数开始调用其他函数,其他函数也可相互调用,但最终返回主函数结束程序。 1.2.2 程序范例 为了说明C语言源程序结构的特点,先看以下几个程序。这几个程序由简到难,体现了C语言源程序在组成结构上的特点。虽然有关内容还未介绍,但可从这些例子中了解到组成一个C源程序的基本部分,2019/9/8,9,1范例一 任务:显示指定的内容。 程序1-1: main() printf(“ This is the first program n“); 程序说明:main是主函数的函数名,表示这是一个主函数。每一个C源程序都必须有且只能有一个主函数(main函数)。函数调用语句,printf函数的功能是把要输出的内容送到显示器显示。printf函数是一个由系统定义的标准函数,可在程序中直接调用。,2019/9/8,10,2范例二 任务:求输入数的正弦值。 程序1-2: #include /*include称为文件包含命令,扩展名为.h的文件也称为头文件*/ #include main() /*定义主函数*/ /*主函数开始*/ double x, s; /*定义两个实数变量,以,2019/9/8,11,被后面程序使用*/ printf ( “input number:n“ ); /*显示提示信息*/ scanf ( “%lf“, /*显示程序运算结果*/ /*主函数结束*/,2019/9/8,12,程序说明: (1)在main()之前的两行称为预处理命令(详见后面)。预处理命令还有其他几种,这里的include 称为文件包含命令,其意义是把尖括号或引号“内指定的文件包含到本程序来,成为本程序的一部分。被包含的文件通常是由系统提供的,其扩展名为.h。因此也称为头文件或首部文件。C语言的头文件中包括了各个标准库函数的函数原型。因此,凡是在程序中调用一个库函数时,都必须包含该函数原型所在的头文件。在本例中,使用了三个库函数:输入函数scanf,正弦函数sin,输出函数printf。sin函数是数学函数,其头文件为math.h文件,因此在程序的主函数前用include命令包含了math.h。scanf和printf,2019/9/8,13,是标准输入输出函数,其头文件为stdio.h,在主函数前也用include命令包含了stdio.h文件。需要说明的是,C语言规定对scanf和printf这两个函数可以省去对其头文件的包含命令。所以在本例中可以删去第二行的包含命令#include。同样,在例1-1中使用了printf函数,省略了包含命令。,2019/9/8,14,2)在例题的主函数体中又分为两部分,一部分为说明部分,另一部分为执行部分。说明是指变量的类型说明。例题中未使用任何变量,因此无说明部分。C语言规定,源程序中所有用到的变量都必须先说明,后使用,否则将会出错。说明部分是C源程序结构中很重要的组成部分。本例中使用了两个变量x,s,用来表示输入的自变量和sin函数值。由于sin函数要求这两个量必须是双精度浮点型,故用类型说明符double来说明这两个变量。说明部分的后四行为执行部分或称为执行语句部分,用以完成程序的功能。执行部分的第一行是输出语句,调用printf函数在显示器上输出提示字符串,请操作人员输入自变量x的值。第二行为输,2019/9/8,15,入语句,调用scanf函数,接受键盘上输入的数并存入变量x中。第三行是调用sin函数并把函数值送到变量s中。第四行是用printf 函数输出变量s的值,即x的正弦值。程序结束。 (3)printf(“sine of %lf is %lfn“,x,s);其中%lf为格式字符,表示按双精度浮点数处理。它在格式串中出现两次,对应x和s两个变量。其余字符为非格式字符,则照原样输出在屏幕上。 1.2.3 知识归纳,2019/9/8,16,1C语言源程序的一般形式 通过以上以上两范例程序,可以得出 C语言源程序的一般形式为: 包含文件 子函数类型说明 全程变量定义 main() 局部变量定义 ,2019/9/8,17,sub1() 局部变量定义 局部变量定义 . subn() ,2019/9/8,18,局部变量定义 其中sub1(),subn()代表用户定义的子函数,程序体指Turbo C 2.0 提供的任何库函数调用语句、控制流程语句或其他用户子函数调用语句、表达式语句等。,2019/9/8,19,2结构特点 一个完整的C程序应符合以下几点: (1)C程序是以函数为基本单位,整个程序由函数组成。一个较完整的程序大致由包含文件(一组#include语句)、用户函数说明部分、全程变量定义、主函数和若干子函数组成。在主函数和子函数中又包括局部变量定义、程序体等,其中主函数是一个特殊的函数,一个完整的C程序至少要有一个且仅有一个主函数,它是程序启动时的惟一入口。除主函数外,C程序还可包含若干其他C标准库函数和用户自定义的函数。这种函数结构的特点使C语言便于实现模块化的程序结构。,2019/9/8,20,(2)函数是由函数说明和函数体两部分组成。函数说明部分包括对函数名、函数类型、形式参数等的定义和说明;函数体包括对变量的定义和执行程序两部分,由一系列语句和注释组成。整个函数体由一对花括号括起来。 (3)语句是由一些基本字符和定义符按照C语言的语法规定组成的,每个语句以分号结束。 (4)C程序的书写格式是自由的。一个语句可写在一行上,也可分写在多行内。一行内可以写一个语句,也可写多个语句。注释内容可以单独写在一行上,也可以写在C语句的右面。,2019/9/8,21,(5)一个C语言源程序可以由一个或多个源文件组成。 (6)每个源文件可由一个或多个函数组成。 (7)一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。 (8)注释部分包含在“/*“和“*/“之间,在编译时它被Turbo C编译器忽略。 注意初学者易犯错误: (1)遗漏分号:printf等后忘记加“;”。 (2)遗漏花括号或者多放花括号:花括号总是成对出现的。 (3)忘记使用&号:输入时指明地址要加上此符号。 (4)在scanf语句格式符中多加 n ,但注意这些要放在“”里边。,2019/9/8,22,3书写程序时应遵循的规则 从书写清晰,便于阅读、理解、维护的角度出发,在书写程序时应遵循以下规则: (1)一个说明或一个语句占一行。 (2)用 括起来的部分通常表示程序的某一层次结构。一般与该结构语句的第一个字母对齐,并单独占一行。 (3)低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写,以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。,2019/9/8,23,4C语言程序的成分 C语言程序是由语句组成的,而语句是由词汇构成的,每个词汇由字符构成。 (1)C语言的字符集。字符是组成语言的最基本的元素。C语言字符集由字母,数字,空格,标点和特殊字符组成。在字符常量,字符串常量和注释中还可以使用汉字或其他可表示的图形符号。 (2)C语言词汇。在C语言中使用的词汇分为六类:标识符,关键字,运算符,分隔符,常量,注释符等。,2019/9/8,24,【标识符】 在程序中使用的变量名、函数名、标号等统称为标识符。除库函数的函数名由系统定义外,其余都由用户自定义。C 规定,标识符只能是字母(AZ,az)、数字(09)、下划线组成的字符串,并且第一个字符必须是字母或下划线。 【关键字】 关键字是由C语言规定的具有特定意义的字符串,通常也称为保留字。用户定义的标识符不应与关键字相同。C语言的关键字分为以下几类:,2019/9/8,25,1)类型说明符。用于定义、说明变量、函数或其他数据结构的类型。如前面例题中用到的int,double等。 2)语句定义符。用于表示一个语句的功能。if else就是条件语句的语句定义符。 3)预处理命令字。用于表示一个预处理命令。如前面各例中用到的include。 【运算符】 C语言中含有相当丰富的运算符。运算符、变量与函数一起组成表达式,表示各种运算功能。运算符由一个或多个字符组成。,2019/9/8,26,【分隔符】 在C语言中采用的分隔符有逗号和空格两种。逗号主要用在类型说明和函数参数表中,分隔各个变量。空格多用于语句各单词之间,作间隔符。在关键字、标识符之间必须要有一个以上的空格符作间隔, 否则将会出现语法错误,例如把int a;写成inta;,C编译器会把inta当成一个标识符处理,其结果必然出错。 【常量】 C语言中使用的常量可分为数字常量、字符常量、字符串常量、符号常量、转义字符等多种。在第2章中将专门给予介绍,2019/9/8,27,【注释符】 C语言的注释符是以“/*”开头并以“*/”结尾的串。在“/*”和“*/”之间的即为注释。程序编译时,不对注释作任何处理。注释可出现在程序中的任何位置。注释用来向用户提示或解释程序的意义。在调试程序中对暂不使用的语句也可用注释符括起来,使翻译跳过不作处理,待调试结束后再去掉注释符。 (3)程序语句。C程序是由若干条语句组成,语句是程序的基本书写单位和执行单位。其语句可分为如下五种:表达式语句、声明语句、空语句、复合语句及流程控制语句。,2019/9/8,28,【表达式语句】 在一个表达式后加分号,就构成了表达式语句。执行一个表达式语句就是对表达式求值。最典型的是,由赋值表达式加分号构成一个赋值语句。表达式能构成语句是C语言的一个重要特色。“函数调用语句”由一次函数调用加一个分号构成一个语句,它也属于表达式语句,因为函数调用(如sin(x))也属于表达式的一种。 a=3; printf ( “ This is a C statement. “ );,2019/9/8,29,【声明语句】 在C语言中,一个名字(标识符)在使用之前必须先声明,按声明的对象可分为变量声明和函数声明,按是否产生程序实体可分为定义性声明和引用性声明。 【空语句】 只有一个分号的语句叫空语句。主要用于语法要求有一条语句但实际没有任何操作可执行的场合。,2019/9/8,30,【复合语句】 该语句是指括在一对花括号之间的语句序列。在语法上它相当于一条语句,只是在花括号外,不再写分号。该语句主要在两种情形下使用: 1)语法要求一条语句,但又难以只用一条简单语句表达的情形。 2)形成局部化的封装体。函数是一种局部化的封装体。 z = x + y; t = z / 100; printf(“%f“, t ); ,2019/9/8,31,【流程控制语句】 一般来说,C程序按主函数中语句的书写顺序执行。流程控制语句可以改变这种执行顺序,使程序中语句的执行顺序与书写顺序不一致。流程控制语句主要有以下情形: 1)流程在两个函数之间转移,即函数调用或返回等流程转向语句。 2)呈现某种控制结构,主要是选择结构和循环结构。 C只有9种控制语句,它们是:,2019/9/8,32,if ( ) else (条件语句) for ( ) (循环语句) while ( ) (循环语句) do while ( ) (循环语句) continue (结束本次循环语句) break (中止执行switch或循环语句) switch (多分支选择语句) goto (转向语句) return (从函数返回语句) 上面9种语句中的括号( )表示其中是一个条件,表示内嵌的语句。,2019/9/8,33,1.2.4 实例验证 在Turbo C环境输入下列程序以熟悉C语言源程序的基本组成。 任务:输入两个整数求其中较大的数。 程序1-3: int max( int a, int b ); /*函数说明*/ main() /*主函数*/ int x, y, z; /*变量说明*/ printf( “input two numbers:n“ );scanf( “%d%d“, /*调用max函数*/,2019/9/8,34,printf( “maxmum = %d “, z ); /*输出*/ int max(int a, int b) /*定义max函数*/ if( a b ) return a; else return b; /*把结果返回主调函数*/ ,2019/9/8,35,1.3 C语言程序的执行,1.3.1 相关知识 用C语言编写的源程序不能由计算机直接识别并执行,计算机只能识别机器语言所编写的二进制代码文件目标程序,因此必须把高级语言编写的源程序翻译成目标程序,然后将该目标程序与系统的函数库和其他的目标程序连接并形成可执行程序。为此,在计算机内须有对应的语言开发环境能对C语言编写的源程序进行编辑、编译、连接、运行。而该开发环境又依赖于操作系统和计算机硬件,它们共同构成了C语言的运行环境,如图1-1所示。,2019/9/8,36,2019/9/8,37,针对不同的平台有相应的集成开发环境:Turbo C作为在DOS和Windows上学习C语言的常用开发工具,适用于初学者;Visual Studio 中Visual C+ 是以Windows平台开发的一个主流的可视化C语言开发环境,现在已经升级到.net版本;GCC是UNIX平台上主要使用的C语言开发工具,嵌入式系统的开发常用GCC的交叉编译器来完成。本书以Turbo C 2.0集成开发环境来作为C语言开发工具。,2019/9/8,38,1.3.2 程序范例 1单一文件构成的程序运行范例 以源程序1-1为例来展示一般C语言程序,要经过编辑源程序文件(.C)、编译生成目标文件(.obj)、连接生成可执行文件(.exe)和执行四个步骤。 在DOS提示符下键入TC,即可进入Turbo C了。进入主TC屏后,按F3键,即可在随之出现的框中输入文件名,文件名可以带“.C“也可以不带(此时系统会自动加上)。输入文件名后,按回车,即可将文件调入,如果文件不存在,就建立一个新文件(也可用下面例子中的方法输入文件名)。系统随之进入编辑状态。就可以输入或修改源程序了,源程序输入或修改完毕以后,按Ctrl+F9,则立即进行编译、连接和执行,这三项工作是连续完成的。具体的操作步骤如下,2019/9/8,39,(1)启动Turbo C。 键入命令:tc fg.c(源程序名) 执行TC.EXE文件,使系统进入Turbo C集成开发环境,并建立一个名为fg.c的文件。这时,系统进入Turbo C编辑环境,如图1-2所示。 (2)处理前初始化。 设定用户文件的存放目录:依次执行主菜单File和其对应的Change dir子菜单,然后在子目录提示框中输入用户文件的存放目录,如D:USER。,2019/9/8,40,2019/9/8,41,设定编译连接和可执行文件的目录(用户的.OBJ和.EXE文件的位置):依次执行主菜单Options选项和其对应的Directories子菜单,然后在Output directory选项中输入输出文件的存放目录,如D:USER。也为空,此时这些文件被放在当前目录。 说明标准包含文件的目录(INCLUDE的位置):依次执行主菜单Options选项和其对应的Directories子菜单,然后在Include directories选项中输入标准包含文件的存放目录,如D:TCINCLUDE。 说明运行库文件的目录(LIB的位置):依次执行主菜单Options选项和其对应的Directories子菜单,然后在Library directories选项中输入库文件的存放目录,如D:TCLIB。,2019/9/8,42,说明Turbo C文件的目录(LIB的位置):依次执行主菜单Options选项和其对应的Directories子菜单,然后在Turbo C directory选项中输入Turbo C文件(配置文件.TC)和帮助文件(TCHELP.TCH)的所在目录,如D:TC。 初始化是可选操作,一般在第一次编程时进行。前两项初始化是根据用户的需要可随意指定路径,但要求对该路径要读写权限,后三项初始化是根据Turbo C所安装的位置所作的说明,所以对某一系统而言它们的值是一定的。 (3)通过键盘输入程序。 main() printf( “ This is the first program n“ ); ,2019/9/8,43,则该程序进入计算机存储器。 (4)程序存盘。 为防止意外事故丢失程序,最好将输入的程序存储到磁盘中。在编辑窗口下,可直接按F2键或按F10键,再按F键进入File菜单项,再按S或W键将文件存盘。存盘时屏幕最底行会显示: saving edit file (5)编译一个程序。 对源程序进行编译有两种方法: 直接按Alt+F9即可; 按F10 键返回主菜单,选择Compile项,屏幕显示Compile 下拉菜单,从下拉菜单中选择Compile to .OBJ项,按回车键。 进入编译状态后, 屏幕会出现一个编译窗口,几秒钟后屏幕显示一闪烁信息:,2019/9/8,44,2019/9/8,45,Success: press any key 表示编译成功。此时可按任意键,编译窗口消失,光标返回主菜单。 如果编译时产生警告Warning或出错Error信息,这些具体错误信息会显示在屏幕下部的信息窗中,必须纠正这些错误。对源程序进行修改,重新进行编译。 (6)运行程序。 源程序经编译无误后,可以投入运行。具体操作如下: 1)如果当前还在编辑状态,可按Alt+R,再选择RUN项即可。,2019/9/8,46,2)按Ctrl+F9。 程序投入运行时,屏幕会出现一个连接窗口,显示Turbo C正在连接和程序所需的库函数。按Alt+F5看看,此时屏幕被清除,在顶部显示“This is the first program”字样。再按任意键,即可又回到TC主屏幕。 2多文件构成的程序的运行范例 程序由master.c文件和max.c文件组成,主函数放在master.c文件中,另一函数放在max.c文件中,且主函数所在文件中没有包含另一函数所在的文件。,2019/9/8,47,/* master.c */ int max(int a, int b); /*函数说明*/ main() /*主函数*/ int x, y, z; /*变量说明*/ printf( “input two numbers:n“ ); scanf( “%d%d“, /*输出*/ ,2019/9/8,48,/*max.c*/ int max (int a, int b ) /*定义max函数*/ if ( a b ) return a; else return b; /*把结果返回主调函数*/ 1)启动Turbo C。 (2)输入每个源文件master.c和max.c。 (3)构造Project文件。 在编辑状态下,输入以下内容: D:USERmaster.c D:USERmax.c,2019/9/8,49,(4)选择需编译连接的.PRJ文件。 执行Project主菜单下的Project name,输入Project文件名(如mypro.prj)。 (5)编译连接并运行程序与单个文件的方法相同。 1.3.3 知识归纳 1源程序、目标程序、可执行程序的概念 程序:为了使计算机能按照人们的意志工作,就要根据问题的要求编写相应的程序。程序是一组计算机可以识别和执行的指令,每一条指令使计算机执行特定的操作。,2019/9/8,50,源程序:程序可以用高级语言或汇编语言编写,用高级语言或汇编语言编写的程序称为源程序。C语言源程序的扩展名为“.c”。源程序不能直接在计算机上执行,需要用编译程序将源程序翻译为二进制形式的代码。 目标程序:源程序经过编译程序翻译所得到的二进制代码称为目标程序。目标程序的扩展名为“.obj”。目标代码尽管已经是机器指令,但是还不能运行,因为目标程序还没有解决函数调用问题,需要将各个目标程序与库函数连接,才能形成完整的可执行程序。 可执行程序:目标程序与库函数连接,形成完整的可在操作系统下独立执行的程序称为可执行程序。可执行程序的扩展名为“.exe”(在DOS/Windows环境下),2019/9/8,51,2Turbo C集成开发环境的常见操作 (1)菜单的使用(选中、打开或执行):Alt+菜单选项的快捷字母激活某菜单,利用方向键进行菜单项的选择,也可按F10功能键,移动方向键选中所需项目。选中项目后按回车键就可打开或执行该项目。 (2)源程序的输入、修改和保存:利用功能键和编辑键对源程序进行编辑,利用F2和相应的菜单项来保存文件。 (3)程序编译并执行:Ctrl + F9。 (4)程序执行结果查看:Alt + F5。 (5)操作系统状态返回:Alt +X。,2019/9/8,52,3源程序编译和连接的方式 (1)直接运行方式。对源程序直接执行Run子菜单,若程序无错误就开始运行。 (2)生成可执行程序方式。首先将源程序(.C)编译成目标程序(.OBJ),然后通过连接生成对应的可执行程序(.EXE),最后运行可执行程序。 4C语言程序的上机步骤 输入与编辑源程序编译源程序,产生目标代码连接各个目标代码、库函数,产生可执行程序运行程序,参见图1-3所示。3源程序编译和连接的方式,2019/9/8,53,2019/9/8,54,习 题,一、选择题 1.1 以下_不是C语言的特点。 A)语言的表达能力强 B)语法定义严格 C)数据结构系统化 D)控制流程结构化 1.2 C编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的是_。 A)编辑和编译 B)编译和连接 C)连接和运行 D)编辑和运行 1.3 以下_不是二进制代码文件。 A)标准库文件 B)目标文件 C)源程序文件 D)可执行文件,2019/9/8,55,1.4 以下不属于流程控制语句的是_。 A)表达式语句 B)选择语句 C)循环语句 D)转移语句 1.5 下面描述中,正确的是_。 A)主函数中的花括号必须有,而子函数中的花括号是可有可无的。 B)一个C程序行只能写一个语句。 C)主函数是程序启动时惟一的入口。 D)函数体包含了函数说明部分。,2019/9/8,56,二、填空题 1.6 函数体以符号_开始,以符号_结束。 1.7 一个完整的C程序至少要有一个_函数。 1.8 标准库函数不是C语言本身的组成部分,它是由_提供的功能函数。 1.9 C程序是以_为基本单位,整个程序由_组成。 1.10 C源程序文件的扩展名是_,C目标文件的扩展名是_。 1.11 程序连接过程是将目标程序、_或其他目标程序连接装配成可执行文件。 1.12 因为源程序是_类型的文件,所以它可以用具有文本编辑功能的任何编辑程序完成编辑。,2019/9/8,57,2019/9/8,58,2019/9/8,59,2019/9/8,60,2019/9/8,61,2019/9/8,62,2019/9/8,63,2019/9/8,64,2019/9/8,65,2019/9/8,66,2019/9/8,2019/9/8,68,2019/9/8,69,2019/9/8,70,2019/9/8,71,2019/9/8,72,2019/9/8,73,2019/9/8,74,2019/9/8,75,2019/9/8,76,2019/9/8,77,2019/9/8,78,2019/9/8,79,2019/9/8,80,2019/9/8,81,2019/9/8,82,2019/9/8,83,2019/9/8,84,2019/9/8,85,2019/9/8,86,2019/9/8,87,2019/9/8,88,2019/9/8,89,2019/9/8,90,2019/9/8,91,2019/9/8,92,2019/9/8,93,2019/9/8,94,2019/9/8,95,2019/9/8,96,2019/9/8,97,2019/9/8,98,2019/9/8,99,2019/9/8,100,2019/9/8,101,2019/9/8,102,2019/9/8,103,2019/9/8,104,2019/9/8,105,2019/9/8,106,2019/9/8,107,2019/9/8,108,2019/9/8,109,2019/9/8,110,2019/9/8,111,2019/9/8,112,2019/9/8,113,2019/9/8,114,2019/9/8,115,2019/9/8,116,2019/9/8,117,2019/9/8,118,2019/9/8,119,2019/9/8,120,2019/9/8,121,2019/9/8,122,2019/9/8,123,2019/9/8,124,2019/9/8,125,2019/9/8,126,2019/9/8,127,第1章 C语言概论本章学习目标本章简要介绍C语言的起源与发展,阐述C语言的特点,说明C语言的结构组成和上机过程,重点了解C语言的函数构成和源程序的执行过程。通过本章的学习,读者应掌握以下内容:C语言基本结构C语言程序执行1.1 C语言概述.1.1 C语言的起源与发展ALGOL60CPLBCPCBC标准CANSI CISO C。ALGOL60:一种面向问题的高级语言。ALGOL60离硬件较远,不适合编写系统程序。CPL(Combined Programming Language,组合编程语言):CPL是一种在ALGOL60基础上更接近硬件的语言。CPL规模大,实现困难。BCPL(Basic Combined Programming Language,基本的组合编程语言):BCPL是对CPL进行简化后的一种语言。B语言:是对BCPL进一步简化所得到的一种很简单接近硬件的语言。B语言取BCPL语言的第一个字母。B语言精练、接近硬件,但过于简单,数据无类型。B语言诞生后,UNIX开始用B语言改写。C语言:是在B语言基础上增加数据类型而设计出的一种语言。C语言取BCPL的第二个字母。C语言诞生后,UNIX很快用C语言改写,并被移植到其他计算机系统。C语言是在20世纪70年代初问世的。1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Ritchit合著了著名的THE C PROGRAMMING LANGUAGE一书。后来由美国国家标准学会在此基础上制定了一个C语言标准,于1983年发表,通常称之为ANSI C。早期的C语言主要是用于UNIX系统。由于C语言的强大功能和各方面的优点逐渐为人们认识,到了20世纪80年代,C开始进入其他操作系统,并很快在各类大、中、小和微型计算机上得到广泛使用,成为当代最优秀的程序设计语言之一。目前最流行的C语言有以下几种:(1)Microsoft C或称MS C。(2)Borland Turbo C或称Turbo C。(3)AT&T C。这些C语言版本不仅实现了ANSI C标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。1.1.2 C语言的特点C语言发展如此迅速,而且成为最受欢迎的语言之一,主要因为它具有强大的功能。归纳起来C语言具有下列特点:1C是中级语言 它把高级语言的基本结构和语句与低级语言的实用性结合起来。C语言可以像汇编语言一样对位、字节和地址进行操作,它也可以直接访问内存的物理地址,进行位(bit)一级的操作,还实现了对硬件的编程操作,因此C语言既可用于系统软件的开发,也适合于应用软件的开发。 2C是结构式语言 C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。按模块化方式组织程序,层次清晰,易于调试和维护。C语言的表现能力和处理能力极强。 3C语言功能齐全 C语言具有丰富的运算符和数据类型,便于实现各类复杂的数据结构,并引入了指针概念,可使程序效率更高。另外C语言也具有强大的图形功能,支持多种显示器和驱动器。而且计算功能、逻辑判断功能也比较强大,可以实现决策目的。 4C语言适用范围大 C语言还有一个突出的优点就是适合于多种操作系统,如DOS、UNIX,也适用于多种机型,广泛地移植到了各类各型计算机上,从而形成了多种版本的C语言。总之,C语言简洁、紧凑、实用、方便、移植性好、执行效率高、处理能力强、结构化程度高,但对编程人员要求较高,较难掌握,不够安全。 1.2 C语言源程序的基本结构1.2.1 相关知识C语言是由函数组成,一个C语言程序必须包含一个且仅有一个main函数,该函数是程序的入口,由main函数开始调用其他函数,其他函数也可相互调用,但最终返回主函数结束程序。1.2.2 程序范例为了说明C语言源程序结构的特点,先看以下几个程序。这几个程序由简到难,体现了C语言源程序在组成结构上的特点。虽然有关内容还未介绍,但可从这些例子中了解到组成一个C源程序的基本部分 1范例一任务:显示指定的内容。程序1-1:main()printf( This is the first program n);程序说明:main是主函数的函数名,表示这是一个主函数。每一个C源程序都必须有且只能有一个主函数(main函数)。函数调用语句,printf函数的功能是把要输出的内容送到显示器显示。printf函数是一个由系统定义的标准函数,可在程序中直接调用。2范例二任务:求输入数的正弦值。程序1-2:#include /*include称为文件包含命令,扩展名为.h的文件也称为头文件*/#include main() /*定义主函数*/ /*主函数开始*/double x, s; /*定义两个实数变量,以被后面程序使用*/printf ( input number:n ); /*显示提示信息*/scanf ( %lf, &x ); /*从键盘获得一个实数x */s = sin ( x ); /*求x的正弦,并把它赋给变量s */printf( sine of %lf is %lfn, x, s );/*显示程序运算结果*/ /*主函数结束*/程序说明:(1)在main()之前的两行称为预处理命令(详见后面)。预处理命令还有其他几种,这里的include 称为文件包含命令,其意义是把尖括号或引号内指定的文件包含到本程序来,成为本程序的一部分。被包含的文件通常是由系统提供的,其扩展名为.h。因此也称为头文件或首部文件。C语言的头文件中包括了各个标准库函数的函数原型。因此,凡是在程序中调用一个库函数时,都必须包含该函数原型所在的头文件。在本例中,使用了三个库函数:输入函数scanf,正弦函数sin,输出函数printf。sin函数是数学函数,其头文件为math.h文件,因此在程序的主函数前用include命令包含了math.h。scanf和printf是标准输入输出函数,其头文件为stdio.h,在主函数前也用include命令包含了stdio.h文件。需要说明的是,C语言规定对scanf和printf这两个函数可以省去对其头文件的包含命令。所以在本例中可以删去第二行的包含命令#include。同样,在例1-1中使用了printf函数,省略了包含命令。2)在例题的主函数体中又分为两部分,一部分为说明部分,另一部分为执行部分。说明是指变量的类型说明。例题中未使用任何变量,因此无说明部分。C语言规定,源程序中所有用到的变量都必须先说明,后使用,否则将会出错。说明部分是C源程序结构中很重要的组成部分。本例中使用了两个变量x,s,用来表示输入的自变量和sin函数值。由于sin函数要求这两个量必须是双精度浮点型,故用类型说明符double来说明这两个变量。说明部分的后四行为执行部分或称为执行语句部分,用以完成程序的功能。执行部分的第一行是输出语句,调用printf函数在显示器上输出提示字符串,请操作人员输入自变量x的值。第二行为输 入语句,调用scanf函数,接受键盘上输入的数并存入变量x中。第三行是调用sin函数并把函数值送到变量s中。第四行是用printf 函数输出变量s的值,即x的正弦值。程序结束。(3)printf(sine of %lf is %lfn,x,s);其中%lf为格式字符,表示按双精度浮点数处理。它在格式串中出现两次,对应x和s两个变量。其余字符为非格式字符,则照原样输出在屏幕上。1.2.3 知识归纳1C语言源程序的一般形式 通过以上以上两范例程序,可以得出 C语言源程序的一般形式为: 包含文件 子函数类型说明 全程变量定义 main() 局部变量定义 sub1() 局部变量定义 局部变量定义 . subn() 局部变量定义 其中sub1(),subn()代表用户定义的子函数,程序体指Turbo C 2.0 提供的任何库函数调用语句、控制流程语句或其他用户子函数调用语句、表达式语句等。2结构特点一个完整的C程序应符合以下几点:(1)C程序是以函数为基本单位,整个程序由函数组成。一个较完整的程序大致由包含文件(一组#include语句)、用户函数说明部分、全程变量定义、主函数和若干子函数组成。在主函数和子函数中又包括局部变量定义、程序体等,其中主函数是一个特殊的函数,一个完整的C程序至少要有一个且仅有一个主函数,它是程序启动时的惟一入口。除主函数外,C程序还可包含若干其他C标准库函数和用户自定义的函数。这种函数结构的特点使C语言便于实现模块化的程序结构。 (2)函数是由函数说明和函数体两部分组成。函数说明部分包括对函数名、函数类型、形式参数等的定义和说明;函数体包括对变量的定义和执行程序两部分,由一系列语句和注释组成。整个函数体由一对花括号括起来。 (3)语句是由一些基本字符和定义符按照C语言的语法规定组成的,每个语句以分号结束。(4)C程序的书写格式是自由的。一个语句可写在一行上,也可分写在多行内。一行内可以写一个语句,也可写多个语句。注释内容可以单独写在一行上,也可以写在C语句的右面。(5)一个C语言源程序可以由一个或多个源文件组成。(6)每个源文件可由一个或多个函数组成。(7)一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。 (8)注释部分包含在/*和*/之间,在编译时它被Turbo C编译器忽略。注意初学者易犯错误:(1)遗漏分号:printf等后忘记加“;”。(2)遗漏花括号或者多放花括号:花括号总是成对出现的。(3)忘记使用&号:输入时指明地址要加上此符号。(4)在scanf语句格式符中多加n,但注意这些要放在“”里边。3书写程序时应遵循的规则从书写清晰,便于阅读、理解、维护的角度出发,在书写程序时应遵循以下规则:(1)一个说明或一个语句占一行。(2)用 括起来的部分通常表示程序的某一层次结构。一般与该结构语句的第一个字母对齐,并单独占一行。(3)低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写,以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。4C语言程序的成分C语言程序是由语句组成的,而语句是由词汇构成的,每个词汇由字符构成。(1)C语言的字符集。字符是组成语言的最基本的元素。C语言字符集由字母,数字,空格,标点和特殊字符组成。在字符常量,字符串常量和注释中还可以使用汉字或其他可表示的图形符号。(2)C语言词汇。在C语言中使用的词汇分为六类:标识符,关键字,运算符,分隔符,常量,注释符等。【标识符】在程序中使用的变量名、函数名、标号等统称为标识符。除库函数的函数名由系统定义外,其余都由用户自定义。C 规定,标识符只能是字母(AZ,az)、数字(09)、下划线组成的字符串,并且第一个字符必须是字母或下划线。【关键字】关键字是由C语言规定的具有特定意义的字符串,通常也称为保留字。用户定义的标识符不应与关键字相同。C语言的关键字分为以下几类:1)类型说明符。用于定义、说明变量、函数或其他数据结构的类型。如前面例题中用到的int,double等。2)语句定义符。用于表示一个语句的功能。if else就是条件语句的语句定义符。3)预处理命令字。用于表示一个预处理命令。如前面各例中用到的include。【运算符】C语言中含有相当丰富的运算符。运算符、变量与函数一起组成表达式,表示各种运算功能。运算符由一个或多个字符组成。【分隔符】在C语言中采用的分隔符有逗号和空格两种。逗号主要用在类型说明和函数参数表中,分隔各个变量。空格多用于语句各单词之间,作间隔符。在关键字、标识符之间必须要有一个以上的空格符作间隔, 否则将会出现语法错误,例如把int a;写成inta;,C编译器会把inta当成一个标识符处理,其结果必然出错。【常量】C语言中使用的常量可分为数字常量、字符常量、字符串常量、符号常量、转义字符等多种。在第2章中将专门给予介绍 【注释符】C语言的注释符是以“/*”开头并以“*/”结尾的串。在“/*”和“*/”之间的即为注释。程序编译时,不对注释作任何处理。注释可出现在程序中的任何位置。注释用来向用户提示或解释程序的意义。在调试程序中对暂不使用的语句也可用注释符括起来,使翻译跳过不作处理,待调试结束后再去掉注释符。(3)程序语句。C程序是由若干条语句组成,语句是程序的基本书写单位和执行单位。其语句可分为如下五种:表达式语句、声明语句、空语句、复合语句及流程控制语句。【表达式语句】在一个表达式后加分号,就构成了表达式语句。执行一个表达式语句就是对表达式求值。最典型的是,由赋值表达式加分号构成一个赋值语句。表达式能构成语句是C语言的一个重要特色。“函数调用语句”由一次函数调用加一个分号构成一个语句,它也属于表达式语句,因为函数调用(如sin(x))也属于表达式的一种。a=3;printf ( This is a C statement. );【声明语句】在C语言中,一个名字(标识符)在使用之前必须先声明,按声明的对象可分为变量声明和函数声明,按是否产生程序实体可分为定义性声明和引用性声明。【空语句】只有一个分号的语句叫空语句。主要用于语法要求有一条语句但实际没有任何操作可执行的场合。【复合语句】该语句是指括在一对花括号之间的语句序列。在语法上它相当于一条语句,只是在花括号外,不再写分号。该语句主要在两种情形下使用:1)语法要求一条语句,但又难以只用一条简单语句表达的情形。2)形成局部化的封装体。函数是一种局部化的封装体。 z = x + y; t = z / 100; printf(%f, t );【流程控制语句】一般来说,C程序按主函数中语句的书写顺序执行。流程控制语句可以改变这种执行顺序,使程序中语句的执行顺序与书写顺序不一致。流程控制语句主要有以下情形:1)流程在两个函数之间转移,即函数调用或返回等流程转向语句。2)呈现某种控制结构,主要是选择结构和循环结构。C只有9种控制语句,它们是:if ( ) else (条件语句)for ( ) (循环语句)while ( ) (循环语句)do while ( ) (循环语句)continue (结束本次循环语句)break (中止执行switch或循环语句)switch (多分支选择语句)goto (转向语句)return (从函数返回语句) 上面9种语句中的括号( )表示其中是一个条件,表示内嵌的语句。1.2.4 实例验证在Turbo C环境输入下列程序以熟悉C语言源程序的基本组成。任务:输入两个整数求其中较大的数。程序1-3:int max( int a, int b ); /*函数说明*/main() /*主函数*/int x, y, z; /*变量说明*/printf( input two numbers:n );scanf( %d%d, &x, &y );/*输入x,y值*/z = max( x, y ); /*调用max函数*/printf( maxmum = %d , z ); /*输出*/int max(int a, int b) /*定义max函数*/if( a b )return a;else return b; /*把结果返回主调函数*/1.3 C语言程序的执行1.3.1 相关知识用C语言编写的源程序不能由计算机直接识别并执行,计算机只能识别机器语言所编写的二进制代码文件目标程序,因此必须把高级语言编写的源程序翻译成目标程序,然后将该目标程序与系统的函数库和其他的目标程序连接并形成可执行程序。为此,在计算机内须有对应的语言开发环境能对C语言编写的源程序进行编辑、编译、连接、运行。而该开发环境又依赖于操作系统和计算机硬件,它们共同构成了C语言的运行环境,如图1-1所示。 针对不同的平台有相应的集成开发环境:Turbo C作为在DOS和Windows上学习C语言的常用开发工具,适用于初学者;Visual Studio 中Visual C+ 是以Windows平台开发的一个主流的可视化C语言开发环境,现在已经升级到.net版本;GCC是UNIX平台上主要使用的C语言开发工具,嵌入式系统的开发常用GCC的交叉编译器来完成。本书以Turbo C 2.0集成开发环境来作为C语言开发工具。1.3.2 程序范例1单一文件构成的程序运行范例以源程序1-1为例来展示一般C语言程序,要经过编辑源程序文件(.C)、编译生成目标文件(.obj)、连接生成可执行文件(.exe)和执行四个步骤。在DOS提示符下键入TC,即可进入Turbo C了。进入主TC屏后,按F3键,即可在随之出现的框中输入文件名,文件名可以带.C也可以不带(此时系统会自动加上)。输入文件名后,按回车,即可将文件调入,如果文件不存在,就建立一个新文件(也可用下面例子中的方法输入文件名)。系统随之进入编辑状态。就可以输入或修改源程序了,源程序输入或修改完毕以后,按Ctrl+F9,则立即进行编译、连接和执行,这三项工作是连续完成的。具体的操作步骤如下 (1)启动Turbo C。键入命令:tc fg.c(源程序名) 执行TC.EXE文件,使系统进入Turbo C集成开发环境,并建立一个名为fg.c的文件。这时,系统进入Turbo C编辑环境,如图1-2所示。(2)处理前初始化。设定用户文件的存放目录:依次执行主菜单File和其对应的Change dir子菜单,然后在子目录提示框中输入用户文件的存放目录,如D:USER。设定编译连接和可执行文件的目录(用户的.OBJ和.EXE文件的位置):依次执行主菜单Options选项和其对应的Directories子菜单,然后在Output directory选项中输入输出文件的存放目录,如D:USER。也为空,此时这些文件被放在当前目录。说明标准包含文件的目录(INCLUDE的位置):依次执行主菜单Options选项和其对应的Directories子菜单,然后在Include directories选项中输入标准包含文件的存放目录,如D:TCINCLUDE。说明运行库文件的目录(LIB的位置):依次执行主菜单Options选项和其对应的Directories子菜单,然后在Library directories选项中输入库文件的存放目录,如D:TCLIB。 说明Turbo C文件的目录(LIB的位置):依次执行主菜单Options选项和其对应的Directories子菜单,然后在Turbo C directory选项中输入Turbo C文件(配置文件.TC)和帮助文件(TCHELP.TCH)的所在目录,如D:TC。初始化是可选操作,一般在第一次编程时进行。前两项初始化是根据用户的需要可随意指定路径,但要求对该路径要读写权限,后三项初始化是根据Turbo C所安装的位置所作的说明,所以对某一系统而言它们的值是一定的。(3)通过键盘输入程序。main()printf( This is the first program n );则该程序进入计算机存储器。 (4)程序存盘。为防止意外事故丢失程序,最好将输入的程序存储到磁盘中。在编辑窗口下,可直接按F2键或按F10键,再按F键进入File菜单项,再按S或W键将文件存盘。存盘时屏幕最底行会显示:saving edit file (5)编译一个程序。对源程序进行编译有两种方法: 直接按Alt+F9即可; 按F10 键返回主菜单,选择Compile项,屏幕显示Compile 下拉菜单,从下拉菜单中选择Compile to .OBJ项,按回车键。 进入编译状态后, 屏幕会出现一个编译窗口,几秒钟后屏幕显示一闪烁信息: Success: p
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:大学C语言程序设计实用教程-唐新国-课件PPT
链接地址:https://www.renrendoc.com/p-21836474.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!