Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1527457
  • 博文数量: 329
  • 博客积分: 2773
  • 博客等级: 少校
  • 技术积分: 4219
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-24 14:17
个人简介

淡定从容,宁静致远

文章分类

全部博文(329)

文章存档

2016年(4)

2015年(50)

2014年(68)

2013年(45)

2012年(162)

分类: C/C++

2012-12-12 20:36:45

一、学习程序设计的目的:
使用计算机的过程:
                 设计程序
输入程序  ——>       |
  |              实现程序(编码)
运行程序             |
  |               存储程序
输入数据
  |
获取结果
  |
结束程序
二、程序和语言
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) |
给主人留下些什么吧!~~