在第六章我们大概了解了程序的基本结构为:
#include <stdio.h>
int main()
{
return 0;
}
或者是:
#include <iostream.h>
int main()
{
return 0;
}
以上两种分别为C和C++的基本格式,知道基本格式后,今天我们就学习函数的类型。
从低学起,我们先了解一下函数的变量。
变量:
什么是变量?一句话,变量是存储数据的值的空间。由于数值的类型有多种,有整数、小数(浮点数)、字符等等,那么对应的变量就有整型变量、浮点型变量、字符型变量。变量还有其他的具体分类。整型变量还可具体分为无符号型、长整型和短整型。浮点型也可分为单精度型、双精度型和长双精度型。此外还可以分为静态变量、外部变量、寄存器变量和自动存储变量。这些数据类型我们在本节和后面的章节中都会陆陆续续介绍。 那么变量我们总要给它取个名字吧,这个名字我们叫做标识符。 标识符的命名有一定的规则: (1).标识符只能由字母、数字和下划线三类字符组成 (2).第一个字符必须是字母(第一个字符也可以是下划线,但被视作系统自定义的标识符) (3).大写字母和小写字母被认为是两个不同的字符,如A和a是两个不同的标识符 (4).标识符可以任意长,但只有前32位有效。有些旧的C版本对外部标识符的限制为6位。这是由于链接程序的限制所总成的,而不是C语言本身的局限性 (5).标识符不能是C的关键字 2.从上面的规则中,有个关键字的概念。那么什么叫关键字呢? 从表面字意上也可以看出,关键字是C语言本身某些特性的一个表示,是唯一的代表某一个意思的。 下面列出ANSI标准定义的32个C语言的关键字,这些关键字在以后的学习中基本上都会用到,到时再说它们的各自用法。 auto,break,case,char,const,continue,default do,double,else,enum,extern,float,for,goto,if,int,long,register,return,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile,while。C语言还包括一些不能用做标识符的扩展关键字。 asm,cdecl,_cs,_ds,_es,far ,huge,interrupt,near,pascal _ss 所以在以后的学习中,在给变量命名时要避开这些关键字。
int整型变量:
C 语言提供了很多整数类型(整型),这些整型的区别在于它们的取值范围的大小,以及是否可以为负。int是整型之一,一般被称为整型。以后,在不产生歧义的情况下,我们把整数类型和int都称为整型。
Turbo C2.0规定所有变量在使用前都必须加以说明。一条变量说明语句由数据类型和其后的一个或多个变量名组成。变量说明的形式如下: 类型 <变量表>; 这里类型是指Turbo C2.0的有效数据类型。变量表是一个或多个标识符名,每个标识符之间用逗号(,)分隔。
int代表有符号整数,也就是说,用int声明的变量可以是正数,可以是负数,也可以是零,但是只能是整数。标准规定int的最小取值范围是 -32767 到 32767。int的取值范围因机器而异,但是一定要大于或者等于 -32767 到 32767。一般来说,int占用一个字的内存空间。因此,字长为 16 位(Bit)的旧式 IBM 兼容机使用 16 位来储存整型int,取值范围是-32768 到 32767 。目前的个人电脑一般都是 32 位字长的,这些电脑中,int一般也是 32 位的,取值范围是-2147483648 到 2147483647。对于使用 64 位 CPU 的电脑,使用更多位储存int也是很自然的事情,取值范围当然也会更大。
声明int类型的变量
正如我们在以前的教程里看到的那样,int用于声明整型变量:以int打头,后面跟着变量的名字,最后以分号(;)结束。
下面是一个例子:
#include <stdio.h>
int main()
{
int a;
return 0;
}
以上代码定义了一个整型变量a,a为整型变量的一个说明符,通俗地说,可以理解为有一个整形的变量,它的名字叫a。
每个变量都会有属于自己的名字,就像人一样,变量可以用来储存数据,例如:
#include <stdio.h>
int main()
{
int a=0;
return 0;
}
以上代码的含义为,定义了一个变量a赋值为0,它与数学上的a=0大概是一样的,这只是作为新手去理解,正确的用语是把0赋值给整型变量a。
我们再来看看以下代码:
#include <stdio.h>
int main()
{
int a=0;
a=a+1;
return 0;
}
以上的代码含义为,首先定义一个整型变量a,把0赋值给a,a=0;然后我们又把a加上1再赋值会给a。这看起来很矛盾,通俗的理解,可以认为是,原来a是等于0的,然后把a加上1,之后a就等于1了。
我们使用C++基本格式来输出一下a的值:
#include <iostream.h>
int main()
{int a=0;
a=a+1;
cout<<a;
return 0;
}
输入以上代码,编译运行后发现屏幕开头第一个数字输出结果为1,也就说,a的值经过加1之后便变了1。
同样我们也可以这样写:
#include <iostream.h>
int main()
{int a;
a=0;
a=a+1;
cout<<a;
return 0;
}
以上代码输出的结果同样是1,首先定义一个整型变量a,然后把0赋值给a,然后再把a加上1,最后输出a。
同样我们也可以这样写:
#include <iostream.h>
int main()
{
int a=0;
int b=1;
int c=a+b;
cout<<c;
return 0;
}
以上代码定义了三个整形变量,分别为a,b,c三个。首先分别赋值为a=0,b=1,然后再把定义c的值为a与b的和,最后边运行得结果同样为1。
正就是整型变量的用法和定义,看起来非常简单,就像是低等的数学一样。
我们定义的时候可以用逗号(,)隔开,例如:
#include <iostream.h>
int main()
{
int a,b,c;
a=0;
b=1;
c=a+b;
cout<<c;
return 0;
}
这样我们就加快了写代码的速度,更方便快捷,首先第一三个整型变量a,b,c,然后分别给a和b赋值为0和!,然后把a和b的值相加再赋值给c。
我们来看看一下几个代码:
#include <iostream.h>
int main()
{
int a,b,c;
a=0;
b=a;
c=a+b;
cout<<c;
return 0;
}
输出值为0;
#include <iostream.h>
int main()
{
int a,b,c;
a=1;
b=a;
c=a+b+1;
cout<<c;
return 0;
}
输出值为3,上面的代码同样是把a的值赋给b,使得a和b的值相等,这样a等于几,b就等于几,最后对c进行运算得出结果,以上程序都说明了,程序是由上往下执行的,这也是不可逆转的。