首先介绍Turbo C程序的基本组成部分; 然后介绍Turbo C的数据类型、变
KnxK9
量类型、变量的初始化和赋值; 最后介绍Turbo C的有关操作。通过本节的学习,可 MNWuw;:v
以对Turbo C语言有一个初步认识。 4khc*fh
C
$*#<<G
1. Turbo C程序的一般组成部分 V:*6R/Ft
w3E#v&"=Y
Turbo C 2.0 象其它语言一样按其规定的格式和提供的语句由用户编写应用程 -![>aqWmj1
序。 请看下面一段Turbo C源程序。 例1: P&.-c _
U{?#W
ibL
d*tn&d~k,
/*Example program of Turbo C*/ .\}nDT
#include /*包含文件说明*/ K1_#Jhz
void lgc(void);/*子函数说明*/ Kk|4
char answer;/*定义全程变量*/ gBd@4{y6C.
int main()/*主函数定义*/ W0;MGBfb
{ (_Ky'.
char a;/*定义局部变量*/ m>&:)K}m
clrscr(); * G0I2
gotoxy(12,3); JS#AoPWA
puts("Welcome to use Turbo C2.0!"); TJ+,G4z
gotoxy(15,13); Qf.]Mw?Bm
printf("--Exit"); \I+#M-V
gotoxy(15,15); p|RFpn2ygF
printf("--Continue"); \wM8I-f!
while(1) rGUu K0L&
{ pZV=Co3!I
a=getch(); F*J@OY8i
if(a==27) ,]H2F']4Z
break; 8/BWe
;4
if(a==13) D5$|vv1
{ owKOH{otf
lgc(); +LB2V3UZ
if(answer=='y'||answer=='Y') Q1^kU0M }
{ v)s;
wD
gotoxy(23,14); cVuT|b^
puts("Please Write to the Company"); 9`Zwa_Tni
getch(); 45U!\mG
break; 2e|m3
} r31)Ed$
} ~tB#Q6`nB
} ~d"9?K^#
return(0);}void lgc(void){ TS49{^d$
clrscr(); HtAO9
gotoxy(12,8); o3,}X@p
printf("The Excellent Selection!"); \SyG#.$
gotoxy(21,12); .Hm1ispq
printf("Do you have any question?(Y/N)"); :O/QgGZN$
answer=getche();} R}T\<6Y
X6G2$|
{2T;^+KE
qj:\)#I
由例子程序可以看出,Turbo C源程序主要有以下几个特点: R@A"U[*
R>y/Y<5=
1. 程序一般用小写字母书写; #H-EOXy
kJk6lPSqi7
2. 大多数语句结尾必须要用";"作为终止符,否则Turbo C 不认为该语句 A?4s+A@Eg
结束; 1;"DIsz@d
&b9bb{y_$K
3. 每个程序必须有一个而且只能有一个称作主函数的main()函数; x't@Mc
_qvzZ6
4. 每个程序体(主函数和每个子函数,如上例中的main()函数和sub()函数)必须用一对花括号" Sgq" 3(+%,
{"和"}"括起来; cllnYvr3
:7[4wQDt4
5. 一个较完整的程序大致包括:包含文件(一组#include<*.h>语句)、 f <pJ_
用户函数说明部分、全程变量定义、主函数和若干子函数组成。在主函数和子函数 I08W I u
中又包括局部变量定义、 若干个Turbo C库函数、控制流程语句、用户函数的调用 u`Abko<D
语句等; ':#DROe!
G^2%F5@
^
RIWW0
6. 注释部分包含在"/*"和"*/"之间,在编译时它被Turbo C编译器忽略。 h)pYV>!d
qt`HP3J&
说明: 3F?_{A
!~fy".|x
M+GtUE~"
1. 象其它一些语言一样,Turbo C的变量在使用之前必须先定义其数据类 ,lb >
型,未经定义的变量不能使用。定义变量类型应在可执行语句前面,如上例main()函 ^2\-zX!bt
数中的第一条语句就是变量定义语句,它必须放在第一各执行语句clrscr()前面。 ,?(U4pzX
O*udV E>
6~tj"34_
2. BXa.XZ<n(
在Turbo C中, 大、小写字母是有区别的,相同字母的大、小写代表不同的变量。 q"Th\? }%
>B$J
3. Y[.f`Ei2
Turbo C程序的书写格式非常灵活,没有严格限制。 o|Kd\<rY
bA02)?L
例1的主函数可写成: \%Lj !\
@YHt[>*S
Hd89./v`:
main(){char c;clrscr();gotoxy(12,3); Mt\.?V:
puts("Welcome to use Turbo C2.0!");gotoxy(15,13); qx";G
printf("--Continue");gotoxy(15,15);...} L17{W4
w On*QO[
8T}Dn\f
这样写语法上没有错误,但阅 h)h%y)1
读起来不方便, 同时也使得程序层次不明确。 4MPR
Q=h37]U+
Rgb&EnVW
作者建议用Turbo C编程时,一行一条 =i:,")W7=
语句,遇到嵌套语句向后缩进,必要时对程序加上注释行。这样可以便程序结构清楚、 S0H|:J
易于阅读、维护和修改。通过以上介绍,可以得出Turbo C源程序的一般形式为: 4GG0jCNk
包含文件 8/zv3.+[
子函数类型说明 Uc( z|
全程变量定义 sOhKMz
main() r:--DKt
{ Q9{f'B
局部变量定义 ZDbzH=[
<程序体> 0`$fs.4c
} Z=9gok\
sub1() q]#j,}cN9
{ LX{mr{
局部变量定义 BDT"wy8
<程序体> 9=.7[-6i9
} *QA{xvT
sub2() 9{CajtN
{ Y
lhKP;
局部变量定义 bA\(oD+:
<程序体> xwa@h}\#
} 46gDoSS
. ?eDZ-u9)
. &EJ/Rl
. k|3hs('y|
subN() cQrXrij;!
{ 349BQ5ND
局部变量定义 9yWSlbPr]
<程序体> C@!bd+'
} m*vz
_71&".A
其中sub1() ,...,subN()代表用户定义的子函数,程序体指Turbo C 2.0提供的 Q=t_m(:0
任何库函数调用语句、控制流程语句或其它用子函数调用语句等。 cf%aOHYI*
E'^ny4gL
SS!b`
2. 数据类型 <['ucp
d"OYq
在Turbo C语言中, 每个变量在使用之前必须定义其数据类型。Turbo C有以下 lY[\eQ
1:
几种类型:整型(int)、浮点型(float)、字符型(char)、指针型(*)、无值型(void) Qb8Z+7
以及结构(struct)和联合(union)。其中前五种是Turbo C的基本数据类型、后两种 2[i(XG{/
数据类型(结构和联合)将在第五章介绍。 (&Mv!6]
K)GpQ|4:<
2.1 整型(int) L b-xc]
wo9`-o6
一、整型数说明 ;^cMP1SH
tY%T
TUq
,
加上不同的修饰符,整型数有以下几种类型; e,
}{$HStZ
X/FR e[R
signed short int 有符号短整型数说明。简写为short或int,字长为2 G6p R?K+
V)]lca
字节共16位二进制数,数的范围是-32768~32767。 +do*C=z
RmJ|g<
signed long int 有符号长整型数说明。简写为long,字长为4字节共 J~)JsAXAI
32位二进制数,数的范围是-2147483648~2147483647。 ^f9>tI{
unsigned short int 无符号短整型数说明。简写为unsigned int,字长 `$XgfMBf |
为2字节共16位二进制数,数的范围是0~65535。 {m/KD 'b_
unsigned long int 无符号长整型数说明。简写为unsigned long,字长 ce7$#
# f
为4字节共32位二进制数,数的范围是0~4294967295。 Q}|0
8@r>`c
二、整型变量定义 !im%t9
y(X^wC
?d_vD@+\
可以用下列语句定义整型变量 c3(0BSv
int a,b;/*a、b被定义为有符号短整型变量*/ s:ojlmPb
unsigned long c;/*c被定义为无符号长整型变量*/ &'u%|A@
';LsEI[
三、整型常数表示 <K
<|G
FTu<$`!1L
按不同的进制区分,整型常数有三种表示方法: &Z%'xAOGR
十进制数:以非0开始的数 j-zWckT{
如:220,-560,45900 'j;i4ie>*x
八进制数:以0开始的数 \_ MWZRMc5
如:06;0106,05788 n^` `)"
十六进制数:以0X或0x开始的数 #r QT)n
如:0X0D,0XFF,0x4e ,qj M1xkL$
另外, 可在整型常数后添加一个"L"或"l"字母表示该数为长整型数, 如22L, .F3~eas
0773L,0Xae4l。 VVqpzDoXG
oxLO[js
2.2 浮点型(float) 6kO+E5;X
一、浮点数说明 wlpcuz@
[a7S?%>Bh
]L?WC
Turbo C中有以下两种类型的浮点数: |Elz{i-
float 单浮点数。字长为4 个字节共32 位二进制数,数的范围是 74a k|(!
3.4x10-38E~3.4x10+38E。 *
yGlX[
double 双浮点数。字长为 8个字节共 64 位二进制数,数的范围是 u.2^t:A
1.7x10-308E~1.7x10+308E。 h<i.Z7F;tj
p+V::O&&r
\O)u' Bu
说明: oI"gQFGu`u
浮点数均为有符号浮点数,没有无符号浮点数。 f!G%$?]
;ZTh(_7
二、浮点型变量定义 XsX];I{E,
'y7<!uo?
S2?)Sb`
可以用下列语句定义浮点型变量: 0aGAF ]
float a,f;/*a,f被定义为单浮点型变量*/ eBqF@'DQ
double b;/*b被定义为双浮点型变量*/ n/^QPR$>.
} [OEtd{
三、浮点常数表示 H>wXQ5 ?W;
D0yH2[j+
T#a6X;9P
例如:+29.56,-56.33,-6.8e-18,6.365 !L)yI#i4C
说明: `+(4t4@ew
1. 浮点常数只有一种进制(十进制)。 EUS^Gtc
2. 所有浮点常数都被默认为double。 1-Q>[Uz,
3. 绝对值小于1的浮点数, 其小数点前面的零可以省略。如:0.22可写为.22,- ceAefKdb
0.0015E-3可写为-.0015E-3。 Ryn@">sVI
4. Turbo C默认格式输出浮点数时,最多只保留小数点后六位。 hA+;eXy/
M1I4Ot
2.3 字符型(char) 02C;
A+VzpJ~
^+Njz{rpG
加上不同的修饰符,可以定义有符号和无符号两种类型的字符型变量,例如: (, $Lp0mB7
char a:/*a被定义为有符号字符变量*/ n +dRAIqB
unsigned char l;/*l被定义为无符号字符变量*/ B RtT 7
字符在计算机中以其ASCII码方式表示,其长度为1个字节,有符号字符型数取值 xLw[
aYy4
范围为-128~127,无符号字符型数到值范围是0~255。因此在Turbo C语言中,字符型 vqo ~?9z[e
数据在操作时将按整型数处理,如果某个变量定义成char,则表明该变量是有符号的, rLcXo%w
即它将转换成有符号的整型数。 |UN#utw{^Y
Turbo C中规定对ASCII码值大于0x80的字符将被认为是负数。例如ASCII 值为 (qDJgf4fgn
0x8c的字符,定义成char时,被转换成十六进制的整数0xff8c 。这是因当ASCII码值 p<&d