《C语言程序设计教程》课件
存储类别: auto、static、register、extern
语句命令字: break、case、continue、default、do、 else、for、goto、if、return、switch、 while
运算符:
sizeof
10/16/2020
预定义标识符
28
系统标准库函数 scanf、printf、putchar、getchar、 strcpy、strcmp、sqrt等
int max(int x, int y) /* max函数 */
{ int z ;
if (x>y) z = x; else z = y;
return(z);
}
main( )
/* 主函数 */
{ int a,b,c;
scanf("%d, %d",&a,&b);
c = max(a,b); /* 调用max函数,求a和b中大数 */
4.运行 .exe 文件 运行jc1_2
10/16/2020
1.3 C程序的符号系统
24
主要内容:
–基本字符 –标识符
10/16/2020
1.3.1 基本字符
25
大写英文字母:A B C …… X Y Z 小写英文字母:a b c …… x y z 数字:0 1 2 …… 9 空白符:空格符、换行符、制表符
李玲 100817
10/16/2020
本章主要内容
3
程序设计与算法概述 C语言概述 C程序的符号系统
10/16/2020
1.1 程序设计与算法概述
4
主要内容: – 计算机语言与程序设计 – 算法 – 结构化程序设计
10/16/2020
1.1.1 计算机语言与程序设计
5
1. 计算机语言
– 是人与计算机进行交流的工具 – 计算机语言分为:
特殊字符:+ - * / < > ( ) [ ] { } _ = !
#%.,;:‘“|&?$^\~
10/16/2020
1.3.2 标识符
26
由字母、下划线和数字组成的字符序列 用于程序中的变量、符号常量、数组、函
数、数据类型等操作对象的名字
1.系统定义标识符 –具有固定名字和特定含义的标识符
printf("max = %d\n",c);
}
10/16/2020
C程序结构
21
C程序 – 由函数构成 –必须有,且只能有一个main(主函数) – 总是从main函数开始执行
函数 – 由函数首部和函数体组成 – 函数首部指定函数名、函数参数、类型 – 函数体从 { 开始,到 } 结束 – 函数内有语句
a=5.2;
b=a*a;
printf("b=%f\n",b);
}
函数体结束
main 为函数名 程序从这里开始运行
函数体内定义 a, b 为 a 赋值 计算并输出平方值 b
执行程序的输出结果为: b=27.039997
10/16/2020
1.2.3 C程序的基本结构
20
【例1.2】输入两个数,输出其中的大数。
汇编源程序的翻译:
7
将汇编源程序翻译为目标程序的过 程称为汇编
汇编过程:
汇编程序
连接程序
汇编语言
汇
机器语言
连
可执行
运
运行
源程序
编
目标程序
接
程序
行
结果
(.ASM)
(.OBJ)
(.EXE)
图1.1 汇编过程
10/16/2020
高级语言的翻译:
8
编译方法
编译程序
连接程序
高级语言
编
机器语言
连
可执行
–每个模块都是用结构化程序实现,即都只能 由三种基本结构组成,并通过计算机语言的 结构化语句实现。
10/16/2020
1.2 C语言概述
16
主要内容:
– C语言的发展 – C语言的特点 – C程序的基本结构 – C程序的执行过程
10/16/2020
1.2.1 C语言的发展
17
发展过程
CPL语言:剑桥大学,1963年
编译预备处理命令 include、define等
10/16/2020
对标识符的规定
29
用户定义标识符 –必须以字母或下划线“_”开头 –不能含有除字母、数字和下划线“_”外 的其他字符
–标识符中大小写字母含义不同
关键字必须用小写字母。不允许使用关键 字为变量、数组、函数等操作对象命名
预定义标识符允许用户对它们重新定义, 当重新定义后将改变它们原来的含义
C 语言程序设计
第1章 预备知识
北京科技大学 计算机系
说明:
2
本课件的配套教材为:
–《C语言程序设计教程》 –《C语言程序设计教程习题解答与实验指导》
北京人民邮电出版社 李玲等编著
如果选用本套教材,并需要完整的各章课 件,请与作者联系。
– 电话:010-62755063 – E-mail:liling@ – 通信地址:北京科技大学信息工程学院
10/16/2020
正确区分标识符
30
正确区分哪些是合法标识符,哪些是不合 法标识符。其中合法标识符中哪些是关键 字,哪些是预定义标识符,哪些是用户定 义标识符。
Abc m+y int π
define a# let wtm
2x b-4 x%y Ctrl
double _1 name swicth
student While do include
10/16/2020
10/16/2020
结构化程序设计的基本原则:
15
如果一个程序仅包含这三种基本结构(由这些基 本结构顺序组成),则称为结构化程序。
结构化程序设计的基本原则:
–采用自顶向下、逐步细化的方法进行设计;
–采用模块化原则和方法进行设计。即将大型 任务从上向下划分为多个功能模块,每个模 块又可以划分为若干子模块,然后分别进行 模块程序的编写;
机器语言
机器指令(由0 和 1 组成),可直接执行
难学、难记 依赖机器的类型
用助记符代替机器指 克服记忆的难点
汇编语言 令,用变量代替各类 其他与机器语言类
地址。
似
类似数学语言、接近自然语言、具有通用 高级语言 性和可移植性,不依赖具体的计算机类型。
10/16/2020
例如:
6
• 机器语言程序
00100011 11101101 01100001 01110110
10/16/2020
C程序结构(续)
22
语句 – 包括说明性语句、可执行语句 – 以 ;表示语句结束
注释 –可以出现在程序的任何位置 – 用 /* 和 */ 括起来,必须成对出现
书写格式 – C语言没有行的概念,书写格式自由。 – 习惯小写字母,缩进格式。
10/16/2020
1.2.4 C程序的执行过程
编写 程序
调试和运行
翻译
程序
(编译或解释)
输入 程序
得到 运行结果
10/16/2020
1.1.2 算法
10
什么是算法 – 为解决某一应用问题而采用的解题步骤
算法的描述方式 – 用自然语言描述算法 – 用流程图描述算法 – 用N-S结构图描述算法
例如:输出两个数中的最大数
10/16/2020
用自然语言描述算法
10/16/2020
1.1.3 结构化程序设计
14
程序的三种基本结构 –顺序结构程序:按照书写顺序依次执行语句 –选择结构程序:按照条件判断选择执行语句 –循环结构程序:通过条件控制循环执行语句
三种基本结构的共同点: • 都是只有一个入口和一个出口; • 结构内的每一个框都有机会被执行; • 结构内没有死循环。
经简化
BCPL语言:剑桥大学,1967年
进一步简化
B语言:Bell实验室,1970年 在PDP机器上用其编写UNIX系统
保持精练、接近硬件的优点,克服数据类型过少的不足
C语言:Bell实验室,1972~1973年用其改写UNIX系统
10/16/2020
1.2.2 C语言的特点
18
语言简洁,表达能力强,易于理解
运
运行
源程序
译
目标程序
接
程序
行
结果
(.C或.PAS等)
(.OBJ)
(.EXE)
解释方法
图1. 2 编译过程 解释程序
高级语言 源程序 (.BAS)
解释 执行
图1.3 解释过程
运行 结果
10/16/2020
2.程序设计
9
用计算机解决一个实际应用问题时的整个处理 过程称只有32个关键字,9种控制语句
–数据构造能力强
–运算符丰富
增加学习难度
–程序书写格式自由
可直接访问物理地址,实现对硬件和低层 系统软件的访问
语言生成的代码质量高
可移植性好
10/16/2020
1.2.3 C程序的基本结构
19
【例1.1】计算并输出一个数a的平方。
main( )
{
函数体开始
float a,b;
11
第一步:输入x和y的值
第二步:比较x和y的值,如果x大于y,则 输出x的值,否则输出y的值。
易于理解,但 冗长,不够精 确,难于描述 复杂算法。
例如当描述“输出10个 数中最大数”的算法时, 会冗长、难于理解
10/16/2020
用流程图描述算法