【答案】A
【例2】(2001年4月) 以下只有在使用时才为该类型变量分配内存的存储类说明是( )。
A. auto和 static B. auto和 register
C. register和 static D. extern和 register
【答案】B
根据C 语言的规定,auto和register在C语言程序中当它们被用到时才会分配内存,在它们声明时并不占用内存空间的。
【例3】(2002年4月)以下选项中不属于C语言类型的是( )。
A. signed short int B. unsigned long int
C. unsigned int D. long short
【答案】D
【例4】(2002年9月)以下选项中合法的实型常数是( )。
A. 5E2.0 B. E-3 C. 2E0 D. 1.3E
【答案】C
【例5】(2002年9月)已知大写字母A的ASCII码的值是65,小写字母a的ASCII码是97,则用八进制表示字符常量‘\101’是( )。
A. 字符A B. 字符a C. 字符e D. 非法的常量
【答案】A
本题中101的八进制在十进制表示则是65,也就是A的ASCII码值。
【例6】(2002年9月)C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是( )。
A. void B. int C. float D. double
【答案】B
【例7】(2003年9月)以下选项中可作为C语言合法整数的是( )。
A. 10110B B. 0386 C. 0Xffa D. x2a2
【答案】C
【例8】(2003年9月)已定义c为字符变量,则下列语句中正确的是( )。
A. c=‘97’ B. c=“97” C. c=97 D. c=“a”
【答案】C
【例9】(2004年4月)以下符合C语言语法的实型常量是( )。
A. 1.2E0.5 B. 3.14159E C. 5E-3 D. E15
【答案】C
【例10】(2002年4月) 设有以下变量定义,并已赋确定的值
char w; int x; float y; double z;
则表达式:w*x+z-y所求得的数据类型为 。
【答案】double
【考点解析】当不同数据类型一起运算时,如果有精度大的数据类型参加时,结果会上最后会以精度大的,这样能保持数据的精度。
3.2运算符
【例1】(2000年4月) 设有 int x=11; 则表达式 (x++*1/3) 的值是( )。
A. 3 B. 4 C. 11 D. 12
【答案】A
【考点解析】在题目中,有三个运算符,其中“/”可以把1/3看成一个整体,也就是一个数,那么根据运算符优先级知道,++的优先级比*高,那么先运行++,再运行*,最后结果是3。