首先介绍Turbo C程序的基本组成部分; 然后介绍Turbo C的数据类型、变 c5x2FM z
量类型、变量的初始化和赋值; 最后介绍Turbo C的有关操作。通过本节的学习,可 {"T$jV:GB
以对Turbo C语言有一个初步认识。 tHAr9
%5#ts/f
1. Turbo C程序的一般组成部分 Y 3W_Z
LpwjP4vWJ
Turbo C 2.0 象其它语言一样按其规定的格式和提供的语句由用户编写应用程 ZbVo<p5* ]
序。 请看下面一段Turbo C源程序。 例1: [=k$Q
(.3
f]Jn\7j4
H9}z0VI
Fk(nf9M%
/*Example program of Turbo C*/ dm8N;r/w
#include /*包含文件说明*/ 86pujXjc'
void lgc(void);/*子函数说明*/ m)l<2`CM
char answer;/*定义全程变量*/ B:Y"X:Y
int main()/*主函数定义*/ iNj*Gj
{ g\_J
char a;/*定义局部变量*/ |>_e&}Y%L
clrscr(); oYOR%'0*m+
gotoxy(12,3); T1,Nb>gBq^
puts("Welcome to use Turbo C2.0!"); m)"gj**|y
gotoxy(15,13); Jbv66)0M
printf("--Exit"); cAFYEx/(
gotoxy(15,15); M)sM G
C
printf("--Continue"); $*N^bj
while(1) *AK{GfP_
{ ]fxYSm
a=getch(); .V~z6
if(a==27) W:5uoO]=<
break; `sW+R=
if(a==13) zt&"K0X|
{ /e|vz^#+1,
lgc(); vXA+o)*#/
if(answer=='y'||answer=='Y') Qy0Zj$,Z
{ u={A4A#
gotoxy(23,14); \!`k:lusa
puts("Please Write to the Company"); =CBY_
getch(); MZJ@qIg[Y
break; v_U+wga
} i2bkgyzB.
} 'uy\vR&Pz
} ?2d! ^!9
return(0);}void lgc(void){ Z`jc*jgy
clrscr(); :Vdo.uUa
gotoxy(12,8); % YgGw:wZ
printf("The Excellent Selection!"); :pz`bFJk
gotoxy(21,12);
l!S}gbM
printf("Do you have any question?(Y/N)"); |q+3X)Y
answer=getche();} hIBW$
8d|/^U.w~V
4~8!3JH39
Dk^,iY(u
由例子程序可以看出,Turbo C源程序主要有以下几个特点: su2|x
{&u`d.Lk2p
1. 程序一般用小写字母书写; 2!@ER i
hYvWD.c}
2. 大多数语句结尾必须要用";"作为终止符,否则Turbo C 不认为该语句 ]lQLA
IQ
结束; g>gVO@"b2
py-5 :g}d
3. 每个程序必须有一个而且只能有一个称作主函数的main()函数; n1Ic[cM}
#_(t46
4. 每个程序体(主函数和每个子函数,如上例中的main()函数和sub()函数)必须用一对花括号" @%"+;D
{"和"}"括起来; )By#({O
M\m6|P
5. 一个较完整的程序大致包括:包含文件(一组#include<*.h>语句)、 ,a6Oi=+>/U
用户函数说明部分、全程变量定义、主函数和若干子函数组成。在主函数和子函数 b=87k
中又包括局部变量定义、 若干个Turbo C库函数、控制流程语句、用户函数的调用 V^S` d8?
语句等; G q&[T:
)t?_3'W
w'i8yl
bZ
6. 注释部分包含在"/*"和"*/"之间,在编译时它被Turbo C编译器忽略。 {OIktG2gZ
s?Wkh`b
说明: rjaG{ i
OYYk[r
Zqi;by%
1. 象其它一些语言一样,Turbo C的变量在使用之前必须先定义其数据类 a ]b%v9
型,未经定义的变量不能使用。定义变量类型应在可执行语句前面,如上例main()函 "gIjU~'A
数中的第一条语句就是变量定义语句,它必须放在第一各执行语句clrscr()前面。 $bo,m2)
\I-bZ|^
V;N'?Gu
2. PR+L6DT_
在Turbo C中, 大、小写字母是有区别的,相同字母的大、小写代表不同的变量。 zWA~0l.2
l|jb}9(J
3. i3dV2^O
Turbo C程序的书写格式非常灵活,没有严格限制。 v)c[-:"z
]ykMh
例1的主函数可写成: =w,cdU*
KtMD?
V#Pz`D
main(){char c;clrscr();gotoxy(12,3); (_ TKDx_
puts("Welcome to use Turbo C2.0!");gotoxy(15,13); RCC~#bb
printf("--Continue");gotoxy(15,15);...} y+aL5$x6
UL3++bt
9JtPP
这样写语法上没有错误,但阅 (~U1X4
读起来不方便, 同时也使得程序层次不明确。 ^`*p;&(K\^
'Dx_n7&=
T GuvyY
作者建议用Turbo C编程时,一行一条 B[IqLD'6
语句,遇到嵌套语句向后缩进,必要时对程序加上注释行。这样可以便程序结构清楚、 Z*Lv!6WS
易于阅读、维护和修改。通过以上介绍,可以得出Turbo C源程序的一般形式为: >|W\8dTQ
包含文件 6\5"36&/rQ
子函数类型说明 mo*ClU7
全程变量定义 Ld4Jp`Zg
main() b%_[\((
{ +Rq7m]
局部变量定义 "k>;K,:
<程序体> X/AA8QV o
} vVfIe5+OP
sub1() ,b${3*PPQ
{ n&fV^ x
局部变量定义 <&m
`)FJ
<程序体> HUWCCVn&
} +cf. In,{
sub2() <8sy*A?0z
{ R64/m9
局部变量定义 7nl
<程序体> ;=i$0w9 W
} au?5^u\
. U/j+\Kc~
. dk@j!-q^
. @FLa i
subN() ];U}'&
{
JQO%-=t
局部变量定义 ) mG
<程序体> Xxmvg.Nl
} Xhk_h2F[
nNP{>\x;"
其中sub1() ,...,subN()代表用户定义的子函数,程序体指Turbo C 2.0提供的 k<.VR"I
p
任何库函数调用语句、控制流程语句或其它用子函数调用语句等。 @'lO~i
no
UXRQ
8 aC]" C
2. 数据类型 R2B0?fu
ptCAtEO72
在Turbo C语言中, 每个变量在使用之前必须定义其数据类型。Turbo C有以下 ;Y@"!\t}
几种类型:整型(int)、浮点型(float)、字符型(char)、指针型(*)、无值型(void) zKf.jpF^
以及结构(struct)和联合(union)。其中前五种是Turbo C的基本数据类型、后两种 D Kng.P
数据类型(结构和联合)将在第五章介绍。 )an,-EIX%
V+dFL9
2.1 整型(int) =7P(T`j
#fkOm
Y7X
一、整型数说明 4SGF8y@WU
t=6Wk4
SHt#%3EU
加上不同的修饰符,整型数有以下几种类型; 8pE0ANbq
MoP,a9p
signed short int 有符号短整型数说明。简写为short或int,字长为2 j|c6BdROl
M\w%c5
字节共16位二进制数,数的范围是-32768~32767。 [*2|#KSCX
maINp"#
signed long int 有符号长整型数说明。简写为long,字长为4字节共 P%^\<#Ya7
32位二进制数,数的范围是-2147483648~2147483647。 (.J8Q
unsigned short int 无符号短整型数说明。简写为unsigned int,字长 m=e#1Hs
为2字节共16位二进制数,数的范围是0~65535。 z<Y
>phc
unsigned long int 无符号长整型数说明。简写为unsigned long,字长 63Dm{
2i}F
为4字节共32位二进制数,数的范围是0~4294967295。 *=~X1s
lBcRt)_O7
二、整型变量定义 qcdENIy0b
lk. ;
}rbsarG@
可以用下列语句定义整型变量 [R9!Tz
int a,b;/*a、b被定义为有符号短整型变量*/ EC0M0qQ
unsigned long c;/*c被定义为无符号长整型变量*/ u4,b%h.
@"$rR+r'
三、整型常数表示 Ymr\8CG/
5^GFN*poig
按不同的进制区分,整型常数有三种表示方法: VQ]MJjvb
十进制数:以非0开始的数 $ix*xm. 4m
如:220,-560,45900 DUOSL
八进制数:以0开始的数 ,`nl";Zc
如:06;0106,05788 qW(_0<E
十六进制数:以0X或0x开始的数 $KGpcl
如:0X0D,0XFF,0x4e mzoNXf:x
另外, 可在整型常数后添加一个"L"或"l"字母表示该数为长整型数, 如22L, }N}\<RG
0773L,0Xae4l。 8QaF(?
AXOR<Ns`
2.2 浮点型(float) @[] A&)B
一、浮点数说明 cc|"^-j-7
Ze>Pg.k+
'RjMwJy{
Turbo C中有以下两种类型的浮点数: M~ ^ {S[o
float 单浮点数。字长为4 个字节共32 位二进制数,数的范围是 ZPolE_P7
3.4x10-38E~3.4x10+38E。 #&jr9RB
double 双浮点数。字长为 8个字节共 64 位二进制数,数的范围是 9'S~zG%{
1.7x10-308E~1.7x10+308E。 Uk0]A
dtT2h>h9
DHO+JtO
说明: A_\ZY0Xt
浮点数均为有符号浮点数,没有无符号浮点数。 sJ(q.FRM'
A[.5Bi
二、浮点型变量定义 A1u|L^
;N/=)m
-a(\(^NW
可以用下列语句定义浮点型变量: Z<t(h=?
float a,f;/*a,f被定义为单浮点型变量*/ fqgm`4>
double b;/*b被定义为双浮点型变量*/ 6opubI<
<0hJo=6a8
三、浮点常数表示 uY5Gn.Y
S.kFs{;1x
dPfDPb
例如:+29.56,-56.33,-6.8e-18,6.365 _-.~>C
说明: raPUx _$PH
1. 浮点常数只有一种进制(十进制)。 9&t!U+
2. 所有浮点常数都被默认为double。 ;"@FLq(n
3. 绝对值小于1的浮点数, 其小数点前面的零可以省略。如:0.22可写为.22,- bk#t+tuk
0.0015E-3可写为-.0015E-3。 }hjJt,m
4. Turbo C默认格式输出浮点数时,最多只保留小数点后六位。 8*V8B=q}K
uVBMI.&w
2.3 字符型(char) l8_TeO
^"N sb &
M+N7JpR
加上不同的修饰符,可以定义有符号和无符号两种类型的字符型变量,例如: koizk&)
char a:/*a被定义为有符号字符变量*/ W%k0_Y/5
unsigned char l;/*l被定义为无符号字符变量*/ P=jbr"5Q:
字符在计算机中以其ASCII码方式表示,其长度为1个字节,有符号字符型数取值 U2(|/M+
范围为-128~127,无符号字符型数到值范围是0~255。因此在Turbo C语言中,字符型 ZdJer6:Z}
数据在操作时将按整型数处理,如果某个变量定义成char,则表明该变量是有符号的, ?-e'gC
即它将转换成有符号的整型数。 s3LR6Z7;i
Turbo C中规定对ASCII码值大于0x80的字符将被认为是负数。例如ASCII 值为 J&