a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 101|回复: 1

[C语言] 计算机等级考试二级C语言的程序结构(1)

[复制链接]
发表于 2012-7-31 21:48:08 | 显示全部楼层 |阅读模式
1 基本程序结构 任何一种程序设计语言都具有特定的语法规则和规定的表达方法。一个程序只有严格按照语言规定的语法和表达方式编写,才能保证编写的程序在计算机中能正确地执行,同时也便于阅读和理解。
" ^1 l6 _! P$ r0 G. Y$ V为了了解C语言的基本程序结构,我们先介绍几个简单的C程序。
% v$ L2 a! o% k5 U7 X5 P" | $ {# O# D9 s8 T( m
这是一个最简单的C程序,其执行结果是在屏幕上显示一行信息: RUN
; j% `) Z# x- [" g. tThis is a sample of c program.
4 r8 |6 F3 u" O" Y- \2 L4 \- m% B& V
本程序的执行过程是:
0 R$ N& _/ K# G/ \$ m7 `4 i• 程序从m a i n ( )处开始。5 k5 Z5 n7 c9 t/ v$ X4 Y) {
• 变量a代表一个整数,并且初始值为3。
$ I( d! U, f" B• 执行程序(函数)p r o c ( );屏幕上显示H e l l o,\ n为转义字符,代表换行的意思。
6 U' H; w" ^) B7 U( A  A) ~• 执行程序(函数)f u n c ( );并将结果赋予a,此时,a的值为2。
& f: ?6 j. |- Z+ M# E• 屏幕上显示“This is a sample of c program.”。0 W- j* ]8 Y- X2 H9 ?
程序执行的结果是在屏幕显示两行信息:
1 y% S, W% G0 C! f0 ER U N
' ~" w  }, J" g/ J2 D1 h- M0 OH e l l o .
3 i! m* R6 m* j- Z) F/ [This is a sample of c program.
* F* K- A) h6 N+ f8 Z# Z$ I# I程序中/ * . . . . . * /表示对程序的说明(称为注释),不参与程序的运行。注释文字可以是任意字符,如汉字、拼音、英文等。) B4 `" ^/ h+ L/ [) D
# X# |5 y2 M4 h6 Y; i2 U
本程序的功能是对从键盘输入的长方体的长、宽、高三个整型量求其体积的值。程序运行的情况如下:
. U& Z' n( ?! x0 ?5 [# Z# _$ ^R U N ↵
* b$ }# ~; b$ J9 `5 , 8 , 6 ↵
$ Z- N% R7 }* e: dv = 240- |$ F" h/ h2 s) M! s# R6 \" D

6 g4 u" T1 |1 Z. L0 n8 A/ m在本例中,m a i n函数在调用v o l u m e函数时,将实际参数x、y、z的值分别传送给v o l u m e函数中的形式参数a、b、c。经过执行v o l u m e函数得到一个结果(即v o l u m e函数中变量p的值)并把这个值赋给变量v。
; J/ c9 A  m5 x+ Q从上面程序例子,可以看出C程序的基本结构。
; P2 x0 d) x# G' v- [C程序为函数模块结构,所有的C程序都是由一个或多个函数构成,其中必须只能有一个主函数m a i n ( )。程序从主函数开始执行,当执行到调用函数的语句时,程序将控制转移到调用函数中执行,执行结束后,再返回主函数中继续运行,直至程序执行结束。C程序的函数是由编译系统提供的标准函数(如p r i n t f、s c a n f等)和由用户自己定义的函数(如p r o c、f u n c、v o l u m e等)。虽然从技术上讲,主函数不是C语言的一个成分,但它仍被看做是其中的一部分,因此,“m a i n”不能用作变量名。$ ?1 g8 }' V( f$ F
函数的基本形式是:函数类型函数名(形式参数)形式参数说明;
3 ~, q: v* |: a1 l# }! Q9 p{, y) N& |6 J* C. F! n8 X' N

! _" I. E# v" q数据说明部分;9 `9 O  L. }* t- S+ \8 K
语句部分;1 J, O+ j6 b! Z" ^5 ^9 P

. j9 m/ x7 d) R; L}/ f7 C# S$ ]$ ~* b* r  a
! \% _4 E) C7 D9 c2 j$ ^) T% U# o, r/ }
其中:函数头包括函数说明、函数名和圆括号中的形式参数(如int volume(a,b,c)),如果函数! B; l# p" y3 n! V5 o1 v
调用无参数传递,圆括号中形式参数为空(如void proc()函数)。形式参数说明指定函数调用传递参数的数据类型(如例1 . 3中语句int a,b,c;)。函数体包括函数体内使用的数据说明和执行函数功能的语句,花括号{和}表示函数体的2 F  A1 m) B9 B$ A0 F; w
开始和结束。0 d9 j: ?& E8 f: l
1.3.2 函数库和链接. _4 f6 N# h, s
从技术上讲,纯粹由程序员自己编写的语句构成C语言程序是可能的,但这却是罕见的。因为所有的C编译程序都提供能完成各种常用任务的函数—函数库(如p r i n t f、s c a n f等)。C编译程序的实现者已经编写了大部分常见的通用函数。当我们调用一个别人编写的函数时编译程序“记忆”它的名字。随后,“链接程序”把我们编写的程序同标准函数库中找到的目标码结合起来,这个过程称为“链接”。
, V4 F' m; U5 h保存在函数库中的函数是可重定位的。这意味着其中机器码指令的内存地址并未绝对地确定, 只有偏移量是确定的。当把程序与标准函数库中的函数相链接时,内存偏移量被用来产生实际地址。有关重定位的详细内容,请查阅其他技术书籍。
, a2 i) K& Z5 I+ y) W) E- l) G编写程序时用到的函数,许多都可以在标准函数库中找到。它们是可以简单地组合起来的程序构件。编写了一个经常要用的函数之后,可将其放入库中备用。
: i8 @2 \! h! Y9 G* b5 s1.3.3 开发一个C程序+ U0 m" p  F- Z) J
开发一个C程序,包括以下四步:
* y  ]3 ]! f; E1 L1) 程序设计程序设计亦称程序编辑。程序员用任一编辑软件(编辑器)将编写好的C程序输入计算机,并以文本文件的形式保存在计算机的磁盘上。编辑的结果是建立C源程序文件。C程序习惯上使用小写英文字母,常量和其他用途的符号可用大写字母。C语言对大、小写字母是有区别的。关键字必须小写。
6 T! n5 Q: C  r" U: Q" p4 Z2) 程序编译编译是指将编辑好的源文件翻译成二进制目标代码的过程。编译过程是使用C语言提供的编译程序(编译器)完成的。不同操作系统下的各种编译器的使用命令不完全相同,使用时应注意计算机环境。编译时,编译器首先要对源程序中的每一个语句检查语法错误,当发现错误时,就在屏幕上显示错误的位置和错误类型的信息。此时,要再次调用编辑器进行查错修改。然后,再进行编译,直至排除所有语法和语义错误。正确的源程序文件经过编译后在磁盘上生成目标文件。: X- G0 T  H" M  F. a& y# _
3 ) 链接程序编译后产生的目标文件是可重定位的程序模块,不能直接运行。链接就是把目标文件和其他分别进行编译生成的目标程序模块(如果有的话)及系统提供的标准库函数链接在一起,生成可以运行的可执行文件的过程。链接过程使用C语言提供的链接程序(链接器)完成,生成的可执行文件存在磁盘中。
7 Y8 y& k9 z; B/ |* N1 t+ @) y- q9 d0 ~* m8 Y2 i5 n
4) 程序运行生成可执行文件后,就可以在操作系统控制下运行。若执行程序后达到预期目的,则C程序的开发工作到此完成。否则,要进一步检查修改源程序,重复编辑—编译
回复

使用道具 举报

 楼主| 发表于 2012-7-31 21:48:09 | 显示全部楼层

计算机等级考试二级C语言的程序结构(1)

</p>
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-6-2 10:00 , Processed in 0.355401 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表