白 雪 飞
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
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