printf;
; O+ E. I8 ~# D% k scanf;- E+ D5 G$ Z7 ?1 t/ o
s=sin;$ p$ I1 s5 Y( ]% J1 d, E- |4 C4 C
printf;
! v6 ^2 L, Q, G- q! \ 运行本程序时,首先在显示器屏幕上给出提示串input number,这是由执行部分的第一行完成的。用户在提示下从键盘上键入某一数,如5,按下回车键,接着在屏幕上给出计算结果。
$ b! l( f% f: U4 e, m6 q 输入和输出函数8 K- H+ Y- z) q8 _9 E( i7 m
在前两个例子中用到了输入和输出函数scanf和 printf,在第三章中我们要详细介绍。这里我们先简单介绍一下它们的格式,以便下面使用。scanf和 printf这两个函数分别称为格式输入函数和格式输出函数。其意义是按指定的格式输入输出值。因此,这两个函数在括号中的参数表都由以下两部分组成:“格式控制串”,参数表 格式控制串是一个字符串,必须用双引号括起来,它表示了输入输出量的类型。各种类型的格式表示法可参阅第三章。在printf函数中还可以在格式控制串内出现非格式控制字符,这时在显示屏幕上将原文照印。参数表中给出了输入或输出的量。当有多个量时,用逗号间隔。例如:
6 V0 h1 f3 A" o printf;
% O2 t Z6 O$ y: h 其中%lf为格式字符,表示按双精度浮点数处理。它在格式串中两次现,对应了x和s两个变量。其余字符为非格式字符则照原样输出在屏幕上# g# c; h g0 O) o' _# E; B' {
int max;
( ~ ~0 O- J" g; o+ V1 c main, b! z9 g( B. L |0 A; e5 W+ M( o! E# W
int max8 ?! _% Y# S+ [5 I" [
此函数的功能是输入两个整数,输出其中的大数。% A! s9 f/ @5 y- _: Z& a
/*函数说明*/) t2 J- l4 Q0 s! I
/*主函数*/) i7 a: }4 ^9 h; w
/*变量说明*/; c( u) V% e6 M3 S
/*输入x,y值*/
6 u7 ]# O( S& w( Y$ p& ` /*调用max函数*/, E* N1 }6 P, W0 F; V$ \/ C" `
/*输出*/
$ q$ p4 H* w! n) I9 O( D: J /*定义max函数*/% l% r6 F+ f" N9 ~, E9 u
/*把结果返回主调函数*/, F. m" _/ p* a( k1 Y
上面例中程序的功能是由用户输入两个整数,程序执行后输出其中较大的数。本程序由两个函数组成,主函数和max 函数。函数之间是并列关系。可从主函数中调用其它函数。max 函数的功能是比较两个数,然后把较大的数返回给主函数。max 函数是一个用户自定义函数。因此在主函数中要给出说明。可见,在程序的说明部分中,不仅可以有变量说明,还可以有函数说明。关于函数的详细内容将在第五章介绍。在程序的每行后用/*和*/括起来的内容为注释部分,程序不执行注释部分。
" N& j5 u0 e+ C7 t! n. u0 `" q 上例中程序的执行过程是,首先在屏幕上显示提示串,请用户输入两个数,回车后由scanf函数语句接收这两个数送入变量x,y中,然后调用max函数,并把x,y 的值传送给max函数的参数a,b。在max函数中比较a,b的大小,把大者返回给主函数的变量z,最后在屏幕上输出z的值。
* ^) ~% H0 p5 e# A C源程序的结构特点
& ?; q9 e% @7 t B0 K6 b8 S5 m 1.一个C语言源程序可以由一个或多个源文件组成。% q* Q$ s- y! W% r: n" v
2.每个源文件可由一个或多个函数组成。
( I" V. P/ A4 v( \5 e! Y 3.一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。5 c/ {4 e# V+ ^! c% `
4.源程序中可以有预处理命令,预处理命令通常应放在源文件或源程序的最前面。! Q' a: P9 p$ n: ^ E8 H, B
5.每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。
8 @$ b: a/ Z/ J+ e5 y 6.标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。
O: a V3 G1 y( y; ]6 N3 ~1 i 书写程序时应遵循的规则- R. n& k( ]4 o$ T
从书写清晰,便于阅读,理解,维护的角度出发,在书写程序时 应遵循以下规则:. e6 m, ~) W3 r$ M2 P. U' m( m
1.一个说明或一个语句占一行。8 Q% N0 g) b" D/ [- d8 Z
2.用 括起来的部分,通常表示了程序的某一层次结构。一般与该结构语句的第一个字母对齐,并单独占一行。- p7 S, W* X+ Z3 ]3 A/ ^
3.低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在时应力求遵循这些规则,以养成良好的风格。
5 B, l7 }: ~; J C语言的字符集7 g- q- ?9 F. f' R
字符是组成语言的最基本的元素。C语言字符集由字母,数字,空格,标点和特殊字符组成。在字符常量,字符串常量和注释中还可以使用汉字或其它可表示的图形符号。
' t& i, i ~6 G% O 1.字母, I# h' R j2 S. L% ]
小写字母a~z共26个,大写字母A~Z共26个
& a0 p! d: j& A, ^4 B. G 2.数字# W, g# K% @6 `6 o& J0 g
0~9共10个9 U' n9 z) M. G' D, e! S
3.空白符' V2 U/ O, _0 M. H a
空格符、制表符、换行符等统称为空白符。空白符只在字符常量和字符串常量中起作用。在其它地方出现时,只起间隔作用, 编译程序对它们忽略。因此在程序中使用空白符与否,对程序的编译不发生影响,但在程序中适当的地方使用空白符将增加程序的清晰性和可读性。
1 c6 k% c0 U' m$ I* T& e; j 4.标点和特殊字符
# u5 O9 }0 M& h% L9 ~ C语言词汇
* u7 t3 y9 H- R0 ^4 ` 在C语言中使用的词汇分为六类:标识符,关键字,运算符,分隔符,常量,注释符等。# {9 Q1 r6 E7 X1 C7 B/ Q
1.标识符% @9 f8 T( K ]+ `* q; W; `$ g
在程序中使用的变量名、函数名、标号等统称为标识符。除库函数的函数名由系统定义外,其余都由用户自定义。C 规定,标识符只能是字母、数字、下划线组成的字符串,并且其第一个字符必须是字母或下划线。$ q9 \1 b# v6 r- M4 M4 D1 \
以下标识符是合法的:
$ O8 _2 X4 z/ s$ a- |. [6 U a,x,x3,BOOK 1,sum5
. q" P& k9 i! j! C% x; Y 以下标识符是非法的:3 D- E0 N0 s7 U
3s 以数字开头% ~) Q- \8 y6 V1 e9 [
s*T 出现非法字符*
3 H q) I' U1 I6 k6 Q -3x 以减号开头
( F. x* @" l8 f0 G bowy-1 出现非法字符-/ Q5 s2 e' _ d8 {
在使用标识符时还必须注意以下几点:- e" O6 E3 P0 e) F
标准C不限制标识符的长度,但它受各种版本的C 语言编译系统限制,同时也受到具体机器的限制。例如在某版本C 中规定标识符前八位有效,当两个标识符前八位相同时,则被认为是同一个标识符。2 R, x& y- w4 r( x- ~: Y% i* D
在标识符中,大小写是有区别的。例如BOOK和book 是两个不同的标识符。
- k% d/ B2 e! x3 E" h 标识符虽然可由程序员随意定义,但标识符是用于标识某个量的符号。因此,命名应尽量有相应的意义,以便阅读理解,作到“顾名思义”。 |