如何给变量取名字c语⾔,C语⾔基础教程:变量的名字、类型
和值
变量的名字
C语⾔中,要求对程序中所有的变量都须”先定义,后使⽤”.定义或说明⼀个变量时,要给出该变量的名字。变量名字的起法同前⾯讲过的标识祠污。变量名⼀般⽤⼩写字母,也可以⽤⼤写字母或⼤写⼩写字母混⽤。给变量起名时应尽量考虑勤在。名字中体现出该变量的含义或使⽤⽬的,以便提⾼可读性。变量名不要同系统的关键字相同,变量名的长度按标识符的规定,有些微机系统只识别前8个字符,多余的不能被识别。本教程中的⼀些例⼦,为了简明,变量名只⽤了⼀个字符,⽽在实际应⽤程序中的变量名还应能做到”见名知意”为好。例如,下列的变量名都反映了⼀定的含义,它们是合法的变量名:
taunt,size_of_number,sutra, area等。
在实际程序中,如果使⽤了没有被定义或说明的变量名时,在编译中会出现报错信息。这样可以保证程序中变量名使⽤正确,从⽽避免了⽤户将变量名写错。
变量的类型
在定义或说明变量时,除了指出该变量的名字外,还要指出该变量的类型。每⼀个变量被指定为⼀个确定的类型,编译时系统便可为该变量分配相应的内存单元,内存单元的分配与类型有关。例如,在⼀般16位微机中,int型变量被分配给2个字节的内存空间,⽽double型变量则应分配给8个字节的内存空间。另外,变量被指定类型后,编译时便可根据其类型来检查该变量所进⾏的运算是否合法,如果发现有不合法之处,应及时报错。例如,
float a. b, c;
c=a%b,
这时编译系统将会指出float型变量不可做求余数(%)的运算。
C语⾔中变量类型⼗分丰富,它不仅有基本数据类型,还有构造数据类型。在每⼀类中⼜包括了若⼲种不同类型。
1.基本数据类型
基本数据类型包括:整型、浮。fit型和字符型。⽽整型⼜分为普通整型(简称整型)、长整型和短整型三种。浮点型⼜分为单精度浮点型和双精度浮点型两种。整型和字符型⼜分为有符号和⽆符号两类。综上所述,C语⾔中基本数据类型的种类及其说明符号如图所⽰。
2.构适数据类型
构造数据类型是指由若⼲个相同的或不同的基本数据类型变量按不同规律组合构造⽽成的。例如,数组是⼀个简单的构造数据类型,该数据类型是由数⽬固定类型相同的若⼲个变量有序的集合。数组在C语⾔中使⽤较多,后⾯将会详细讲解。
除数组之外,C语⾔中构造数据类型还有结构、联合和枚举,它们将在”结构”、”联合和枚举”两章中讲述。
有的书中将指针作为⼀种类型,直接把指针看作⼀种特殊的变E-3进⾏讲解。
变量除了有数据类型以外,在C语⾔中还具有存储类,变量的存储类也分为⾃动的、寄存器的、外部的和静态的,关于变量存储类的详细讲述可见本朽。’函数和存储类”⼀章。这⾥不去介绍存储类。井规定在定义变童时,凡是在函数体内的不加存储类说明的都为⾃动类的。下⾯只讨论数据类型。定义或
说明变量的数据类型的格式如下:
(数据类型)(变量名表)
(变量名表)是由相同类型的若⼲个变量名组成、多个变量名之间⽤逗号分隔。(数据类型)是类型说明符,⽤来指出所定义的变量的类型。
下⾯使⽤基本数据类型定义确些变量。例如,
int a,b .c:
定义或说明a,b和C三个变量是整型的。
float x,y;
定义或说明x和Y两个变量是单精度浮点型变量
doubke m,n;
定义或说明m和n两个变量是双精度浮点型变量。
char d .e,f:
定义或说明d,e和f三个变晕是字符型变量。
long,u;
定义或说明p和q是两个长整型变量
unsigned u.v;
定义或说明u和v是两个⽆符号整型变量等等。
上述说咀语句中,使⽤类型说明符来定义,⼽说明⼀个或多个相同类型的变量,多个变量⽤逗号分隔。
关⼲构造数据类型变量的定义或说明将在以后章节中介绍。
变量的值
个变量在使⽤之前必须先定义或说明,系统给它们分配⼀定的存储单元。接着要给变量赋值或者赋初值。具有确定值的变量才能在表达式中使⽤⼝有些变量虽然被定义了,如果没有被赋值或被赋初值,则是⽆意义的,即不可使⽤。
在C语⾔中,赋值和赋初值尽管都可以使变缎获取数据,但它们不是⼀回事。赋值是将⼀个数值送给⼀个变量,改变这个变量已有的值为所送给的值,于是变量将具有该值,直到下次被再赋值为⽌。赋值是使⽤赋值表达式进⾏的。赋初值是在定义或说明变量时,将⼀个数值送给变量的,使变量被定义后便有了该值,直到被改变为⽌。赋初值是在编译时执⾏的,⽽赋值是在运⾏时实现的,两者所占⽤的机器的时间不同。例如。
Int a=5,b⼀8;
这是在定义a和b为int型变量的同时。便给a赋初值为a.给b赋初值为8.这是属于赋初值。⼜例如,
int a .b}
a=5;
B=8;
这是先定义了a和b两个变量,都是int型的,定义时并没有给赋初值。接着,使⽤了两个赋值表达式语句给变量a赋值为5,给变量b赋值为80
浮点型变量float不同类型的变量要赋给与变量类型相对应的值。例如,
char c;
float d;
C=’a’;
D=5. 26;
因为变量c是char型的,因此,赋给⼀个字符’a’;⽽变量d是浮点型的,因此,赋给⼀个实数,这是正确的。如果所赋的值与变量类型不⼀致时,系统将进⾏转换,其原则是将所赋的值转换成被赋变量的类型。
给变量所赋的值是有⼀定范围的,这⼀范围的⼤⼩是由机器和变量类型决定的,在同⼀台机器上不同类型变量的取值范围是不同的。下⾯给出表2–2,它表⽰出在⼀台ABM PC机(16位)上不同数据类型所占的字节数(⼀个字节8位)和取值范围。
在实际程序中,⼀个变量值超出它所对应的数据范围,就将产⽣溢出,溢出的数据是没有的。在编写程序时,要防⽌其结果产⽣溢出。
在IBM PC的16位微机中,单精度浮点数占4个字节(32位),可提供r位有效数字,取值范围可在10-38–10-38之间。双精度浮点数占8个字节(64位),可提供15-16位有效数字,其取值范围约为10-308-10-308.可见,float类型和double类型的变量都是⽤来存放浮点数的,其区别在于double型所存放数值的有效位数⽐float型的要⾼⼀些。例如,
double x;
x=12345. 67$9
由于x是double型的,它可接收9位数字并存放在、中。如果将x定义为float型的,这时x只能接收7位有效数字,则最后两位⼩数将不起作⽤。
例:变量的定义和赋值。
main ( )
{
int a;
char c=’B’ ,= bell= ‘\007’;
float x=3. 25;
s⼀65:
printf (”%c,%c\n”,c,c-1)
printf (”%d,%c,%c\n” ,c,a,bell);
printf (”%2f,%f\n”,x,x⼗x);
}
该程序执⾏后,输出结果如下:
B, A
66,A,(鸣铃)
3. 25,6. 500c00

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。