首先介绍Turbo C程序的基本组成部分; 然后介绍Turbo C的数据类型、变 _ ?=bW
量类型、变量的初始化和赋值; 最后介绍Turbo C的有关操作。通过本节的学习,可 N',]WZ}
以对Turbo C语言有一个初步认识。 $wC]S4C
wGAN"K:e
1. Turbo C程序的一般组成部分 .(nq"&u-*
5qB>Song
Turbo C 2.0 象其它语言一样按其规定的格式和提供的语句由用户编写应用程 4*d_2:|u
序。 请看下面一段Turbo C源程序。 例1: hDzKB))<w
sd.:PE <
,SS@]9A&
ow%s_yV]R
/*Example program of Turbo C*/ F5{~2~Cw(
#include /*包含文件说明*/ 8`9!ocrM
void lgc(void);/*子函数说明*/ L 'H1\'
o
char answer;/*定义全程变量*/ swe6AQ-
int main()/*主函数定义*/
X1y1
{ @(&ki~+
char a;/*定义局部变量*/ JrS/"QSA
clrscr(); M
HlP)'
gotoxy(12,3); q<.^DO~$L
puts("Welcome to use Turbo C2.0!"); }Geip@Ot
gotoxy(15,13); P g7W:L7
printf("--Exit"); y7$e7~}/
gotoxy(15,15); 3mpEF<z
printf("--Continue"); Fg`r:,(a
while(1) GfPe0&h
{ 19&!#z
a=getch(); Dy0cA| E
if(a==27) cA AJ7?
break; V=\&eS4^"
if(a==13) +X"TiA7{j
{ cfa#a!Y4
lgc(); ^cBA8 1
if(answer=='y'||answer=='Y') xw]Zo<F
{ w,9$*=k
gotoxy(23,14); X62z>mM
puts("Please Write to the Company"); +
ECV|mkk
getch(); .K;*uq:0
break; \d%&_rp
} ` _[\j]
} $Ob]JAf}
} <fWho%eOK
return(0);}void lgc(void){ /Y%) Y
clrscr(); {#0B~Zr
gotoxy(12,8); .lTU[(qwu
printf("The Excellent Selection!"); +TA(crD
gotoxy(21,12); ,Ix7Yg[
printf("Do you have any question?(Y/N)"); JKGUg3\~
answer=getche();} jpT!di
qdvGBdF
=}u;>[3
Ui'~d(F
由例子程序可以看出,Turbo C源程序主要有以下几个特点: ;m{[9i`2
pBh[F5
1. 程序一般用小写字母书写; J6rXbui$
Nr6YQH*[
2. 大多数语句结尾必须要用";"作为终止符,否则Turbo C 不认为该语句 rOS fDv
结束; zxTm`Dh;[
\d]&}`'4{f
3. 每个程序必须有一个而且只能有一个称作主函数的main()函数; 9F ).i
wW]|ElYR=
4. 每个程序体(主函数和每个子函数,如上例中的main()函数和sub()函数)必须用一对花括号" oI/@w
{"和"}"括起来; *
vEG%Y
?r2Im5N
5. 一个较完整的程序大致包括:包含文件(一组#include<*.h>语句)、 N{L ]H_=
用户函数说明部分、全程变量定义、主函数和若干子函数组成。在主函数和子函数 E&GUg/d
中又包括局部变量定义、 若干个Turbo C库函数、控制流程语句、用户函数的调用 5rfGMk<
语句等; J rYpZ.Nh
$bD 3
;x|4Tm
6. 注释部分包含在"/*"和"*/"之间,在编译时它被Turbo C编译器忽略。 -GH#nF3G
Xl@nv9m
说明: "JbFbcj
:G$NQ*(z
Uiv;0Tovl
1. 象其它一些语言一样,Turbo C的变量在使用之前必须先定义其数据类 VOp8 ,!
型,未经定义的变量不能使用。定义变量类型应在可执行语句前面,如上例main()函 6@; w%Ea
数中的第一条语句就是变量定义语句,它必须放在第一各执行语句clrscr()前面。 73 Tg{~
[&3G `8hY
$BkdC'D
2. d #y{eV$Q
在Turbo C中, 大、小写字母是有区别的,相同字母的大、小写代表不同的变量。 eNi.d;8F
VCkhK9(N
3. jFbz:aUF
Turbo C程序的书写格式非常灵活,没有严格限制。 Eki7bT@/
W~Eq_J?I
例1的主函数可写成: x]Q+M2g?
}us%G&A2u
_dIv{L!
main(){char c;clrscr();gotoxy(12,3); _H<ur?G
puts("Welcome to use Turbo C2.0!");gotoxy(15,13); -Y2h vC
printf("--Continue");gotoxy(15,15);...} C(7LwV
Hg*6I%D[So
xGPt5l<M&
这样写语法上没有错误,但阅 V?0|#=_mE
读起来不方便, 同时也使得程序层次不明确。 %fK"g2:
'?wv::t
2gg5:9
作者建议用Turbo C编程时,一行一条 -QI1>7sl
语句,遇到嵌套语句向后缩进,必要时对程序加上注释行。这样可以便程序结构清楚、 71w
易于阅读、维护和修改。通过以上介绍,可以得出Turbo C源程序的一般形式为: 4}LGE>
包含文件 ATPc~f
子函数类型说明 X 4;+`
全程变量定义 ]ZHC*r2i
main() Zb<DgJ=3
{ SN\;&(?G
局部变量定义 =DcKHL(m
<程序体> P;mmK&&
} )7*Apy==x
sub1() f)?s.DvUB
{ po\Q Me
局部变量定义 Z:u7`%
<程序体> AIN_.=]"?
} ~^KemwogPN
sub2() /8Ca8Ju
{ f\2'/g}6a
局部变量定义 '~<D[](/F
<程序体> y[.0L!C {
} q J@XVN4
. !NZFo S~
. oT_k"]~Q~2
. fL'
42
subN() y3))I\QT
{ +Y'(,J
局部变量定义 +c+#InsY
<程序体> $NT{ssh
} CdC&y}u
){5$8
其中sub1() ,...,subN()代表用户定义的子函数,程序体指Turbo C 2.0提供的 Rb',"` 7
任何库函数调用语句、控制流程语句或其它用子函数调用语句等。 ceyZ4M
0 \&4?
vb\ UP&Ip
2. 数据类型 drNfFx2
{UvZ
在Turbo C语言中, 每个变量在使用之前必须定义其数据类型。Turbo C有以下 !E4YUEY6
几种类型:整型(int)、浮点型(float)、字符型(char)、指针型(*)、无值型(void) 7:9WiN5b
以及结构(struct)和联合(union)。其中前五种是Turbo C的基本数据类型、后两种 "qMd%RP
数据类型(结构和联合)将在第五章介绍。 Y GvtG U-
}+,1G!?z
2.1 整型(int) *=UEx0_!q
OiJ1&Fz(
一、整型数说明 s-3vp
mst-:F[h
2PAotD4+I
加上不同的修饰符,整型数有以下几种类型; '<4/Md[
FJ}/g
?
signed short int 有符号短整型数说明。简写为short或int,字长为2 x_s9DkX
[;83
IoU}
字节共16位二进制数,数的范围是-32768~32767。 `>g:
:
P)7SK&]r;=
signed long int 有符号长整型数说明。简写为long,字长为4字节共 cOxF.(L
32位二进制数,数的范围是-2147483648~2147483647。 gR?=z}`@p
unsigned short int 无符号短整型数说明。简写为unsigned int,字长 305()
为2字节共16位二进制数,数的范围是0~65535。 jaFBz&P/#
unsigned long int 无符号长整型数说明。简写为unsigned long,字长 NcwZ_*sqj
为4字节共32位二进制数,数的范围是0~4294967295。 W7_X=>l
" q0lh
二、整型变量定义 j2k,)MHu!x
QUH USDT
<t.yn\G-w
可以用下列语句定义整型变量 m!tB;:6
int a,b;/*a、b被定义为有符号短整型变量*/ Go=MG:`
unsigned long c;/*c被定义为无符号长整型变量*/ !J3g, p*
sJw#^l
三、整型常数表示 CM!bD\5
~%bz2Pd%
按不同的进制区分,整型常数有三种表示方法: E}b"
qOV
十进制数:以非0开始的数 3.xsCcmP
如:220,-560,45900 qVx4 t"%L>
八进制数:以0开始的数 rMdOE&5G
如:06;0106,05788 gcQ>:mi
十六进制数:以0X或0x开始的数 wHEt;rc(
如:0X0D,0XFF,0x4e ![0\m2~iv
另外, 可在整型常数后添加一个"L"或"l"字母表示该数为长整型数, 如22L, OLXG0@
0773L,0Xae4l。 r@%-S!$
MOJKz!%
2.2 浮点型(float) SdeKRZ{o
一、浮点数说明 hDSt6O4za
l> W?XH
g;UB+Y 247
Turbo C中有以下两种类型的浮点数: %8DU}}Rj
float 单浮点数。字长为4 个字节共32 位二进制数,数的范围是 `!K(P- yB?
3.4x10-38E~3.4x10+38E。 Xt_8=Q
double 双浮点数。字长为 8个字节共 64 位二进制数,数的范围是 9NBFG~)|l[
1.7x10-308E~1.7x10+308E。 tux/@}I
6:fe.0H9
@_J~zo
说明: ~*79rDs{
浮点数均为有符号浮点数,没有无符号浮点数。 v1oq[+
si.ZTG9m
二、浮点型变量定义 iT227v!s
)CD4k:bm
(1^AzE%U+Z
可以用下列语句定义浮点型变量: @/9#Z4&d0
float a,f;/*a,f被定义为单浮点型变量*/ I~-W4{
double b;/*b被定义为双浮点型变量*/ x&@. [FJhO
TMpV.iH
三、浮点常数表示 1I{vBeMj
|Rd?s0u
-r@fLkwg
例如:+29.56,-56.33,-6.8e-18,6.365 SDwTGQ/0
说明: ^KM' O8
1. 浮点常数只有一种进制(十进制)。 wDVKp['
2. 所有浮点常数都被默认为double。 bC{}&a
3. 绝对值小于1的浮点数, 其小数点前面的零可以省略。如:0.22可写为.22,- >7V96jL$Y
0.0015E-3可写为-.0015E-3。 Hbn%CdDk1
4. Turbo C默认格式输出浮点数时,最多只保留小数点后六位。 M%92^;|`
V|gW%Z,j
2.3 字符型(char) EZ:pcnL{
?
%XTD39
%JF^@\E!|
加上不同的修饰符,可以定义有符号和无符号两种类型的字符型变量,例如: C&