c语言程序设计课件

上传人:飞*** 文档编号:53524623 上传时间:2018-09-02 格式:PPT 页数:280 大小:1.87MB
返回 下载 相关 举报
c语言程序设计课件_第1页
第1页 / 共280页
c语言程序设计课件_第2页
第2页 / 共280页
c语言程序设计课件_第3页
第3页 / 共280页
c语言程序设计课件_第4页
第4页 / 共280页
c语言程序设计课件_第5页
第5页 / 共280页
点击查看更多>>
资源描述

《c语言程序设计课件》由会员分享,可在线阅读,更多相关《c语言程序设计课件(280页珍藏版)》请在金锄头文库上搜索。

1、C语言程序设计,重庆航天职业技术学院 CHONGQING AEROSPACE POLYTECHNIC,主编:徐受蓉 袁可可武春岭 李怡平,第1章 C语言概述,教学要求:通过本章的教学,要求读者了解C语言的特点,掌握C程序的的基本结构和书写格式,熟悉C程序的编辑、编译、调试和运行过程。 教学提示:一个完整的C语言程序是由一个main()函数和若干个其它函数构成的,或仅由一个main()函数构成。而运行一个C程序要经历编辑、编译、连接、运行四个步骤。本章将通过几个实例和实训练习重点介绍C程序的结构以及如何创建、编译和运行C程序。 教学内容:首先简单介绍C语言出现的历史背景和特点,然后通过三个简单的

2、C程序实例分析,总结C程序的总体结构和书写格式。最后介绍C程序的开发环境和运行步骤。,1.1 C语言简介,地位 C语言是国际上广泛流行的、很有发展前途的计算机高级语言。它适合于作为系统描述语言,既可以用来写系统软件,也可用来写应用程序。 发展历史 以前的操作系统等系统软件主要是用汇编语言编写的(包括UNIX操作系统在内)。由于汇编语言依赖于计算机硬件,程序的可读性和可移植性都比较差。为了提高可读性和可移植性,最好改用高级语言,但一般高级语言难以实现汇编语言的某些功能(汇编语言可以直接对硬件进行操作,例如:对内存地址的操作、位操作等)。人们设想能否找到一种既具有一般高级语言特性,又具有低级语言特

3、性的语言,集它们的优点于一身。于是,C语言就在这种情况下应运而生了。,1.1 C语言简介,发展历史 C语言是由D.M.Ritchie于1972年在B语言的基础上设计的,主要用于编写UNIX操作系统。后来C语言进行了多次改进,1977年出现了可移植的C语言编译程序,使得C语言编写的UNIX操作系统可以在各种计算机上使用。随着UNIX的广泛应用,C语言得到了普及和推广,并最终独立于UNIX而成为世界上应用最广泛的计算机语言之一。 版本 在C语言的推广过程中,出现了多种版本。为了解决这些版本的兼容问题,1983年美国国家标准协会(ANSI)制订了C语言标准,即ANSI C。目前流行的C编译系统都是以

4、它为基础的,如Microsoft C、Turbo C、Quick C、Borland C等。这些版本的C语言虽然基本部分相同,但也有些差异,读者可参考相关手册。本书的叙述基本上以ANSI C为基础。,1.1 C语言简介,语言简洁、紧凑,使用方便、灵活。 C语言一共只有32个关键字,9种控制语句,压缩了一切不必要的成分,程序书写形式自由,语句简练。 运算符丰富,适用的范围广泛。 C语言的运算符包含的范围很广,共有34种运算符,它把括号,赋值符号、强制类型转换符号等都作为运算符处理,从而使C的运算符类型极为丰富,表达式类型多样化。灵活使用各种运算符可以实现在其他高级语言中难以实现的运算和操作。 数

5、据结构丰富,具有现代化语言的各种数据结构。 C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。这些丰富的数据类型能用来实现各种复杂的数据结构(如链表、树、栈等)的运算。尤其是C的指针类型,功能强大、灵活多样,恰当地使用不仅可以简化程序结构,而且可以节省存储空间、提高运算速度。,1.1 C语言简介,具有结构化的控制语句(如ifelse语句、while语句、dowhile语句、switch语句、for语句)。 这些语句可以实现程序中所有的控制结构,而C语言的控制语句符合结构化程序设计要求,并且用函数作为程序模块,使得程序结构清晰、可读性好、易于调试。 编程限制少,程

6、序设计自由度大。 例如对数组下标越界不作检查,由程序编写者自己保证程序的正确性。对变量的类型使用比较灵活,如整型量与字符型数据以及逻辑型数据可以通用,使得某些运算变得更加简单、直接。 一般的高级语言语法规定和检查比较严格,能检查出几乎所有的语法错误。而C语言允许程序的编写有较大的自由度,因此放宽了语法检查。编写者应当仔细检查程序,保证其正确性,而不要过分依赖于编译软件去查错。“限制”和“灵活”是一对矛盾。限制严格,就失去灵活性;而强调灵活,就必须放松限制。这一点使得C语言较其他语言对程序编写者的要求要高。,1.1 C语言简介,可直接对硬件操作。 C语言允许直接访问物理地址,直接对硬件操作,提供

7、对字节、位、内存和寄存器操作,能实现汇编语言的大部分功能。这个特点使得C语言既具有高级语言的功能,又兼备低级语言的许多功能,可以用来写系统程序。 生成目标代码质量高,程序执行效率高。 C语言生成的目标代码一般只比汇编语言生成的目标代码的效率低10%20%。 用C语言写的程序可移植性好。 与汇编语言相比,用C语言写的程序基本上不作修改就能用于各种型号的计算机和操作系统,使程序具备了很好的移植性。,1.2 简单的C程序介绍,1.2.1 C语言程序的总体结构 一个完整的C语言程序,是由一个main()函数(又称主函数)和若干个其它函数组合而成的,或仅由一个main()函数构成。(对于可独立执行的C程

8、序而言) 例1.1仅由main()函数构成的C语言程序 /*程序L1_1.C功能:在屏幕上显示一句话:Hello World! */ #include /*包含输入输出头文件*/ main() /*定义主函数*/ printf(“This is the first C program! n”); /*在屏幕上输出字符串且光标移到下一行*/ 程序解释详见教材P4,1.2 简单的C程序介绍,例1.2仅由main()函数构成的C语言程序(函数体中使用到变量) /*程序L1_2.C功能:求两个整数之和 */ #include main() int a,b,sum; /* 声明部分,定义整型变量a、b、

9、sum */ a=12;b=34; /* 给变量a、b赋值*/ sum=a+b; /* 将变量a和b之和赋给变量sum */ printf(“sum is %dn“,sum); /* 输出变量sum的值 */ ,1.2 简单的C程序介绍,例1.3由main()函数和1个其它函数max()构成的C语言程序 /*程序L1_3.C功能:通过键盘输入两个实数,输出其中最大数 */ #include float min(float x,float y) /*定义求实数x,y的最大数的函数max */ float z; /*max函数中的声明部分,定义本函数中用到的实型变量z */ if (xy) z=x

10、; /* 如果x大于y,则z等于x */ else z=y; /* 否则z等于y */ return(z); /* 返回z,则max函数值为z的值 */ main() /* 定义主函数 */ float a,b,c; /*声明部分,定义a、b、c三个变量为实型变量*/ printf(“Please input two float numbers (a,b):“); /* 输出屏幕提示信息 */ scanf(“%f,%f“, /* 输出最大数c的值 */ 代码分析详见教材P6,1.2 简单的C程序介绍,小结 函数是C程序的基本组成单位(面向过程的特点) main()函数的作用相当于其它高级语言的

11、主程序,其它函数的作用相当于子程序。 其中被调用的函数可以是系统提供的库函数(printf()和 scanf()函数),也可以是用户根据需要自己编制设计的函数(如max()函数)。C的函数相当于其他语言中的子程序,用函数来实现特定的功能。可以说C是函数式的语言,程序中的全部工作都是由各个函数分别完成的。编写C程序就是编写一个个函数。C的函数库十分丰富,此特点使之容易实现程序的模块化。 C语言程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何。 C语言本身没有输入和输出语句。输入和输出的操作是由库函数scanf(),printf()等函数来完成的,即C对输入输出实行“函数

12、化”。,1.2 简单的C程序介绍,一个函数由两部分组成:提醒:一个函数名后面必须跟一对圆括弧,函数参数可以没有,如main() 函数体,即函数首部下面的大括弧内的部分。 如果一个函数内有多个大括弧,则最外面的一对为函数体的范围。 函数体一般包括:声明部分:在这部分中定义所用到的变量。执行部分:由若干个语句组成。 注意:见教材P7,1.2 简单的C程序介绍,1.2.2 C语言程序的书写格式 C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。各语句之间用分号分隔,每个语句和数据定义的最后必须有一个分号。 可以用/*/对C程序中的任何部分作注释,以提高程序的可读性。 技巧:P7 注

13、释的位置,可以单独占一行,也可以跟在语句的后面。另外如果一行写不下,可另起一行继续写。 注释中允许使用汉字。在非中文操作系统下,看到的会是一串乱码,但不影响程序运行。,1.3 C程序的上机步骤,1.3.1 从输入到运行一个C语言程序的一般过程1.3.2 在Turbo C下运行C程序的步骤 启动TC,进入TC集成环境; 编辑(或修改)源程序。 编译。如果编译成功,则可进行下一步操作;否则,返回(2)修改源程序,再重新编译,直至编译成功。 连接。如果连接成功,则可进行下一步操作;否则,根据系统的错误提示,进行相应修改,再重新连接,直到连接成功。 运行。通过观察运行结果,验证程序的正确性。如果出现逻

14、辑错误,则必须返回(2)修改源程序,再重新编译、连接和运行,直至程序正确。 退出TC集成环境,结束本次程序运行。,实训P14 习题P16,第2章 数据类型、运算符及表达式,教学要求:通过本章的学习,1读者必须掌握C语言的基本数据类型(整型、字符型、实型),了解不同类型数据间的转换原则; 2理解C语言中的常量、变量的定义与使用,运算符、运算符的优先级及结合规则; 3重点掌握C语言表达式(赋值表达式、算术表达式、关系表达式、逻辑表达式、条件表达式、逗号表达式)的应用和操作。 教学提示:C语言中介绍了多种数据类型(如整型、实型、字符型数据)的定义与使用,在给不同类型的变量赋值时,要注意数据和变量的类

15、型一定要匹配,若遇数据与变量类型不匹配时,可以运用C中的强制类型转换规则进行强制转换。另C语言中还介绍了多种运算符及其表达式,在求解表达式值时需按照运算符的优先级和结合性求解。 教学内容:本章首先介绍了常量、符号常量、变量的定义与使用;C语言数据类型的分类及不同类型数据间的转换与运算;然后通过各类运算符及表达式的若干例子详细讲解了C运算符的种类、运算优先级和结合性以及表达式的种类和求值规则。,第2章 数据类型、运算符及表达式,2.1 常量和变量 2.1.1 常量与符号常量 所谓常量是指在程序运行的整个过程中其值始终不可改变的量称为常量。 分类 整型常量:18、0、-13 实型常量:4.6、-1

16、.86 字符常量:b、g 常量一般从其字面形式即可判别。这种常量称为字面常量或直接常量 用一个标识符代表一个常量的,称为符号常量,即标识符形式的常量,第2章 数据类型、运算符及表达式,一、常量与符号常量 例2.1 符号常量的使用。 #define PRICE 20 main( ) int num , total;num = 30 ;total = num * PRICE ;printf (“total=%d”,total ) ; 提示:P19,第2章 数据类型、运算符及表达式,2.1.2 变量 在程序的执行过程中其值可以变化的量称为变量。一个变量应该有一个名字,在内存中占据一定的存储单元。在该

17、存储单元中存放变量的值。 实质变量名实际上是一个符号地址,在对程序编译连接时由系统为每一个变量名分配一个内存地址。 在程序中从变量中取值,实际上是通过变量名找到相应的内存地址,从其存储单元中读取数据。,第2章 数据类型、运算符及表达式,2.1.2 变量 用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列成为标识符(identifier)。简单地说,标识符就是一个名字。 语言规定标识符只能由字母、数字和下划线三种字符组成,并且第一个字母必须为字母或下划线。 合法:sum,average,total,_day,name,month,_1_3,BASIC,LEE_li 不合法:*S.AA,¥54,111,4e32,A6 各个编译系统都有自己规定的标识符长度,建议变量名的长度不要超过8个字符。 在选择变量名和标识符时,应注意做到“见名知意”,即选有含意的英文单词(或其缩写)作标识符 如name、total、day、count、country、age等 先定义,后使用:P20【例题:change.c】,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号