深入剖析常量和变量

技术与开发

语言类型:C语言

上手难度:★★

考试类型:计算机二级

题目:以下选项中可作为C语言合法常量的是。[2005年4月C语言第12题]

A)-80. B)-080

C)-8e1.0 D)-80.0e

答案:A

解析:实型常量由数字和小数点组成,必须有小数点,因此A是合法的实型常量;以0开头的数是八进制数,在新标准中不允许用8和9,因此B是不合法的八进制整数;实型常量的指数形式必须符合两个条件:1、字母e(或者E)之前必须有数字,2、e后面指数必须为整数,因此C和D都是不合法的实型常量。

在历年的考试题中,常量和变量作为送分题都会出现,而且出现的方式灵活多样。对这种送分题大家千万不能掉以轻心,如果我们对常量和变量的理解没有到位就不能正确解答试题。下面我们一起来深入剖析常量和变量。

一、剖析常量

1.熟知常量类型

C语言整型常量用以下三种形式表示:

十进制整数:如123、-456、0。

八进制整数:以0开头的数是八进制数,在新标准中不允许用8和9。如0123、-011。

十六进制整数:以0x开头的数是十六进制数,不允许出现F以后的字母。如0x23、-0x12。

C语言实型常量用以下两种形式表示:

十进制数形式:由数字和小数点组成,必须有小数点。如.123、123.、0.0。

指数形式:字母e(或者E)之前必须有数字,而且e后面指数必须为整数。如:123e3。

C语言字符常量是用单引号括起来的一个字符,特别注意转义字符的应用。

2.字符常量和字符串常量的区别

字符常量必须有一个字符,字符串常量可以是0个字符,也就是说字符常量的内存分配是1个字节,而字符串常量则是变化的,根据赋值的具体情况而定。比如:char c;c="a",这就混淆了字符常量与字符串常量,字符常量是由一对单引号括起来的单个字符,字符串常量是一对双引号括起来的字符序列。

C规定以''\0''作字符串结束标志,它是由系统自动加上的,所以字符串“a”实际上包含两个字符:'a'和'\0',占用了两个字节,而把它赋给一个字符变量是不行的。

二、剖析变量

1.注意变量名的合法性

C语言规定变量名只能由字母、数字、下划线三种字符组成,且第一个字符必须为字母或者下划线。

2.字母大小写的不同含义

例如char a;int A; 这句代码中,a被定义为字符变量,A被定义为整型变量。

3.掌握变量的作用域

主函数中定义的变量只在主函数中有效;在一个函数内部中,可以在{}中定义变量,这些变量只在{}中有效。

复习题

请写出下题的结果:

main()

{char a,b,c,d;

a='\#';b='#';c='\n';d='n';

printf("a=%c,b=%c,c=%c,d=%c\n",a,b,c,d);

}

读者反馈

读者 王符:请下介绍一下2008年计算机等级考试(二级)的考试形式。

小编:二级所有科目的考试仍包括笔试和上机考试两部分。二级C笔试时间由120分钟改为90分钟,上机时间由60分钟改为90分钟。所有二级科目的笔试时间统一为90分钟,上机时间统一为90分钟。