C/C++程序设计教程
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.5.2 C/C++程序的基本构成

1.标识符

标识符用来给程序中的常量、变量、函数、文件指针和数据类型等命名。如例 1.3 中的area和r就是标识符,这种标识符称为(用户)自定义标识符。其构成规则如下:

① 由字母、数字、下画线组成;且第1个字符不能是数字,必须是字母或下画线。

② 标识符中的大、小写字母的含义不同,即temp,Temp和TEMP是3个不同的标识符。通常变量用小写字母,符号常量用大写字母。

③ ANSI C和标准C++的标识符的有效长度是1~31个字符,Visual C++标识符的有效长度为1~247个字符,而Turbo C 2.0编译系统只能识别前8个字符。

④ 用户自定义标识符时,应当尽量遵循“见名知意”和“简洁明了”的原则,且不能与关键字相同。

2.关键字

例1.3中的float和int是另一种标识符,在C语言中称为关键字或保留标识符。它是C语言中已预先定义,且具有特定含义的标识符。ANSI C标准共有32个关键字,如表1.1所示。所有关键字都用小写英文字母表示,且这些关键字不允许用作用户标识符。

还有一种标识符,如预编译处理命令(如define)、库函数的名字(如printf)等称为预定义标识符。用户如果把这些标识符另作它用,这些标识符就将失去预先定义的原意。因此,在使用时要加以注意。

表1.1 关键字

3.运算符

例1.3中的=、*、&是C语言中的运算符。

运算符是用来表示某种运算的符号,其中有的由一个字符组成,例如 +、-、*、/ 等;有的由多个字符组成,例如<=、<<、&&、!= 等。C语言的运算符主要有以下几类:

① 算术运算符 (+ - * / %)

② 关系运算符 (> < == >= <= !=)

③ 逻辑运算符 (! && || )

④ 位运算符 (<< >> ~ | ^ &)

⑤ 赋值运算符 (= 及其扩展赋值运算符)

⑥ 条件运算符 (? :)

⑦ 逗号运算符 (,)

⑧ 指针运算符 (* 和 &)

⑨ 求字节数运算符 (sizeof)

⑩ 强制类型转换运算符 ((类型))

⑪分量运算符 (. ->)

⑫下标运算符 ([ ])

有些运算符具有双重含义,例如“%”可以作为求余运算符;但是,当它出现在输入、输出函数中时,就是“格式控制符”了。

上述运算符的应用将在第2 章中介绍。C++除了具有上述运算符以外,还具有更加丰富的其他运算符,这里不作介绍,读者可参考C++的书籍。

4.常量和变量

常量是指在程序运行过程中不会改变的量。常量分为整型常量、实型常量和字符型常量。例如5,-34是整型常量,2.3,-15.0是实型常量,' a ' 为字符常量。

变量是指在程序运行过程中其值可以改变的量。例如源程序1-3.C中的area和r。每个变量都有名字和类型,系统根据变量的类型为其分配相应的内存单元。例如,Turbo C 2.0系统为整型(int型)变量分配2个字节的内存单元,为实型(float型)变量分配4个字节的内存单元,为字符型(char型)的变量分配1个字节的内存单元。内存单元中存放的是变量的值。程序执行过程中对数据的读、写是通过变量名找到与其对应的内存单元来实现的。

提示

C语言规定:所有变量都必须“先定义(说明变量的名字和数据类型),后使用”。任何一个未经定义就使用的变量都会被C语言的编译程序认为是非法变量,引起如下编译错:

Undefined symbol 'xxxxxx'

5.函数

例1.3程序中的printf()和scanf()是C语言的库函数中为用户提供的输出函数和输入函数。C语言中的函数分为:系统提供的库函数和用户自定义函数。对于库函数,用户可以直接调用;用户自定义函数是用户用以解决专门问题所定义的函数(参见第6章)。

【例1.4】 从键盘上输入两个整数,求其中的较大数。

源程序1-4.C

1  #include<stdio.h>
2  void main()
3  {
4   int x,y,z;
5   printf("输入两个整数:");     /* 提示输入 */
6   scanf("%d%d",&x,&y);       /* 输入两个整数 */
7   z=max(x,y);               /* 调用求较大数函数max()*/
8   printf("max=%d",z);         /* 输出较大数 */
9  }
10  int max(int x,int y)           /* 自定义求较大数函数max()*/
11  {
12   return(x>y?x:y);           /* 返回较大数 */
13  }

程序运行实例如下:

输入两个整数:34 89↙
max=89

上面程序由两个函数组成:main()和max()。其中max()是自定义函数,用于求两个数中的较大数。通过main()函数调用max()函数,由max()函数返回较大数。程序从main()函数开始执行,执行到第7行函数调用处,转去第10行执行被调用函数max();max()函数执行完后,再返回到主函数的第7行,将较大数赋给变量z,继续执行函数调用后面的语句行。