第一章C语言及程序设计概述
本章要求:
了解C语言的特点、C语言与其它高级语言相比有什么异同; 了解C程序在PC机上的建立、编译和运行过程; 了解C语言程序设计思想的基本篇;
重点:①C语言的主要特点;
②C语言在PC机上的运行过程及上机操作过程; ③常用算法的应用 难点:无
一、C语言概述
C语言是目前国际上在各种计算机运行较为广泛流行的一种高级语言。
主要表现为:
C语言:适合于作为系统描述语言——可用来写系统软件。
具有高级语言的特点,又有低级语言(汇编语言)的特点。 C语言:是AT&T贝尔实验室的Dennis Ritchie在1972年发明的。 C语言:是在B语言的基础上发展起来的。(ALGOL 60)
C语言:最早开始是用于UNIX操作系统。(C语言和UNIX是相辅相成的)
DBASE 、Microsoft Exel 、 Microsoft Word、PC-DOS等,则是用C语言加上若干汇编子程序编写的。
1983年:——制定的新标准,称为(美国国家标准化协会)ANSI C 1987年:——Turbo C1.0 (Borland) 1988年:TC 1.5(图形和文本窗口)
1989年:——Turbo C2.0 (DOS操作系统、查错、Tiny模式生成com文件)
1991年:——Turbo C++(3.0) 支持windows 3.X
说明:Turbo C语言可以在程序的任何地方嵌入汇编代码,提高速度,可以直接使用存储器和寄存器。
二.C语言的特点
1.语言简洁、紧凑、使用方便、灵活
C语言:——共有32个关键字,9种控制语句; 程序书写自由,主要用小写字母表示; 2.运算符丰富
C语言的运算符包含的范围很广泛,共有34种运算符; 即:把括号、赋值、强制类型转换都作为运算符处理 3.有丰富的数据类型
整型、实型、字符型、数据类型、指针类型、结构体类型、共用体(联合)类型等。实现复杂的数据结构(链表、树、栈、图)的运算。 4.具有结构化的功能,用函数作为程序模块,实现程序的模块化 5.语法限制不太严格,程序设计自由度大。(放宽了语法检查)
例:1)对数组下标越界不作检查,由程序编写者自己保证程序的正确;
2)整型数据、字符型数据、逻辑型数据可以通用。
6.能直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。
7.生成目标代码质量高,程序执行效率高。 8.用C语言编写的程序,移植性较好。 说明:
C语言比其它高级语言难掌握,对编程人员要求较高
程序员使用C语言编写程序会感到限制少、灵活性大,功能强,可以编写出任何类型的程序。 三.C程序的构成 例:
main( ) /*主函数*/ {
int a,b,sum; /*定义变量*/ a=123;b=456; sum=a+b;
printf(“sum is %d\\n”,sum); /*输出变量*/ } 说明:
1)程序一般用小写字母书写;
2)每个程序必须要有一个main ( )(只能一个),称主函数; 注:C程序是由函数构成的,函数是C程序的基本单位。 函数:系统提供的库函数;用户设计的函数。 3)程序体必须在{ }之间;
4)每个语句的结尾,必须要有“;”作为终止符。 5)用/*……….. */ 作注释
四、C程序的上机过程 1.演示 书:P5 程序
2.上机步骤 书:P7
注:C语言是一种编译语言,编译语言的特点: 编译 连接 源程序 目标程序 执行程序 *.C *.OBJ *.EXE
C编译程序 Link程序 3.DOS下C语言的运行
目前DOS下运行C语言软件为:Turbo C 2.0 (1)Turbo C 2.0 的特点:
是一个把 ①编辑 ②编译 ③连接 ④运行 等全部操作集中在一个界面上。
(2) Turbo C 2.0的操作及运行 书:P8 五、算法的概念
1.算法的概念 书:P13 算法:程序的操作步骤。 程序中的数据 在程序设计中: 操作步骤
有: 程序 = 数据结构 + 算法 沃思 Nikiklaus Wirth 程序=算法+数据结构+程序设计方法+语言工具和环境 2. 计算机算法分为两大类: ①数值运算算法 ②非数值运算算法 (1)数值运算算法:求数值解;通过运算得出一个具体值,如求方程的根等
注:数值运算一般有现成的模型,算法较成熟。
(2)非数值运算算法:用于事务管理,如图书检索、人事管理等。 3、常用简单算法
(1)累乘 即:1×2×3×4×5……×100 1×2 → S(结果) S×3 → S(结果) S×4 → S(结果) ┇
S×100 → S(结果)
(2)累加 即:1+2+3+4+5……+100 1+2 → S(结果) S+3 → S(结果)
S+4 → S(结果) ┇
S+100 → S(结果)
(3)找最大值 5,2,4,12,9
5 →max (max 放最大值,后面的数都和它比较) 2 > max 不成立 4 > max 不成立
12 > max 成立:12 →max 9 > max 不成立
注:该算法可扩展为在一批数据中,找某一个数 (4)其它算法
P15 例 2.2 例 2.3 例 2.4 例 2.5 课余自学(必须)
4、算法的表示
常用的有:①自然语言②传统流程图③结构化流程图④伪代码⑤PAD图
(1)传统流程图
起止框 输入输出框 判断框 处理框 流程线 连接点
表示方法:P19 例
注:传统流程图对流程线的使用没有严格限制,难以实现结构化程序设计
为了限制流程线的滥用,提出三种基本结构: ①顺序结构 ②选择结构 ③循环结构
顺序结构 选择结构 f t . f 语句 表达式 表达式 t
语句 语 句 语 句1 语 句2
循环结构
表达式 语 句
语 句 表达式
a)“当型”结构 b)“直到型”结构
(2)N-S流程图
特点:去掉了带箭头的流程线,全部算法写在一个矩形框内。 称N-S结构化流程图
P A 成立 不成立 当P1成立 A B A B A 直到P1成立
顺序结构 选择结构 循环结构
作业:p37 2.4
上机:熟悉Turbo C 2.0的操作及运行
第三章 数据类型、运算符与表达式
本章要求:
本章是C语言的基本概念开篇,所介绍的概念是学习C语言的基础; 要求熟练掌握数据类型、运算符与表达式。
重点:①C语言数据类型定义的方法和分类。
②C语言运算符、表达式的使用以及它们的主要特点。
难点:自增、自减运算符、赋值运算符、逗号运算符及它们的混合使用
一.数据类型
概念:算法处理的对象——是数据,而数据是以某种特定的形式出现。
在C语言中,数据有:常量、变量;一般它们都有一定的数据类