分类: 嵌入式
2009-12-19 09:05:39
1.1 选择题
(1)C语言中最简单的数据类型包括____。(b)
a. 整型 实型 逻辑型
b. 整型 实型 字符型
c. 整型 字符型 逻辑型
d. 整型 实型 逻辑型 字符型
(2)下面符合要求的位段定义是____。(b)
要求:
1. a有两位 2. b有两位 3. c有两位 4. d有四位
a. struct bitfields1
{
unsigned a, b, c:2;
unsigned d:4;
}
b. struct bitfields2
{
unsigned a:2, b:2;
unsigned c:2, d:4;
}
c. struct bitfields3
{
unsigned a, b, c:6;
unsigned d:4;
}
d. struct bitfields4
{
unsigned a, b:4;
unsigned c, d:6;
}
(3)下面关于枚举类型的说法正确的是_____。(b.c.d)
a. 可以为枚举元素赋值;
b. 枚举元素可以进行比较;
c. 枚举元素的值可以在类型定义时指定;
d. 枚举元素可以作为常量使用。
(4)下面关于结构类型的说法正确的是____。(a.b.d)
a. 对于结构变量,可以通过运算符"."或"->",逐个访问其成员;
b. 结构变量和结构变量成员的地址都可以被引用;
c. 如果指针变量p已指向某结构数组,则p+1指向当前元素的下一个成员;
d. 如果指针变量p已经指向一个结构变量(或结构数组),就不能再使之指向结构变量(或结构数组元素)的某一成员。
(5)设有语句char a = '\72';则变量a____。(a)
a. 包含1个字符
b. 包含2个字符
c. 包含3个字符
d. 说明不合法
(6)下面关于结构类型的说法正确的是____。(a.b.c.d)
a. 结构初始化时,每个成员的值用逗号隔开,可以只对部分成员赋初值;
b. 数组元素的类型可以是结构,结构成员类型也可以是数组;
c. 结构变量、结构地址和结构成员都可以作为函数参数使用;
d. 结构可以嵌套。
(7)下面关于结构类型的说法正确的是_____。(b.c.d)
a. 结构是一种复合数据类型,其构成元素既只能是基本数据类型(如int、long、float等)的变量;
b. 缺省条件下,编译器为结构的每个成员按其自然对界(alignment)条件分配空间;
c. 结构成员按照它们被声明的顺序在内存中顺序存储;
d. 结构第一个成员的地址和整个结构的地址相同。
(8)下面关于枚举类型的说法正确的是______。(a.b.c)
a. 枚举值是常量,不能在程序中用赋值语句再对它赋值;
b. 只能把枚举值赋予枚举变量,不能把元素的数值直接赋予枚举变量;
c. 把数值直接赋予枚举变量最好用强制类型转换;
d. 枚举元素不是字符常量而是字符串常量。
(9)下面关于联合类型说法正确的是______。(a.b.c.d)
a. 对联合变量的赋值、使用都只能是对变量的成员进行。
b. 联合变量的成员表示为: 联合变量名.成员名
c. 可以对联合变量作初始化赋值。
d. 一个联合变量,每次只能赋予一个成员值。
(10)合法的长整型常数是_____。(a)
a. OL b. 4962710 c. 324562& d. 216D
( 11)在C语言中, char型数据在内存中的存储形式是_____。(a)
a. 补码 b. 反码 c. 原码 d. ASCII码
(12)设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为______。(c)
a. 0~255 b. 0~32767 c. 0~65535 d. 0~2147483647
(13)已知ch是字符型变量,下面不正确的赋值语句是____。(a)
a. ch='a+b'; b. ch='\0'; c. ch='7'+'9'; d. ch=5+9;
(14)已知ch是字符型变量,下面正确的赋值语句是____。(b)
a. ch= '123'; b. ch= '\xff'; c. ch= '\08'; d. ch="\";
(15)以下选项中不正确的整型常量是_____。(c)
a. 12L b. -10 c. 1,900 d. 123U
(16)_____是不正确的字符常量。(c.d)
a. 'n' b. '1' c. "a" d. '101'
(17)假设int型变量占两个字节的存储单元,若有定义:
int x[10]={0,2,4};
则数组x在内存中所占字节数为______。(d)
a. 3 b. 6 c. 10 d. 20
(18)C语言中能用八进制表示的数据类型为_____。(a)
a. 字符型、整型 b. 整形、实型
c. 字符型、实型、双精度型 d. 字符型、整型、实型、双精度型
(19)以下只有在使用时才为该类型变量分配内存的存储类说明是____。(b)
a. auto和static b. auto和register
c. register和static d. extern和register
(20)下面四个选项中,均是合法整型常量的选项是____。(a)
a. 160 b. 0xcdf c. 01 d. 0x48a
0xffff 01a 986,012 2e5
011 0xe 0668 0x
(21)下面四个选项中,均是不合法的整型常量的选项是____。(d)
a. 0f1 b. 0Xcdf c. 018 d. 0x48eg
0xffff 017 999 068
0011 12,456 5e2 03f
(22)下面四个选项中,均是不合法的浮点数的选项是____。(b)
a. 160. b. 123 c. 18 d. e3
0.12 2e4.2 123e4 .234
e3 .e5 0.0 1e3
(23)下面四个选项中,均是合法浮点数的选项是____。(b)
a. +le+1 b. 60. c. 123e d. e3
5e-9.4 12e-4 1.2e-.4 .8e4
03e2 8e5 +2e 5.e
(24)下面四个选项中,均是合法转义字符的选项是____。(a)
a. '\'' b. '\' c. '\018' d. '\\0'
'\\' '\017' '\f' '101'
'\n' '\"' 'xab' 'xlf'
(25)下面四个选项中,均是不合法的转义字符的选项是____。(d)
a. '\'' b. '\1011' c. '\011' d. '\abc'
'\\' '\' '\f' '\1011'
'\xf' '\a' '\}' 'xlf'
(26)下面正确的字符常量是____。(c)
a. "a" b. '\\'' c. 'W' d. ''
(27)下面四个选项中,均是不正确的八进制数或十六进制数的选项是____。(d)
a. 016 b. oabc c. 010 d. 0a12
0x8f 017 -0x11 7ff
018 0x8 0x16 -123
(28)下面四个选项中、均是正确的数值常量或字符常量的选项是____。(d)
a. 0.0 b. "a" c.'3' d. 001
0f 3.9E-2.5 011 0xabcd
8.9e lel 0xFFOO 2e2
'&' '\''' 0a 50.
(29)以下所列的C语言常量中,错误的是_____。(b)
a. 0xFF b. 1.2e0.5 c. 2L d. '\72'
(30)下面四个选项中,均是非法常量的选项是______。(a)
a.'as' b.'\\' c. -0xl8 d. 0xabc
-0fff '\01' 01177 '\0'
'\0xa' 12,456 0xf"a"
(31)下面关于volatile变量的说法正确的是_______。(a.b.c)
a. 并行设备的硬件寄存器(如:状态寄存器);
b. 一个中断服务子程序中会访问到的非自动变量(也就是全局变量);
c. 会被几个任务共享的变量;
d. 定时器变量。
答案:
1(b)
2(b)
3(b.c.d)
4(a.b.d)
5(a)
6(a.b.c.d)
7(b.c.d)
8(a.b.c)
9(a.b.c.d)
10(a)
11(a)
12(c)
13(a)
14(b)
15(c)
16(c.d)
17(d)
18(a)
19(b)
20(a)
21(d)
22(b)
23(b)
24(a)
25(d)
26(c)
27(d)
28(d)
29(b)
30(a)
31(a.b.c)