白 雪 飞
baixf@ustc.edu.cn
中国科学技术大学电子科学与技术系
Dept,of Elec,Sci,& Tech.,USTC
Fall,2003
第 1章 C语言的程序结构
C语言程序设计 - 第 1章 C语言的程序结构 2
目 录
? C语言的特点
? C程序的基本结构
? 算法
? 结构化程序设计方法
C语言程序设计 - 第 1章 C语言的程序结构 3
C语言的特点
? 语言简捷、紧凑,使用方便、灵活
? 运算符丰富
? 数据结构丰富
? 具有结构化的控制语句
? 语法限制不太严格,程序设计自由度大
? 能实现较底层的功能
? 生成目标代码质量高,程序执行效率高
? 程序可移植性好
C语言程序设计 - 第 1章 C语言的程序结构 4
第一个 C程序 —— Hello,World!
运行结果 >
#include <stdio.h> /*包含一个标准库 */
void main() /*定义一个函数,名为 main*/
/*main函数没有参数和返回值 */
{ /*main函数的内容用 {}括起来 */
printf("Hello,World!\n");
/*调用库函数打印一行字符 */
}
Hello,World!
C语言程序设计 - 第 1章 C语言的程序结构 5
C程序的基本结构
? C程序是由函数组成的
? 函数由说明部分和函数体组成
? C程序总是从 main函数开始执行的
? C程序书写格式自由
? 每个语句和数据定义后必须有一个分号
? C语言本身没有输入输出语句
? 可以用 /*...*/做注释
C语言程序设计 - 第 1章 C语言的程序结构 6
算法 (Algorithm)
? 算法
?解决问题的方法
?算法是程序的灵魂
? 程序 (Program)
?对算法的具体实现
?程序的效率不可能超过算法的限制
? Nikiklaus Wirth
?程序 = 数据结构 + 算法
C语言程序设计 - 第 1章 C语言的程序结构 7
三种基本算法结构
? 顺序结构
? 选择结构(分支结构)
? 循环结构(重复结构)
?当型循环( While型循环)
?直到型循环( Until型循环)
C语言程序设计 - 第 1章 C语言的程序结构 8
顺序结构
A
B
a
b
C语言程序设计 - 第 1章 C语言的程序结构 9
选择结构
A B
a
b
pY N
当 p为“真” 当 p为“假”
C语言程序设计 - 第 1章 C语言的程序结构 10
循环结构
A
a
b
p1 Y
While型循环
N 当 p1为“真”当 p1为“假”
A
a
b
p2 N
Until型循环
Y当 p2为“真” 当 p2为“假”
C语言程序设计 - 第 1章 C语言的程序结构 11
A
a
b
p Y
N
两种循环结构的比较
While型循环 Until型循环
A
a
b
!p N
Y
两个循环结构的判断条件相反
A一次也
没有执行
A执行
了一次
当首次判断 p即为“假” (!p为“真” )当执行一次 A后,判断 p为“假” (!p为“真” )
执行
了一次
C语言程序设计 - 第 1章 C语言的程序结构 12
三种基本算法结构的共同特点
? 只有一个入口
? 只有一个出口
? 结构内每一部分都有机
会被执行到
? 结构内不存在“死循环” A
a
b
BA
B
a
C语言程序设计 - 第 1章 C语言的程序结构 13
结构化程序设计方法
? 结构化算法
?由基本结构顺序组成的算法结构
? 结构化程序设计方法
?自顶向下
?逐步细化
?模块化设计
?结构化编码
C语言程序设计 - 第 1章 C语言的程序结构 14
结束
The End