全国计算机等级考试《二级C语言程序设计》专用教材【考纲分析+考点精讲+真题演练+强化习题】
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.2 标识符、常量和变量

【考点1】标识符

(1)合法标识符命名规则

标识符可以由字母、数字和下划线组成,且第一个字符必须为字母或下划线。C语言程序严格区分大小写。不同C语言编译系统规定的标识符有效长度不同,超过的字符将不被识别。

(2)标识符的分类

关键字

关键字是指C语言中预先规定的一批标识符,在程序中代表着固定的含义,不能另作他用。常见的关键字有int、double、if、else等。

预定义标识符

预定义标识符是指在C语言中预先定义并具有特定含义的标识符,允许把这类标识符重新定义作他用,但会失去预先定义的原意,一般作为固定的库函数名或预处理中的专门命令使用,一般不把这些预定义标识符另作他用。常见的有printf、define等。

用户标识符

用户根据需要自定义的标识符称为用户标识符,一般用来给变量、函数、数组等命名,在程序中所有自定义的标识符必须遵循合法标识符的命名规则,同时应尽量做到“见名知义”。定义的标识符不能与关键字相同,否则会报错;不能与预定义标识符相同,否则会使预定义标识符失去原有意义。

【真题演练】

1阅读以下程序:

#include <stdio.h>
main()
{
  int case;
  float printF;
  printf("请输入2个数:");
  scanf("%d %f",&case,&printF);
  printf("%d %f\n",case,printF);
}

该程序编译时产生错误,其出错原因是(  )。[2014年9月真题]

A.定义语句出错,case是关键字,不能用作用户自定义标识符

B.定义语句出错,printF不能用作用户自定义标识符

C.定义语句无错,scanf不能作为输入函数使用

D.定义语句无错,printf不能输出case的值

【答案】A

【解析】在C语言中,关键字又称保留字,它是系统预先定义的,具有特定含义的标识符,故不允许用户重新定义。case为C语言中的关键字,因此用户不能再定义标识符为case的变量。答案选择A选项。

2关于C语言标识符,以下叙述错误的是(  )。[2015年3月真题]

A.标识符可全部由数字组成

B.标识符可全部由下划线组成

C.标识符可全部由小写字母组成

D.标识符可全部由大写字母组成

【答案】A

【解析】C语言标识符只能由字母、数字、下划线构成,且只能以字母、下划线开头,答案选择A选项。

3以下选项中,能用作用户标识符的是(  )。[2014年9月真题]

A.void

B.8_8

C._0_

D.unsigned

【答案】C

【解析】标识符是由若干个字符组成的字符序列,用来命名程序的一些实体。C语言定义标识符应遵循以下六种规则:标识符由字母、数字或下划线组成;第一个字符必须是字母或下划线;标识符最多由274个字符组成;在标识符中严格区分大小写字母;关键字不能作为自定义的标识符在程序中使用。A、D项皆为C语言的关键字,B项第一个字符为数字,错误。答案选择C选项。

【考点2】常量

(1)定义:常量是指在程序运行过程中,其值不能被改变的量。

(2)常量的分类:

整型常量

a.短整型常量

b.长整型常量

整型常量是不带小数点的数字。

实型常量

必须用带小数点的数表示。整型常量和实型常量又称数值型常量,有正负值之分。

字符常量

用单引号括起来的单个普通字符或转义字符。

字符串常量

用一对双引号括起来的字符序列。

【真题演练】

1C语言中,最基本的数据类型包括(  )。[2015年3月真题]

A.整型、实型、逻辑型

B.整型、字符型、数组

C.整型、实型、字符型

D.整型、实型、结构体

【答案】C

【解析】C语言中,最基本的数据类型包括整型、实型、字符型,答案选择C选项。

【考点3】符号常量

在C语言程序中,可以用一个符号名来代表一个常量,称为符号常量。这个符号名必须使用#define命令行进行指定,并符合标识符的命名规则。#define命令行的最后不得加分号。

【考点4】变量

变量是指在程序运行过程中其值可以改变的量。所有的变量必须有一个名字作为标识,变量的名字由用户自定义且必须符合标识符的命名规则。一个变量实质上代表了内存中的某个存储单元,所有变量必须先定义后使用,变量也有整型、实型、字符型等不同类型,在定义同时说明其类型,系统在编译时根据其类型分配相应存储单元。