一、学习程序设计的目的:
使用计算机的过程:
设计程序
输入程序 ——> |
| 实现程序(编码)
运行程序 |
| 存储程序
输入数据
|
获取结果
|
结束程序
二、程序和语言
1、程序是计算机要执行的指令的集合,而程序的全部都是用我们所掌握的语言来编写。
2、计算机程序设计语言分为以下几类: 机器语言、汇编语言、高级语言。
三、语言和指令
机器语言:机器指令的集合(CPU相关)
汇编语言:符号化的机器语言(也与CPU相关)
高级语言:功能很强的接近于数学表达和自然语言
高级语言------>机器语言
翻译
这个翻译我们称之为编译。
思考:使用高级语言开发程序的好处?
四、C语言
1、C语言是一种程序设计语言。
程序设计语言是用来编写计算机程序的语言。
程序设计语言的发展
机 汇 高-----面向过程
器 编 级
语----- 语----语
言 言 言-----面向对象
2、C语言的发展历史和标准
C语言是国际上广泛流行的高级语言。
C语言是在B语言的基础上发展起来的。
B (BCPL)语言是1970年由美国贝尔实验室设计的, 并用于编写了第一个UNIX操作系统,在PDP 7上实现。优点:精练,接近硬件,缺点:过于简单,数据无类型。
1973年贝尔实验室的D.M.Ritchie 在B语言的基础上设计出了C语言,对B取长补短,并用之改写了原来用汇编编写的UNIX,(即UNIX第5版),但仅在贝尔实验室使用。
1977年出现了《可移植C语言编译程序》 ,推动了UNIX在各种机器上实现 ,C语言也得到推广,其发展相辅相成。
1978年影响深远的名著《The C Programming Language》,被称为标准C。
之后,C语言先后移植到大、中、小、微型计算机上,已独立于UNIX和PDP,风靡世界,成为最广泛的几种计算机语言之一。
1983年,美国国家标准化协会(ANSI)根据C语言各种版本对C的发展和扩充,制定了新的标准ANSI C ,比标准C有了很大的发展。
之后,ANSI又对C语言公布了一系列的标准,目前流行的C语言编译系统大多是以ANSI C为基础进行开发的。
不同版本的C语言的语言功能和语言规则是有差别的,本课程基本上以ANSI C 99为基础。
3、C语言的特点
(1)语言简洁、紧凑,使用方便、灵活。 32个关键字、9种控制语句,程序形式自由
(2)运算符丰富。34种运算符
(3)数据类型丰富,具有现代语言的各种数据结构。
(4)具有结构化的控制语句 ,是完全模块化和结构化的语言。
(5)语法限制不太严格,程序设计自由度大。
(6)允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可直接对硬件进行操作。兼有高级和低级语言的特点 。
(7)目标代码质量高,程序执行效率高。只比汇编程序生成的目标代码效率低10%-20%。
(8)程序可移植性好(与汇编语言比)。基本上不做修改就能用于各种型号的计算机和各种操作系统。
4、C语言的结构和书写格式
书写格式
(1)习惯用小写字母,大小写敏感。
(2)语句以分号(;)结束。
(3)程序的书写格式灵活。
(4){}必须成对出现 。
(5)/* 注释信息 */
(6)常用缩进(锯齿形)格式书写。
5、C程序的开发过程
编写 编译 执行
编译全过程
一般分为四步:预处理、编译、汇编、连接
(1)预处理:删除所有#define,展开宏;处理预编译指令;删除所有注释;添加行号和文件标识。gcc –E *.c –o *.i
(2)编译:把预处理完的文件进行分析和优化并生成汇编代码。
gcc –S *.c –o *.s
(3)汇编:将汇编代码转换成机器可以执行的命令,每条汇编语句对应一条机器指令,只需要根据汇编指令和机器指令的对照表一一翻译即可。
(4)连接:通过调用连接器来连接程序所需要的目标文件和所依赖的库文件,最终生成可执行文件 (a.out).
6、C程序开发的过程常见的错误
语法错误、语义错误、编译器的警告消息
一、数据类型
基本数据类型及长度
char、int、float、double、void
类型长度:/usr/include/limits.h
修饰数据类型
signed、unsigned、long、short
#修饰数据类型和基本数据类型的结合
注意:使用signed修饰int型是冗余的;unsigned ddouble允许使用,但是降低了代码的可移植性。
二、变量与常量
1、变量的命名规则:
由数字、字母、下划线组成,但是不能以数字开头。
不能是C语言的关键字。
变量的分类:全局变量、局部变量、外部变量。
(1)变量的声明
变量在声明时初始化可以减少程序的执行时间。
全局和静态全局变量只在程序开始运行时初始化。局部和静态变量在进入被定义的代码块时初始化。局部变量不经初始化,初值不确定,直到首次赋值时才有确定值。未经初始化的全局和静态局部变量自动设置为 0。
(2)程序中应该减少不必要的全局变量,因为全局变量在程序执行期间一直占用内存空间。
(3)尽量减少全局变量。
2、常量
常量不占用内存空间,不可变。C语言规定,编译器把数值常量表示成最小兼容类型。
三、存储类型
const、extern、static、register、void、auto
四、运算符
1、算术运算符:+ 、 - ; * 、 / 、 %
2、赋值运算符:=
+= 、 -=
*= 、 /= 、 %=
3、关系运算符:> < >= <= == !=
4、逻辑运算符:&& || !
5、自增自减运算符:++ --
6、按位运算符:& | ^ >> << ~
7、求字节运算符:sizeof
8、逗号运算符: ,
五、表达式
C语言表达式是运算符、常量和变量的任意组合。
1、算术表达式
2、逻辑表达式
3、条件表达式(?:)
##运算符的优先级与求值顺序
六、结构化C语句
选择语句
循环语句
跳转语句
1、选择语句
if语句
if语句可以嵌套,最少最支持127层嵌套。
switch语句
最多包含1023个case语句。
2、循环语句
for循环语句
for(init;condition;inc){}
for(expr1;expr2;expr3){}
for(;;){}
while循环语句
while(condition){}
do-while循环
空循环
死循环
3、跳转语句
break
continue
goto
4、return语句
作用:返回到函数的被调用点。
练习:
乘法口诀,水仙花数
1、编写一个程序,该程序读取整数,直到输入0;输入终止后,该程序报告输入的偶数(不包括0)总个数,偶数的平均值;输入的奇数的个数,以及奇数的平均值。
阅读(755) | 评论(0) | 转发(0) |